6

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

4

1 回答 1

4

OpenFlow 1.3 规范说:

如果有多个匹配的具有相同最高优先级的流条目,则选择的流条目是明确未定义的。

较旧的OpenFlow 1.0 规范指出:

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

打开 vSwitch 文档,这里的其他来源说:

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

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

于 2017-07-20T14:27:46.003 回答