Почему OpenFlow выбирает правило с более низким приоритетом? - PullRequest
0 голосов
/ 26 мая 2018

Если на коммутаторе установлены эти два правила, какое из них должно быть выполнено в соответствии со спецификациями коммутатора OpenFlow?OVS выполняет первое, хотя второе имеет более высокий приоритет:

Первое правило:

cookie=0x20000002000000,
duration=14647.575s,
table=0,
n_packets=1297621,
n_bytes=145897910,
idle_timeout=65535,
priority=1,
udp,
in_port=3,
dl_src=02:6d:f3:c1:b4:7b,
dl_dst=02:54:ab:ce:ba:0f,
nw_src=10.10.10.6,
nw_dst=10.10.10.1,
tp_src=46329,
tp_dst=1000
actions=output:1

Второе правило:

cookie=0xa000004039d1ae,
duration=164.680s,
table=0,
n_packets=0,
n_bytes=0,
send_flow_rem
priority=9999,
udp,
in_port=ANY,
nw_src=10.10.10.6,
nw_dst=10.10.10.1,
tp_dst=1000
actions=set_field:10.10.10.6->ip_src,
output:1

1 Ответ

0 голосов
/ 29 мая 2018

Хотя в настоящее время это не задокументировано, ANY в качестве значения для in_port следует использовать только для потокового мода (удаление) и запросов статистики потока .Чтобы сопоставлять пакеты независимо от их порта, вы можете просто удалить in_port=ANY из своего правила OpenFlow.


Это поведение не задокументировано , но в нескольких местах исходного кода упоминается об этом,Во-первых, OFPP_ANY - это , определенный как синоним OFPP_NONE. В комментарии выше упоминается, что его следует использовать только для соответствия правилам OpenFlow.Наконец, комментарий для OFPP_NONE определение гласит, что OFPP_NONE означает Not associated with any port.

Я думаю, что это должно быть должным образом задокументировано или ovs-ofctl должно отклонить это значение при неправильном использовании.Я подниму вопрос в списке рассылки ovs-dev и обновлю этот пост в зависимости от ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...