Incorrect handling of primary/secondary IP address status.

Ondrej Zajicek santiago at crfreenet.org
Sat Dec 18 01:31:00 CET 2021


On Fri, Dec 17, 2021 at 06:57:44PM +0100, Alexander wrote:
> On 2021-12-17 18:26, Ondrej Zajicek wrote:
> 
> > That is interesting. If i remember correctly, in the past Linux removed
> > all secondary addresses (ones from the same net) when the primary
> > address
> > was removed (so only addresses from other networks were considered
> > relevant).
> 
> Perhaps it was long before promote_secondary in sysctl was introduced.

Thanks, didn't know about that sysctl. It seems disabled by default.
When enabled, the issue is here as you described.


> > So it is possible that Linux promotes an address to
> > primary, but does not sent a notification about that. Will check that.
> 
> Unlikely, then bird wouldn't see any addresses at all. This is what happens
> on empty interface after adding few addresses and then deleting primary:
> 
> # ip -d mon ad
> 2: enp6s20    inet 192.168.111.1/24 scope global enp6s20
>        valid_lft forever preferred_lft forever
> 2: enp6s20    inet 192.168.111.2/24 scope global secondary enp6s20
>        valid_lft forever preferred_lft forever
> 2: enp6s20    inet 192.168.111.3/24 scope global secondary enp6s20
>        valid_lft forever preferred_lft forever
> 2: enp6s20    inet 192.168.111.4/24 scope global secondary enp6s20
>        valid_lft forever preferred_lft forever
> 
> # Now deleting primary 192.168.111.1/24
> Deleted 2: enp6s20    inet 192.168.111.1/24 scope global enp6s20
>        valid_lft forever preferred_lft forever
> 2: enp6s20    inet 192.168.111.2/24 scope global enp6s20
>        valid_lft forever preferred_lft forever
> 
> As you could see, primary is deleted but now next existing is announced
> without "secondary" flag - I guess the problem is that flags are not checked
> on updates thus existing addresses are simply ignored.

You are right, BIRD ignored ip address updates that just changed
secondary flags. Attached patch should fix that.

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-secondary.patch
Type: text/x-diff
Size: 1114 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20211218/cd10e041/attachment.bin>


More information about the Bird-users mailing list