Hii Derco,
you're right, that is a bug for sure!
It has been fixed and you can take a look at the details in commit
message (basically you were right))
Link here:
https://gitlab.nic.cz/labs/bird/-/commit/3a34912eb88e0b8ac061962362e1322bfce34ecd
The patch will be included in the upcoming two v3 releases (v3.2.1
and v3.1.6) in less then a week.
Thanks a lot for the catch!
David
David Petera (he/him) | BIRD Tech Support | CZ.NIC, z.s.p.o.
Hello,
We've been relying on bird heavily in our DC and basically all of our servers use bird. All server advertise /32 addresses using BGP toward the network and we use BFD for fast-fail. Lately we have observed some issues with bird reloads where some neighbors report reload failed. After investigation it looks as if the reload fails if the following conditions have beex`n met:
BGP sessions were established BGP flapped for $reason (router reload, BFD flap, other)After this, even though the BGP sessions are there, the Route refresh capability is no longer possible.A restart of bird solves the problem.
After investigation we suspect this is caused by the combination of these parts of the code:https://github.com/CZ-NIC/bird/blob/9d509f232eaf04f707f51fd2368841d899ab8afc/proto/bgp/bgp.c#L1258 and https://github.com/CZ-NIC/bird/blob/9d509f232eaf04f707f51fd2368841d899ab8afc/proto/bgp/bgp.c#L2917
Our current install is version 3.2.0, though we have also observed route refresh issues with prior 3.x versions.
The bgp_init creates the object with reload routes, but a bgp_stop makes it NULL. A bgp_start just starts the BGP session, but as the reload_routes is NULL we loose the Route refresh capability.
We might be completely off track here, and this might very well be intended behavior, though we do suspect this to be wrong. Can someone have a look at this and tell us if this is a bug or a feature?
Regards,