Bug on route reflection with BIRD (no originator ID on withdrawals)

Ondrej Zajicek santiago at crfreenet.org
Tue Dec 13 15:15:55 CET 2022


On Tue, Dec 13, 2022 at 12:46:24PM +0200, Vasileios Kotronis via Bird-users wrote:
> Hello there,
> 
> I am facing an issue with a route reflection setup on BIRD.
> ...
> The reflector reflects routes from the monitor (monitoring the external
> router via BGP) to the client. However, I notice that the originator ID
> (used for loop detection in a RR setup) is input by the  BIRD RR only in
> announcements, and not in withdrawals. This means that if the same
> withdrawal (from the monitor) propagates within the RR cluster there is no
> way to disambiguate this from another withdrawal.
> ...
> So, since RFC4456 is fully supported in BIRD, shouldn't this be present
> both in route announcements and withdrawals?

Hello

No. In BGP, route attributes are associated with updates, never with
withdrawals. That is a general principle for all attributes.

BGP clients know their state (including received prefixes) so they
know which route was withdrawn, as it is identified by the prefix.

If there are multiple paths for the same network within RR cluster,
then RR selects one and announce it, so for a receiver there is no
ambiguity.

That could lead to loss of information, so if you want multiple paths for
the same network announced, you should enable 'add path' extension, which
allow sending multiple paths for one network, disambiguated by 'path
identifier' (which is not a route attribute, but an extension to NLRI).

-- 
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."


More information about the Bird-users mailing list