如果Openflow交换机中的同一流程有多个转发规则,该怎么办?

lzh*_*008 5 pox openflow openvswitch sdn

我正在尝试使用POX控制器来控制流的路径。我知道Open vSwitch将选择优先级最高的转发规则。但是,如果我为具有相同优先级的现有流插入新的转发规则,将会发生什么。Open vSwitch是否会随机选择一个匹配的规则?

rod*_*ars 4

OpenFlow 1.3 规范指出:

如果存在多个具有相同最高优先级的匹配流表项,则所选择的流表项显式未定义。

较旧的OpenFlow 1.0 规范指出:

如果多个条目具有相同的优先级,则交换机可以自由选择任何排序。

Open vSwitch 文档和这里的另一个来源说:

当具有相同优先级的两个或多个流可以匹配单个数据包时,OpenFlow 的行为未定义。一些用户期望“明智”的行为,例如更具体的流优先于不太具体的流,但 OpenFlow 没有指定这一点,并且 Open vSwitch 也没有实现它。因此,用户应该注意使用优先级来确保他们期望的行为。

我知道,目前尚不清楚,但根据这些来源,由用户来处理发生具有相同优先级的流条目重叠的情况。用户应该注意设置正确的优先级,并且交换机可以根据供应商的意愿自由地实施处理此问题的方法。例如,交换机可能会选择最新的流条目,正如您所说的那样。