def __init__(self, iface=None):
        """
        Init instantiate quite a lot of class attribute like
        ips, ports, datas etc..
        """
        Layer.__init__(self)
        self.data = []
        self.mutex = Lock()
        self.connectionID = None
        self.ipregex = re.compile("^(\d{1,3}.){3}.\d{1,3}$")
        self.interface = iface if iface else conf.route.route("0.0.0.0")[0]
        self.localIP = get_if_addr(self.interface)
        self.remoteIP = None
        self.localPort = random.randrange(0, (2**16) - 1)
        self.remotePort = None