Установите туннель VXLAN в качестве резервного от другого порта VXLAN в OpenvSwitch - PullRequest
0 голосов
/ 05 мая 2020

Я хотел бы создать резервную копию своего интерфейса с помощью OpenvSwitch и Flow Rules. У меня есть два туннеля VXLAN, и я хочу, чтобы один из них был резервным для другого. Я видел, что OpenvSwitch может использовать две возможности для этого: group с использованием fast-failover и bounding с использованием в качестве резервного одного из интерфейсов. Однако я не вижу, чтобы какая-либо из возможностей могла работать с VXLAN/GRE Tunnel, работает только с обычными портами, которые подключены к мосту. Например, я вижу, что с помощью команды ovs-ofctl mod-port <bridge> <iface> down разница между двумя портами показана ниже:

user@openvswitch:~$ sudo ovs-ofctl mod-port br-1 ens5 down
user@openvswitch:~$ sudo ovs-ofctl mod-port br-1 vxlan1 down
user@openvswitch:~$ sudo ovs-ofctl show br-1
OFPT_FEATURES_REPLY (xid=0x2): dpid:0000005000000102
n_tables:254, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
 1(ens5): addr:00:50:00:00:01:02
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max
 2(ens6): addr:00:50:00:00:01:03
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
 3(vxlan1): addr:da:8a:d5:81:7f:c1
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
 4(vxlan2): addr:2a:ef:30:0c:e1:7f
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
 LOCAL(br-1): addr:00:50:00:00:01:02
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0

Как видите, vxlan1 не отключился. Проблема в том, что fast-failover использует оба флага для определения «активного» порта. Есть ли действительно способ узнать, когда порт VXLAN не работает? Если я знаю, что порт VXLAN не работает по какой-либо причине, я мог бы использовать правила потока, чтобы изменить приоритет и использовать резервную копию.

Спасибо за любую помощь, которую вы могли мне оказать

...