Сейчас постараюсь обьяснить, и собрать доказательную базу на баг в ovs, или убедится в собственной глупости.
Есть две вм, клиент и сервер: Сервер - mac: 02:8b:12:86:c2:f6, ipv4: 10.11.100.60, ipv6: 2001:470::4, порт на гипервизоре - vnet3 Клиент - mac: 02:b3:0d:4c:11:2a, ipv4: 10.11.100.58, ipv6: 2001:470::5, порт на гипервизоре - vnet2
Есть свод ovs-flow правил, для краткости, проблемные правила такие:
ovs-ofctl add-flow ovs-br «cookie=0xa, table=0, priority=1999, dl_dst=02:8b:12:86:c2:f6, tcp action=normal»
ovs-ofctl add-flow ovs-br «cookie=0xa, table=0, priority=1999, dl_src=02:8b:12:86:c2:f6, action=normal»
Следовательно, мы разрешаем весь tcp трафик с dst mac 02:8b:12:86:c2:f6, и все src соединения с 02:8b:12:86:c2:f6.
Перед каждым тестом удалялся arp и nd кеши. Теперь мы подключаемся по ssh к серверу, по ipv4 коннект идет. НО! При подключении к серверу через ipv6 коннект не проходит, при этом icmp6 na и ns ходят между клиентом и сервером, но вот tcp - нет, скрины tcpdump: ipv6: Клиент https://imgur.com/a/1GbYrCb Сервер https://imgur.com/a/hv0FLIo ipv4: Клиент https://imgur.com/a/hv0FLIo Сервер https://imgur.com/a/3CjqXGF Если в первом проблемном правиле убрать уточнение tcp, и пропускать вообще весь трафик, коннект идет успешно, у клиента и сервера успешно появляется запись в arp или nd друг о друге. Если разрешать коннекты не по dst mac, а по ipv6_dst, коннект так же работает. Все правила ovs на гипервизоре: https://imgur.com/a/TFF5Pa3
ovs-appctl ofproto/trace: https://imgur.com/a/KcgORXr
Со мной что-то не так, или это действительно баг? Версия ovs 3.1.0, пакет из офф репы debian 12. Надеюсь обьяснил :/