我怎样才能激活" STP使用OpenFlow和Ryu控制器禁用/阻止端口,所以我可以通过它转发数据包?

时间:2015-06-03 10:35:16

标签: openflow sdn stp ryu

我正在寻找使用OpenFlow 1.3协议在带有循环的拓扑中的SDN网络中发送数据包的方法。我选择的控制器是Ryu。要识别主机,我要捕获ARP数据包并避免使用STP进行暴风雨。

我的问题是,当我的路由算法计算的路径包含被STP阻止/禁用的端口时,连接无法完成(主机不能相互ping通)。

在思考之后我得出结论我需要激活"我的rounting路径上的禁用/阻止端口。但我无法找到任何办法。

现在问题是:我如何实现我的解决方案?有没有办法激活" Ryu的港口?或者如果我的解决方案无法实现,还有其他方法可以用来解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

要激活端口,请向交换机发送ofp_port_mod message

然而,这将有效地禁用STP,因为您正在打开可能属于循环的端口。

我认为更好的方法是让您的路由算法通过向交换机发送OFPMP_PORT_DESCRIPTION message并阅读config字段来检查端口是否已停用在回复中。然后,您可以将这些端口视为关闭并计算不同的路径(尽管我不知道在您的情况下这是否可行。)

话虽如此,如果我正确地阅读了openflow规范(第7.2.1节“端口结构”),您仍然可以通过BLOCKED端口进行路由,您只是无法通过它。这与DISABLED端口不同。