Incorrect handling of primary/secondary IP address status.

Alexander aldem-bird.201704 at nk7.net
Fri Dec 17 17:41:40 CET 2021


Hi,

Looks like bird (2.0.8 on Linux) incorrectly handles primary/secondary 
IP address status.

For example, this is initial state (output from "show interfaces"):

enp6s20 up (index=2 master=switch)
         MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500
         192.168.111.1/24 (Preferred, scope site)
         192.168.111.2/24 (Secondary, scope site)

Then I remove 192.168.1.2/24, 192.168.111.2/24 promoted to primary 
(promote_secondaries is enabled on interface), but bird does not get it:

enp6s20 up (index=2 master=switch)
         MultiAccess Broadcast Multicast AdminUp LinkUp MTU=1500
         192.168.111.2/24 (Secondary, scope site)

... while it is actually primary now:

2: enp6s20: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc 
pfifo_fast master switch state UP group default qlen 1000
     link/ether xx:xx:xx:xx:xx:68 brd ff:ff:ff:ff:ff:ff permaddr 
xx:xx:xx:xx:xx:30
     inet 192.168.111.2/24 scope global enp6s20
        valid_lft forever preferred_lft forever

 From now on, no address within same network will ever get "primary" 
status until and unless all addresses within this network will be 
deleted.

Looks like it remembers "secondary" status once seen and never updates 
it.

"reload", "configure" and "enable"/"disable" on do not help either.

I hit this issue after noticing that OSPF couldn't see neighbors after 
few changes in IP configuration (as it ignores all secondaries).

Best regards,
Alexander.


More information about the Bird-users mailing list