]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: When copying from src to dest do not overwrite the CONFIG_NODE
authorDonald Sharp <sharpd@nvidia.com>
Wed, 30 Nov 2022 15:41:54 +0000 (10:41 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Mon, 5 Dec 2022 14:11:22 +0000 (09:11 -0500)
When the decision has been made to copy a peer configuration from
a peer to another peer because one is taking over.  Do not automatically
set the CONFIG_NODE flag.  Instead we need to handle that appropriately
when the final decision is made to transfer.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
bgpd/bgpd.c

index b04ee2dd54401894cfc5d5d497f2ab1e334c9ebc..e83ea2b460d679c69707c6ad8a2bb37bcba8b63e 100644 (file)
@@ -1457,7 +1457,10 @@ void peer_xfer_config(struct peer *peer_dst, struct peer *peer_src)
 
        /* peer flags apply */
        peer_dst->flags = peer_src->flags;
-
+       /*
+        * The doppelganger *must* not have a config node stored
+        */
+       UNSET_FLAG(peer_dst->flags, PEER_FLAG_CONFIG_NODE);
        peer_dst->peer_gr_present_state = peer_src->peer_gr_present_state;
        peer_dst->peer_gr_new_status_flag = peer_src->peer_gr_new_status_flag;