Regression #14320
closed``ifconfig -a`` prints CARP information for interfaces that do not have CARP configured
100%
Description
On a system with five interfaces configured, I have CARP VIPs on two of them (vtnet0, vtnet1) and yet ifconfig -a
prints out CARP information on vtnet0 through vtnet4. It appears to be repeating the last printed value from an interface with a VIP. Running ifconfig <if>
individually, such as ifconfig vtnet4
, does not print the erroneous information.
: ifconfig vtnet4 vtnet4: flags=8822<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE> ether 6a:0d:f4:88:99:f9 media: Ethernet autoselect (10Gbase-T <full-duplex>) status: active nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> : ifconfig -a vtnet0: flags=8963<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE> ether 7e:1d:5f:52:13:f5 inet6 fe80::7c1d:5fff:fe52:13f5%vtnet0 prefixlen 64 scopeid 0x1 inet 198.51.100.201 netmask 0xffffff00 broadcast 198.51.100.255 inet 198.51.100.200 netmask 0xffffff00 broadcast 198.51.100.255 vhid 200 carp: MASTER vhid 200 advbase 1 advskew 1 peer 224.0.0.18 peer6 ff02::12 media: Ethernet autoselect (10Gbase-T <full-duplex>) status: active nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> vtnet1: flags=8963<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE> ether f2:65:47:9c:58:a8 inet6 fe80::f065:47ff:fe9c:58a8%vtnet1 prefixlen 64 scopeid 0x2 inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255 inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255 vhid 1 carp: MASTER vhid 1 advbase 1 advskew 1 peer 224.0.0.18 peer6 ff02::12 media: Ethernet autoselect (10Gbase-T <full-duplex>) status: active nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> vtnet2: flags=8822<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE> ether d6:96:4d:73:88:0e carp: MASTER vhid 1 advbase 1 advskew 1 peer 224.0.0.18 peer6 ff02::12 media: Ethernet autoselect (10Gbase-T <full-duplex>) status: active nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> vtnet3: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 description: SYNC options=800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE> ether 02:d4:51:9d:1d:b6 inet6 fe80::d4:51ff:fe9d:1db6%vtnet3 prefixlen 64 scopeid 0x4 inet 172.16.1.2 netmask 0xffffff00 broadcast 172.16.1.255 carp: MASTER vhid 1 advbase 1 advskew 1 peer 224.0.0.18 peer6 ff02::12 media: Ethernet autoselect (10Gbase-T <full-duplex>) status: active nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> vtnet4: flags=8822<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE> ether 6a:0d:f4:88:99:f9 carp: MASTER vhid 1 advbase 1 advskew 1 peer 224.0.0.18 peer6 ff02::12 media: Ethernet autoselect (10Gbase-T <full-duplex>) status: active nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> enc0: flags=0<> metric 0 mtu 1536 groups: enc nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7 inet 127.0.0.1 netmask 0xff000000 groups: lo nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> pflog0: flags=100<PROMISC> metric 0 mtu 33152 groups: pflog pfsync0: flags=41<UP,RUNNING> metric 0 mtu 1500 syncdev: vtnet3 syncpeer: 172.16.1.3 maxupd: 128 defer: off syncok: 1 groups: pfsync
Updated by Jim Pingle over 1 year ago
Just to note, this only happens on 23.05 snapshots so it is likely related to unicast CARP changes.
Updated by Kristof Provost over 1 year ago
- Status changed from New to Feedback
- % Done changed from 0 to 100
The fix has been pushed upstream and merged into our branched. It'll be in the next snapshots.
The issue was that we failed to clear the data structure passed to libifconfig, so if there was no data from the kernel we'd repeat the data from the previous interface. Clearing the input data structure before making the call to the kernel fixes things.
Updated by Jim Pingle over 1 year ago
- Status changed from Feedback to Resolved
This is fixed on current snapshots. CARP info is only printed for interfaces which actually contain CARP VIPs now.