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.

Reply via email to