On Mon, Nov 21, 2016 at 03:27:59PM +0100, Robert Sander wrote: > Hi, > > 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)?
Hi 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 settled). 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: santi...@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."
signature.asc
Description: Digital signature