On Tue, Feb 14, 2023 at 01:05:36PM +0100, Claudio Jeker wrote: > bgpd does not really synchronize the start of sessions with > the config reload of the RDE. This is fine but there is one gotcha. > When loading big configs including RTR tables the delay between the SE > finishing the config reload (RECONF_DONE) and the RDE finally getting > RECONF_DONE is so long that on startup many sessions come up manage to > feed data to the RDE before the initial config gets active. This is not > great. > > So this diff tries to reduce this window a bit by > a) issue RECONF_DONE for the RTR and RDE together (there is no dependecy > between the two and the ROA/ASPA reloads can happen on the side). > b) introduce a small timeout before bringing new sessions up. > > For the second diff I had to fix a bug in the neighbor state handler which > has been there for a long time. The "reinit due?" case only triggers when > init_peer() also triggers and so this code makes no sense and can simply > be removed. We should never restart a session because of a config reload.
This all makes sense, as usual. ok tb