I dont know the bird internals exactly, but iirc this is implemented to save tracking as you mentioned in the code.
According to RFC 2918 Otherwise, the BGP speaker shall re- advertise to that peer the Adj-RIB-Out of the <AFI, SAFI> carried in the message, based on its outbound route filtering policy. --> No withdraw mentioned I think in some situations it makes sense to withdraw all known routes, but the still active ones to create a consistent table on the receiver side. What is the peer device btw? Rgds, SJ P.S.: Sorry for TOFU Christos Trochalakis <[email protected]> schrieb am Mo., 28. Dez. 2015 09:46: > On Thu, Dec 10, 2015 at 12:10:35PM +0200, Christos Trochalakis wrote: > >Hello all, > > > >While debugging a route-refresh issue we discovered that when a > route-refresh > >is received, bird, instead of just sending an update containing the > exported > >routes, also withdraws **all known routes** from its peer. In our case, it > >withdraws the whole FIRT sending multiple BGP updates. Is this the > expected > >behaviour? We are using bird 1.4.5. > > > >We believe that the opposite router has trouble processing all those > withdrawed > >routes which leads to other connectivity issues. > > > > Any comments on that? > > Let me restate the issue, bird withdraws every route in its routing > table despite the fact that those routes were never exported to that > protocol. I am not familiar with bird internals so I don't know if bird > keeps track of the exported routes per protocol. >
