如何将 Pox 与我的程序绑定
How to bind Pox with my program
我有一个小的 python 程序,它就像一个虚拟开关。现在我想整合它,让它可以被一个openflow controller POX控制。
我想知道如何在 switch 和 POX 之间交换消息?我是否创建一个套接字并将其绑定到端口 6633(默认端口 POX 运行)并使用该套接字发送所有进一步的开放流数据包?我怎么会"connect"长痘
我需要发送哪些数据包来建立和维持连接?我收到
INFO:openflow.of_01:[None 1] closed
INFO:openflow.of_01:[None 2] closed
...
每次我发送一个开放流数据包。
如何在不配置控制器的情况下测试我的交换机? (假设我有几个开关连接到一个控制器,我希望它们可以相互通信)。
除非另有说明,否则 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
.
我有一个小的 python 程序,它就像一个虚拟开关。现在我想整合它,让它可以被一个openflow controller POX控制。
我想知道如何在 switch 和 POX 之间交换消息?我是否创建一个套接字并将其绑定到端口 6633(默认端口 POX 运行)并使用该套接字发送所有进一步的开放流数据包?我怎么会"connect"长痘
我需要发送哪些数据包来建立和维持连接?我收到
INFO:openflow.of_01:[None 1] closed
INFO:openflow.of_01:[None 2] closed
...
每次我发送一个开放流数据包。如何在不配置控制器的情况下测试我的交换机? (假设我有几个开关连接到一个控制器,我希望它们可以相互通信)。
除非另有说明,否则 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
.