Вы правы в том, что группы быстрых сбоев могут решить вашу проблему.
Допустим, вы хотите использовать порт 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 возможных назначения для пакетов, достигающих этой группы). Bucket 1 отправляет пакет на порт 2 при условии, что он активен (watch_port=2
), в то время как Bucket 2 отправляет пакет на порт 3 с аналогичным условием (watch_port=3
). Группа типа fast_failover перебирает свои сегменты (в порядке, в котором вы их определили), пока не найдет тот, который является активным.
Вторая команда просто отправляет пакет с IP-адресом назначения 10.0.0.1 в группу.