BGP reload routes issue
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 been met: 1. BGP sessions were established 2. 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... and https://github.com/CZ-NIC/bird/blob/9d509f232eaf04f707f51fd2368841d899ab8afc... 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, Derco Sportel | System Engineer Networking | https://bol.com<https://bol.com/>
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/3a34912eb88e0b8ac061962362e1322bfce... 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. On 3/26/26 20:02, Derco Sportel via Bird-users wrote:
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:
1. BGP sessions were established 2. 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... and https://github.com/CZ-NIC/bird/blob/9d509f232eaf04f707f51fd2368841d899ab8afc...
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,
Derco Sportel | System Engineer Networking | https://bol.com <https://bol.com/>
participants (2)
-
David Petera -
Derco Sportel