Упреждающая вставка и маршрутизация потока на основе приоритета в OVS

Я вставил две записи потока для одной и той же пары источника и назначения для активного и резервного пути с разным приоритетом. Даже если происходит сбой канала, поток не проходит по резервному пути. Вероятно, пространство ядра не заботится о статусе порта. Он только соответствует таблице потоков и выполняет действие. Но все же мне интересно использовать резервный путь с разным приоритетом. Я слышал о групповой таблице быстрых отказов OVS. Я не уверен, как использовать его, чтобы направить трафик на мой альтернативный путь. Могу ли я получить помощь в этом случае? или есть ли какой-либо механизм для сброса записи потока, принадлежащей нисходящему интерфейсу, без связи с контроллером? Я использую Ryu 4.24, OVS 2.9.0 и мининет. Заранее спасибо за помощь.


person moyeen52    schedule 27.04.2018    source источник


Ответы (1)


Вы правы в том, что группы быстрого отказа может решить вашу проблему. Допустим, вы хотите использовать порт 2, только если порт 1 не работает, тогда вы должны настроить мост 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

Первая команда создает группу 1 типа fast_failover с 2 сегментами (т. е. 2 возможными пунктами назначения для пакетов, достигающих этой группы). Бакет 1 отправляет пакет на порт 2 при условии, что он активен (watch_port=2), а бакет 2 отправляет пакет на порт 3 с аналогичным условием (watch_port=3). Группа типа fast_failover перебирает свои сегменты (в том порядке, в котором вы их определили), пока не найдет активный.

Вторая команда просто отправляет группе пакет с IP-адресом назначения 10.0.0.1.

person pchaigno    schedule 04.05.2018