我有一个小的python程序,就像一个虚拟开关。现在我想集成它,以便它可以由开放流控制器POX控制。
我想知道如何在交换机和POX之间交换消息?我是否创建套接字并将其绑定到端口6633(运行默认端口POX)并使用该套接字发送所有其他开放流数据包?我怎么能“连接”到痘。
我需要发送哪些数据包来构建和维护连接?我收到
INFO:openflow.of_01:[None 1] closed
INFO:openflow.of_01:[None 2] closed
...
每次我发送一个openflow数据包。
如何在不配置控制器的情况下测试我的交换机? (假设我有几个开关连接到一个控制器,我希望他们可以相互通信)。
答案 0 :(得分:0)
除非另有说明,否则POX正在TCP端口6633上运行(一旦运行,您可以在linux上查看netstat -tnlp | grep python
)。您需要从虚拟交换机打开一个套接字到该端口:
controllerIpAddr = "127.0.0.1"
controllerPort = "6633"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((controllerIpAddr, controllerPort))
然后将该套接字用于Openflow流量
我真的不明白这个问题但是如果你问如何在不配置OpenFlow的情况下测试你的交换机我推荐使用学习开关:./pox.py forwarding.l2_learning
。