基于OVS优先级的主动流插入和路由

时间:2018-04-27 04:11:57

标签: sdn mininet openvswitch ryu

我为相同的源和目标对插入了两个具有不同优先级的活动和备份路径的流条目。即使发生链路故障,流也不会通过备份路径。可能内核空间并不关心端口状态。它只匹配流表并执行操作。 但我仍然有兴趣使用具有不同优先级的备份路径。我听说过OVS的快速故障组表。我不确定如何使用它来引导我的替代路径的流量。我可以在这种情况下得到任何帮助吗?或者是否有任何机制来刷新属于下行接口的流条目而不与控制器通信? 我使用的是Ryu 4.24,OVS 2.9.0和mininet。 在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

fast failure groups您可以解决您的问题。 假设您只想在端口1关闭时使用端口2,那么您将按如下方式配置Open vSwitch的网桥:

ovs-ofctl -O OpenFlow13 add-group br0 group_id=1,type=fast_failover,bucket=bucket_id=1,actions=output:2,watch_port=2,bucket=bucket_id=2,actions=output:3,watch_port=3
ovs-ofctl add-flow br0 priority=1,ip,nw_dst=10.0.0.1,actions=group:1

第一个命令创建一个类型为 fast_failover 的组1,其中包含2个存储区(即,到达该组的数据包有2个可能的目标)。存储桶1在端口2处于活动状态(watch_port=2)的情况下将数据包发送到端口2,而存储桶2将数据包发送到具有类似条件(watch_port=3)的端口3。一组类型 fast_failover 在其桶上进行迭代(按照您定义它们的顺序),直到找到一个是活动的。

第二个命令只是将具有10.0.0.1目标IP的数据包发送给该组。