ryu-manager 的 --observe-links 选项在开关上生成 'Unknown version (0x04)'

ryu-manager's --observe-links option generates 'Unknown version (0x04)' on switches

我正在尝试使用 1 个 Ryu 控制器和 3 个 OpenvSwitch 数据路径配置 SDN。 这是我在数据路径上 运行 让它们与控制器通信的代码:

ovs-vsctl set bridge br0 protocols=[OpenFlow13]
ovs-vsctl set-controller br0 tcp:192.168.100.1:6633

然后尝试通过 HTTP/REST 我 运行 在控制器上获取网络拓扑:

ryu-manager --observe-links /path-to-apps/rest_topology.py

运行 tcpdump 在任何一个开关上我读到这样的错误:

version unknown (0x04), type 0x03, length 8, xid 0x0000000 09:56:34.645491 IP 192.168.100.1.6633 > 192.168.100.2.53550: Flags [P.], seq 1:9, ack 8, win 235, options [nop,nop,TS val 2070367608 ecr 1308752524], lenght 8: OpenFlow

(我 运行,甚至 "simple_switch_13.py" 的每个 ryu 应用程序都会收到此错误)

我尝试删除线 ovs-vsctl set bridge br0 protocols[OpenFlow13] 但它不起作用:开关根本没有连接到控制器。

有什么建议吗? 谢谢

版本未知意味着tcpdump工具不知道“0x04”是哪个协议。 这是一个制作精良的数据包,没有错误! 因此,如果您想知道 0x04 是什么,请尝试使用 Wireshark 或更完整的软件。 结果是OpenFlow协议包。