On 6/3/22 5:40 PM, Ondrej Zajicek wrote:
That is an interesting idea, and from your description it seems like not hard to support, esp. if that is just some kind of flag on iface/address.
That is what I was hoping for :)
But i do not have experience with this, so i have some questions:
1) it is per-iface state or per-address state?
It is a per-address state (actually it is per VHID state, where each VHID is a group of 1-N IP addresses, and each interface can have 1-N VHID).
2) Could you send me output of ifconfig for master/backup/non-carp iface for comparison?
Absolutely. This is interface lagg0.2002 which has a single VHID, first node A which is MASTER: ----------------------------- [tykling@dgncr2a ~]$ ifconfig lagg0.2002 lagg0.2002: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 description: tyktech infrastructure servers vlan 2002 - 85.209.118.0/28 and 2a09:94c4:55d1:7600::/64 options=4600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6,NOMAP> ether 3c:ec:ef:46:e1:58 inet6 fe80::3eec:efff:fe46:e158%lagg0.2002/64 scopeid 0x11 inet6 2a09:94c4:55d1:7600::2a/64 inet6 2a09:94c4:55d1:7600::1/64 vhid 5 inet 85.209.118.1/28 broadcast 85.209.118.15 vhid 5 groups: vlan carp carp: MASTER vhid 5 advbase 1 advskew 100 vlan: 2002 vlanproto: 802.1q vlanpcp: 0 parent interface: lagg0 media: Ethernet autoselect status: active nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> [tykling@dgncr2a ~]$ ----------------------------- and then node B which is BACKUP: ----------------------------- [tykling@dgncr2b ~]$ ifconfig lagg0.2002 lagg0.2002: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 description: tyktech infrastructure servers vlan 2002 - 85.209.118.0/28 and 2a09:94c4:55d1:7600::/64 options=4600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6,NOMAP> ether 3c:ec:ef:46:e0:b8 inet6 fe80::3eec:efff:fe46:e0b8%lagg0.2002/64 scopeid 0xf inet6 2a09:94c4:55d1:7600::2b/64 inet6 2a09:94c4:55d1:7600::1/64 vhid 5 inet 85.209.118.1/28 broadcast 85.209.118.15 vhid 5 groups: vlan carp carp: BACKUP vhid 5 advbase 1 advskew 100 vlan: 2002 vlanproto: 802.1q vlanpcp: 0 parent interface: lagg0 media: Ethernet autoselect status: active nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> [tykling@dgncr2b ~]$ ----------------------------- As you can see CARP is not really an interface, it is more like a property of an IP. Each node has both CARP IPs (marked with a vhid N at the end of the line) and non-CARP IPs (in this example the only non-CARP IP is for ipv6). An interface can have multiple VHIDs which can be MASTER or BACKUP independent of eachother. From birdc the "show interfaces" for these look like this: On the MASTER (A) node: ----------------------------- lagg0.2002 up (index=17) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 85.209.118.1/28 (Preferred, scope univ) fe80::3eec:efff:fe46:e158/64 (Preferred, scope link) 2a09:94c4:55d1:7600::2a/64 (Preferred, scope univ) 2a09:94c4:55d1:7600::1/64 (scope univ) ----------------------------- On the BACKUP (B) node: ----------------------------- lagg0.2002 up (index=15) MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500 85.209.118.1/28 (Preferred, scope univ) 2a09:94c4:55d1:7600::2b/64 (Preferred, scope univ) fe80::3eec:efff:fe46:e0b8/64 (Preferred, scope link) 2a09:94c4:55d1:7600::1/64 (scope univ) ----------------------------- As you can see they are considered equally valid which causes BIRD to think it has a usable IP for the prefix even though it does not.
4) What is a general behavior of backup ifaces/ips? Are they usable, or it is more like iface that is AdminUp/OperDown (in SNMP terminology)?
The interfaces as such are fully usable, but the OS will not respond to ARP/NDP for virtual IPs in a BACKUP VHID. The OS still permits binding to them (so daemons can bind and be running and ready on BACKUP nodes). Best regards, Thomas Steen Rasmussen