def __init__ (self, io_worker, ofp_handlers): self.io_worker = io_worker self.io_worker.rx_handler = self.read self.error_handler = None ControllerConnection.ID += 1 self.ID = ControllerConnection.ID self.log = logging.getLogger("ControllerConnection(id=%d)" % self.ID) ## OpenFlow Message map self.ofp_msgs = make_type_to_class_table() ## Hash from ofp_type -> handler(packet) self.ofp_handlers = ofp_handlers
log.error("Exception on OpenFlow listener. Aborting.") break try: con.close() except: pass try: sockets.remove(con) except: pass log.debug("No longer listening for connections") #pox.core.quit() classes.extend(make_type_to_class_table()) handlers.extend([None] * (1 + sorted(handlerMap.keys(), reverse=True)[0])) for h in handlerMap: handlers[h] = handlerMap[h] #print handlerMap[h] def launch(port=6633, address="0.0.0.0"): if core.hasComponent('of_01'): return None l = OpenFlow_01_Task(port=int(port), address=address) core.register("of_01", l) return l
log.error("Exception on OpenFlow listener. Aborting.") break try: con.disconnect(True) except: pass try: sockets.remove(con) except: pass log.debug("No longer listening for connections") #pox.core.quit() classes.extend( make_type_to_class_table()) handlers.extend([None] * (1 + sorted(handlerMap.keys(), reverse=True)[0])) for h in handlerMap: handlers[h] = handlerMap[h] #print handlerMap[h] def launch (port = 6633, address = "0.0.0.0"): if core.hasComponent('of_01'): return None l = OpenFlow_01_Task(port = int(port), address = address) core.register("of_01", l) return l