CARP + IPv6 host does not respond to neighbor solicitation multicast

I noticed that on my CARP hosts (three pairs, six total) ssh to the local address of the current master took a long time.

Turns out that it was timing out trying IPv6 and falling back on IPv4.
ssh -4 always works right away.

While debugging I realised that the CARP host saw neighbor solicitation packets for the address being sent to the ff02 multicast address, but didn't respond.

If I then try to ssh to the CARP virtual IPv6 address, no problem, it responds to ND and after that, the source host has an ndp record for both the virtual and the local IPv6 address.

This only seems to happen on the current master. I haven't tried on a host with just multiple IPv6 aliases (no CARP) on a single interface.

Do you know why my host isn't responding to neighbor solicitation for the local address when the CARP alias is active?

example from tcpdump:
Code:
14:37:46.755910 IP6 2001:67c:6c:58::10 > ff02::1:ff00:60: ICMP6, neighbor solicitation, who has 2001:67c:6c:58::60, length 32
ifconfig on the CARP host:
vtnet0: flags=8963<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=4c07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,TXCSUM_IPV6>
    ether aa:bf:21:5b:05:a6
    inet 193.4.58.60 netmask 0xffffff00 broadcast 193.4.58.255
    inet 193.4.58.167 netmask 0xffffff00 broadcast 193.4.58.255 vhid 201
    inet 193.4.58.168 netmask 0xffffff00 broadcast 193.4.58.255 vhid 201
    inet 193.4.58.25 netmask 0xffffff00 broadcast 193.4.58.255 vhid 201
    inet 193.4.58.30 netmask 0xffffff00 broadcast 193.4.58.255 vhid 201
    inet 193.4.58.122 netmask 0xffffff00 broadcast 193.4.58.255 vhid 201
    inet6 fe80::a8bf:21ff:fe5b:5a6%vtnet0 prefixlen 64 scopeid 0x1
    inet6 2001:67c:6c:58::60 prefixlen 64
    inet6 2001:67c:6c:58::167 prefixlen 64 vhid 201
    inet6 2001:67c:6c:58::168 prefixlen 64 vhid 201
    inet6 2001:67c:6c:58::25 prefixlen 64 vhid 201
    inet6 2001:67c:6c:58::30 prefixlen 64 vhid 201
    inet6 2001:67c:6c:58::122 prefixlen 64 vhid 201
    carp: MASTER vhid 201 advbase 1 advskew 10
    media: Ethernet autoselect (10Gbase-T <full-duplex>)
    status: active

    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
rc.conf:
Code:
ifconfig_vtnet0='inet 193.4.58.60 netmask 255.255.255.0'
ifconfig_vtnet0_ipv6='inet6 2001:67c:6c:58::60/64'
ifconfig_vtnet0_aliases="inet vhid 201 advbase 1 advskew 10 pass PASSWORD alias 193.4.58.167/24 inet6 vhid 201 alias 2001:67c:6c:58::167/64 inet vhid 201 alias 193.4.58.168/24 inet6 vhid 201 alias 2001:67c:6c:58::168/64 inet vhid 201 alias 193.4.58.25/24 inet6 vhid 201 alias 2001:67c:6c:58::25/64 inet vhid 201 alias 193.4.58.30/24 inet6 vhid 201 alias 2001:67c:6c:58::30/64 inet vhid 201 alias 193.4.58.122/24 inet6 vhid 201 alias 2001:67c:6c:58::122/64"
 
Back
Top