BGP withdraw update on configuration reload
santiago at crfreenet.org
Mon Nov 21 15:58:10 CET 2016
On Mon, Nov 21, 2016 at 03:27:59PM +0100, Robert Sander wrote:
> I experience the following behaviour with BIRD 1.6.2:
> 1. Change the config file
> 2. birdc configure
> 3. BIRD sends out an UPDATE message to its BGP peer to withdraw all
> prefixes learned via OSPF (see screenshot)
> 4. a second UPDATE message then contains all prefixes that should be
> announced according to the filters
> Where does this magic in step 3 come from? Why are prefixes getting
> leaked to the BGP peer that should not (even in a withdraw update)?
This is a result of these three facts:
1) BIRD does not internally keep state which routes were exported to which
protocols. If such information is needed, it is just recomputed again.
2) After reconfigure, such information cannot be safely recomputed. Old
filters are lost with old configuration and even if we kept old
configuration, we would not know which route was exported with which
configuration (as new reconfiguration could be requested before old is
3) BGP protocol does not have a safe way to say 'export just these
routes: A B C, and nothing more'. There is an extension for that, but it
is not generally supported and even BIRD does not use it in this case. So
if you want to resynchronize, you have to withdraw all that should not be
exported and update all that should.
Generally, i think that in the future, we should change 1), it
complicates too many things.
Also, as a workaround, you could connect BGP to a separate table and
use a pipe protocol to connnect that table to the master table.
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...
Size: 181 bytes
Desc: Digital signature
More information about the Bird-users