From: Maria Matejka Date: Wed, 20 Aug 2025 13:35:32 +0000 (+0200) Subject: BGP: Fix dynamic instance reconfiguration X-Git-Tag: v2.18~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=abc1eec433c9d639870c01e035b099a583857699;p=thirdparty%2Fbird.git BGP: Fix dynamic instance reconfiguration Every dynamic BGP was torn down on reconfig because the inherited configuration is a little bit different than the parent one. Fixed this by applying the same changes before the reconfiguration's memcmp(). This bug was introduced in 56af56a5ab8929bf211bdbe8fef28cb37c2cb7fa. Also fixed interface pattern reconfiguration which always restarted. Added not only comparison but also actual reconfiguration of the pattern itself so that one can update the pattern without restarting a running BGP session. Finally, extended documentation a bit to cover dynamic BGP scenarios a little bit better. Yet, it probably deserves a separate section on dynamic BGP. --- diff --git a/doc/bird.sgml b/doc/bird.sgml index d75640c6b..ca039ef87 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -3059,7 +3059,14 @@ protocol bgp [] { instances are spawned for incoming BGP connections (if source address matches the network prefix). It is possible to mix regular BGP instances with dynamic BGP instances and have multiple dynamic BGP instances with - different ranges. + different ranges. These spawned dynamic BGP instances share the parent + configuration, therefore by reconfiguring the parent protocol forces + reconfiguration of the spawned protocols. + + When the neighbor range is changed, all the spawned dynamic instances + shut down. Reconfiguration clears all dynamic instances which were + previously disabled by the