[Bug 277396] CARP packet not processed

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 29 Feb 2024 18:57:23 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277396

            Bug ID: 277396
           Summary: CARP packet not processed
           Product: Base System
           Version: 14.0-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: mgrooms@shrew.net

HOST A:

cloned_interfaces="lagg0 bridge10 vlan10 vlan16"

ifconfig_ix0="up"
ifconfig_ix1="up"
ifconfig_ix2="up"
ifconfig_ix3="down"

ifconfig_bridge10="addm vlan10 addm ix2"
ifconfig_lagg0="laggproto failover laggport ix0 laggport ix1"

ifconfig_vlan10="inet 10.99.99.5/24 vlan 10 vlandev lagg0"
ifconfig_vlan16="inet 10.28.16.2/24 vlan 16 vlandev lagg0"

ifconfig_vlan10_alias10="inet 10.99.99.4/24 vhid 10 pass Yzc1I3xd10tJCVYJ
advskew 0"
ifconfig_vlan16_alias16="inet 10.28.16.1/24 vhid 16 pass Yzc1I3xd10tJCVYJ
advskew 0"

vlan10: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP>
metric 0 mtu 1500
       
options=4600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6,MEXTPG>
        ether 0c:c4:7a:c3:52:86
        inet 10.99.99.5 netmask 0xffffff00 broadcast 10.99.99.255
        inet 10.99.99.4 netmask 0xffffff00 broadcast 10.99.99.255 vhid 10
        groups: vlan
        carp: MASTER vhid 10 advbase 1 advskew 0
              peer 224.0.0.18 peer6 ff02::12
        vlan: 10 vlanproto: 802.1q vlanpcp: 0 parent interface: lagg0
        media: Ethernet autoselect
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
vlan16: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP>
metric 0 mtu 1500
       
options=4600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6,MEXTPG>
        ether 0c:c4:7a:c3:52:86
        inet 10.28.16.2 netmask 0xffffff00 broadcast 10.28.16.255
        inet 10.28.16.1 netmask 0xffffff00 broadcast 10.28.16.255 vhid 16
        groups: vlan
        carp: MASTER vhid 16 advbase 1 advskew 0
              peer 224.0.0.18 peer6 ff02::12
        vlan: 16 vlanproto: 802.1q vlanpcp: 0 parent interface: lagg0
        media: Ethernet autoselect
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

HOST B:

cloned_interfaces="lagg0 bridge10 vlan10 vlan16"

ifconfig_ix0="up"
ifconfig_ix1="up"
ifconfig_ix2="up"
ifconfig_ix3="down"

ifconfig_bridge10="addm vlan10 addm ix2"
ifconfig_lagg0="laggproto failover laggport ix0 laggport ix1"

ifconfig_vlan10="inet 10.99.99.6/24 vlan 10 vlandev lagg0"
ifconfig_vlan16="inet 10.28.16.3/24 vlan 16 vlandev lagg0"

ifconfig_vlan10_alias10="inet 10.99.99.4/24 vhid 10 pass Yzc1I3xd10tJCVYJ
advskew 200"
ifconfig_vlan16_alias16="inet 10.28.16.1/24 vhid 16 pass Yzc1I3xd10tJCVYJ
advskew 200"

vlan10: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP>
metric 0 mtu 1500
       
options=4600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6,MEXTPG>
        ether 0c:c4:7a:99:3b:f6
        inet 10.99.99.6 netmask 0xffffff00 broadcast 10.99.99.255
        inet 10.99.99.4 netmask 0xffffff00 broadcast 10.99.99.255 vhid 10
        groups: vlan
        carp: MASTER vhid 10 advbase 1 advskew 200
              peer 224.0.0.18 peer6 ff02::12
        vlan: 10 vlanproto: 802.1q vlanpcp: 0 parent interface: lagg0
        media: Ethernet autoselect
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
vlan16: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP>
metric 0 mtu 1500
       
options=4600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6,MEXTPG>
        ether 0c:c4:7a:99:3b:f6
        inet 10.28.16.3 netmask 0xffffff00 broadcast 10.28.16.255
        inet 10.28.16.1 netmask 0xffffff00 broadcast 10.28.16.255 vhid 16
        groups: vlan
        carp: BACKUP vhid 16 advbase 1 advskew 200
              peer 224.0.0.18 peer6 ff02::12
        vlan: 16 vlanproto: 802.1q vlanpcp: 0 parent interface: lagg0
        media: Ethernet autoselect
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

RESULT:

The vlan16 carp works fine. The vlan10 carp does not. Both hosts claim master
as if they aren't processing the others advertisements. I've tried adding the
peer unicast option but that doesn't help. Packets are definitely making it
back and forth as I can see the packets when I run tcpdump on the vlan10
interfaces of both hosts ...

root@fw1:~ # tcpdump -nei vlan10 carp
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on vlan10, link-type EN10MB (Ethernet), snapshot length 262144 bytes
12:52:48.921935 0c:c4:7a:c3:52:86 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.5 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 0,
authtype none, intvl 1s, length 36
12:52:49.601410 0c:c4:7a:99:3b:f6 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.6 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 200,
authtype none, intvl 1s, length 36
12:52:49.933759 0c:c4:7a:c3:52:86 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.5 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 0,
authtype none, intvl 1s, length 36
12:52:50.947001 0c:c4:7a:c3:52:86 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.5 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 0,
authtype none, intvl 1s, length 36
12:52:51.494325 0c:c4:7a:99:3b:f6 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.6 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 200,
authtype none, intvl 1s, length 36
12:52:52.008944 0c:c4:7a:c3:52:86 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.5 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 0,
authtype none, intvl 1s, length 36
^C
6 packets captured
133 packets received by filter
0 packets dropped by kernel

root@fw2:~ # tcpdump -nei vlan10 carp
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on vlan10, link-type EN10MB (Ethernet), snapshot length 262144 bytes
12:52:56.096460 0c:c4:7a:c3:52:86 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.5 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 0,
authtype none, intvl 1s, length 36
12:52:56.940140 0c:c4:7a:99:3b:f6 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.6 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 200,
authtype none, intvl 1s, length 36
12:52:57.158365 0c:c4:7a:c3:52:86 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.5 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 0,
authtype none, intvl 1s, length 36
12:52:58.182284 0c:c4:7a:c3:52:86 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.5 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 0,
authtype none, intvl 1s, length 36
12:52:58.742371 0c:c4:7a:99:3b:f6 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.6 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 200,
authtype none, intvl 1s, length 36
12:52:59.218959 0c:c4:7a:c3:52:86 > 01:00:5e:00:00:12, ethertype IPv4 (0x0800),
length 70: 10.99.99.5 > 224.0.0.18: VRRPv2, Advertisement, vrid 10, prio 0,
authtype none, intvl 1s, length 36
^C
6 packets captured
115 packets received by filter
0 packets dropped by kernel

If I move the vlan 10 address and carp address to either bridge10 or ix2, it
works fine. Any idea why it doesn't work on a vlan10?

-- 
You are receiving this mail because:
You are the assignee for the bug.