У меня есть 3 виртуальные машины, каждая с OVS с мостом "br0". VM1 и VM2 подключены через GRE-туннель к Серверу и через VXLAN-туннели между обоими.
![enter image description here](https://i.stack.imgur.com/GDdqJ.jpg)
При каждом запуске:
$ arping -I br0 10.0.1.10 (or)
$ arping -I br0 10.0.1.20
с сервера происходит ARP l oop, и сеть становится непригодной для использования, поскольку все мосты заполняются перенаправленными ARP-запросами и ответами.
В сетевой среде, которую я пытаюсь создать Я не хочу, чтобы VM1 br0 и VM2 br0 отправляли ARP друг другу, чтобы предотвратить это l oop.
Итак, в обеих виртуальных машинах я установил следующую запись потока:
$ ovs-ofctl -O openflow13 add-flow br0 priority=65535,arp,in_port=<vxlan_tunnel>,arp_spa=10.0.1.0/24,action=drop
который, как я думал, отбросит пакеты ARP, которые бесконечно пересылаются из-за соединения между VM1 и VM2. Но это не так.
Даже если я отброшу пакеты запроса, поступающие из туннеля GRE, с назначением ARP, отличным от моста, принимающего запрос ARP, как показано ниже:
$ ovs-ofctl -O openflow13 add-flow br0 priority=65535,arp,in_port=gre1,arp_spa=10.0.1.50,arp_tpa=10.0.1.20,action=drop
запись потока игнорируется, и ARP l oop продолжается.
Как правильно составить записи потока, чтобы пакеты ARP, поступающие с сервера и не предназначенные для моста, отбрасывались? И как я могу заблокировать пакеты ARP из сети 10.0.1.0/24, поступающие из туннеля vxlan?
Примечание. Я уже включил STP в мостах VM1 и VM2, но проблема сохраняется.