Я пытаюсь использовать контроллер POX для управления потоками. Я знаю, что Open vSwitch выберет правила переадресации с наивысшим приоритетом. Но что будет, если я вставлю новое правило переадресации для существующего потока с таким же приоритетом. Будет ли Open vSwitch случайным образом выбирать одно правило для соответствия?
Что делать, если в коммутаторе Openflow существует несколько правил переадресации для одного и того же потока?
Ответы (1)
OpenFlow 1.3 спецификация говорит:
Если имеется несколько совпадающих записей потока с одинаковым наивысшим приоритетом, выбранная запись потока явно не определена.
В более ранней спецификации OpenFlow 1.0 указано следующее:
Если несколько записей имеют одинаковый приоритет, коммутатор может выбрать любой порядок.
Открыть документацию vSwitch и этот другой источник здесь написано:
OpenFlow оставляет поведение неопределенным, когда два или более потока с одинаковым приоритетом могут соответствовать одному пакету. Некоторые пользователи ожидают «разумного» поведения, такого как более конкретные потоки, имеющие приоритет над менее специфическими потоками, но OpenFlow не определяет это, и Open vSwitch не реализует это. Поэтому пользователям следует позаботиться об использовании приоритетов, чтобы обеспечить ожидаемое поведение.
Это неясно, я знаю, но, основываясь на этих источниках, пользователь должен иметь дело с ситуациями, когда происходит перекрытие записи потока с одинаковыми приоритетами. Пользователь должен позаботиться об установке правильных приоритетов, а коммутатор может реализовать способ решения этой проблемы по желанию поставщика. Коммутатор может, например, выбрать самую новую запись потока, как вы сказали, это произошло в вашем случае.