This is what I get on the node where the VM is: # ip -s -s neigh flush all 100.64.0.9 dev enp3s0 lladdr 52:54:00:b9:29:4d ref 1 used 95/0/95probes 4 REACHABLE 100.65.3.9 dev enp2s0 lladdr 52:54:00:00:c0:8d ref 1 used 95/0/95probes 4 REACHABLE 2001:db8::f816:3eff:fe9c:17b7 dev br-ex lladdr fa:16:3e:9c:17:b7 used 89/89/49probes 4 STALE fe80::5054:ff:fe00:c08d dev enp2s0 lladdr 52:54:00:00:c0:8d router used 89/89/61probes 4 STALE fe80::5054:ff:feb9:294d dev enp3s0 lladdr 52:54:00:b9:29:4d router used 88/148/88probes 0 STALE fe80::f816:3eff:fe9c:17b7 dev br-ex used 76/143/75probes 3 FAILED *** Round 1, deleting 6 entries *** *** Flush is complete after 1 round *** # tcpdump -ni any host 2001:db8::f816:3eff:fe9c:17b7 or host f00d:f00d:f00d:4:5054:ff:fea5:f6e8 (first IP is the VM IP, second the destination VM) tcpdump: data link type LINUX_SLL2 dropped privs to tcpdump tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes 05:37:08.142009 tapbae685a6-66 M IP6 2001:db8::f816:3eff:fe9c:17b7 > ff02::1:ff3c:b5f8: ICMP6, neighbor solicitation, who has fe80::f816:3eff:fe3c:b5f8, length 32 05:37:08.142578 tapbae685a6-66 Out IP6 fe80::f816:3eff:fe3c:b5f8 > 2001:db8::f816:3eff:fe9c:17b7: ICMP6, neighbor advertisement, tgt is fe80::f816:3eff:fe3c:b5f8, length 32 05:37:08.142664 tapbae685a6-66 P IP6 2001:db8::f816:3eff:fe9c:17b7 > f00d:f00d:f00d:4:5054:ff:fea5:f6e8: ICMP6, echo request, id 3, seq 1, length 64 05:37:08.142910 br-ex In IP6 2001:db8::f816:3eff:fe9c:17b7 > f00d:f00d:f00d:4:5054:ff:fea5:f6e8: ICMP6, echo request, id 3, seq 1, length 64 05:37:08.142933 enp2s0 Out IP6 2001:db8::f816:3eff:fe9c:17b7 > f00d:f00d:f00d:4:5054:ff:fea5:f6e8: ICMP6, echo request, id 3, seq 1, length 64 05:37:08.143535 enp3s0 In IP6 f00d:f00d:f00d:4:5054:ff:fea5:f6e8 > 2001:db8::f816:3eff:fe9c:17b7: ICMP6, echo reply, id 3, seq 1, length 64 05:37:08.143854 tapbae685a6-66 P IP6 2001:db8::f816:3eff:fe9c:17b7 > fe80::2c21:43ff:fe1e:244e: ICMP6, neighbor advertisement, tgt is 2001:db8::f816:3eff:fe9c:17b7, length 32 05:37:08.143959 br-ex In IP6 2001:db8::f816:3eff:fe9c:17b7 > fe80::2c21:43ff:fe1e:244e: ICMP6, neighbor advertisement, tgt is 2001:db8::f816:3eff:fe9c:17b7, length 32 05:37:08.143975 br-ex Out IP6 f00d:f00d:f00d:4:5054:ff:fea5:f6e8 > 2001:db8::f816:3eff:fe9c:17b7: ICMP6, echo reply, id 3, seq 1, length 64 05:37:08.144122 tapbae685a6-66 Out IP6 f00d:f00d:f00d:4:5054:ff:fea5:f6e8 > 2001:db8::f816:3eff:fe9c:17b7: ICMP6, echo reply, id 3, seq 1, length 64 Then, inside the VM, with ip nei I see the next: fe80::2c21:43ff:fe1e:244e dev eth0 lladdr 2e:21:43:1e:24:4e router STALE fe80::f816:3eff:fe3c:b5f8 dev eth0 lladdr fa:16:3e:3c:b5:f8 router STALE First one is the ll for the br-ex, and its mac, which is correct: 7: br-ex: mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000 link/ether 2e:21:43:1e:24:4e brd ff:ff:ff:ff:ff:ff inet 169.254.0.1/32 scope global br-ex valid_lft forever preferred_lft forever inet6 fd53:d91e:400:7f17::1/128 scope global valid_lft forever preferred_lft forever inet6 fe80::2c21:43ff:fe1e:244e/64 scope link And the second one is the ovn router gateway port, which makes me realise perhaps that is the difference in your setup. In OVN, with slaac mode (the one I'm using, slaac/slaac), is the router the one replying to that, so perhaps it is working for me because I have a router connected to that provider network. When I remove the router this is what I get: 05:51:35.910334 tapbae685a6-66 M IP6 2001:db8::f816:3eff:fe9c:17b7 > ff02::1:ff3c:b5f8: ICMP6, neighbor solicitation, who has fe80::f816:3eff:fe3c:b5f8, length 32 05:51:35.910533 tap775d5de2-70 Out IP6 2001:db8::f816:3eff:fe9c:17b7 > ff02::1:ff3c:b5f8: ICMP6, neighbor solicitation, who has fe80::f816:3eff:fe3c:b5f8, length 32 05:51:35.910545 br-ex In IP6 2001:db8::f816:3eff:fe9c:17b7 > ff02::1:ff3c:b5f8: ICMP6, neighbor solicitation, who has fe80::f816:3eff:fe3c:b5f8, length 32 05:51:36.965778 tapbae685a6-66 M IP6 2001:db8::f816:3eff:fe9c:17b7 > ff02::1:ff3c:b5f8: ICMP6, neighbor solicitation, who has fe80::f816:3eff:fe3c:b5f8, length 32 05:51:36.965793 tap775d5de2-70 Out IP6 2001:db8::f816:3eff:fe9c:17b7 > ff02::1:ff3c:b5f8: ICMP6, neighbor solicitation, who has fe80::f816:3eff:fe3c:b5f8, length 32 05:51:36.965810 br-ex In IP6 2001:db8::f816:3eff:fe9c:17b7 > ff02::1:ff3c:b5f8: ICMP6, neighbor solicitation, who has fe80::f816:3eff:fe3c:b5f8, length 32 05:51:37.989829 tapbae685a6-66 M IP6 2001:db8::f816:3eff:fe9c:17b7 > ff02::1:ff3c:b5f8: ICMP6, neighbor solicitation, who has fe80::f816:3eff:fe3c:b5f8, length 32 05:51:37.989844 tap775d5de2-70 Out IP6 2001:db8::f816:3eff:fe9c:17b7 > ff02::1:ff3c:b5f8: ICMP6, neighbor solicitation, who has fe80::f816:3eff:fe3c:b5f8, length 32 05:51:37.989868 br-ex In IP6 2001:db8::f816:3eff:fe9c:17b7 > ff02::1:ff3c:b5f8: ICMP6, neighbor solicitation, who has fe80::f816:3eff:fe3c:b5f8, length 32 And inside the VM: [root@vm-provider ~]# ip nei fe80::2c21:43ff:fe1e:244e dev eth0 lladdr 2e:21:43:1e:24:4e router REACHABLE fe80::f816:3eff:fe3c:b5f8 dev eth0 FAILED Can you confirm it works for you just by adding a router?