OpenFlow交换机应将端口状态事件报告给控制器。假设您正在使用POX,请在SwitchHandler类中监听这些事件,例如:用这个代码来自 POX Wiki :
def _handle_PortStatus (self, event): if event.added: action = "added" elif event.deleted: action = "removed" else: action = "modified" print "Port %s on Switch %s has been %s." % (event.port, event.dpid, action)
您需要具有拓扑信息 - 哪个主机连接到哪个端口。 host_tracker应该给你。