From b8579ee71269c8cac7b426a0acff59b129db25dd Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 1 Dec 2022 13:06:40 -0500 Subject: [PATCH] bgpd: Ensure correct flags when inheriting config from a peer group When a peer is a peer-group based peer, and the config is inherited from the peer group, let's ensure that the CONFIG_NODE flag stays no matter what. Signed-off-by: Donald Sharp --- bgpd/bgpd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 12ee96ff4506..9811b364bf1d 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2649,6 +2649,7 @@ static void peer_group2peer_config_copy(struct peer_group *group, { uint32_t flags_tmp; struct peer *conf; + bool config_node = !!CHECK_FLAG(peer->flags, PEER_FLAG_CONFIG_NODE); conf = group->conf; @@ -2676,6 +2677,9 @@ static void peer_group2peer_config_copy(struct peer_group *group, SET_FLAG(peer->flags, flags_tmp); SET_FLAG(peer->flags_invert, conf->flags_invert); + if (config_node) + SET_FLAG(peer->flags, PEER_FLAG_CONFIG_NODE); + /* peer timers apply */ if (!CHECK_FLAG(peer->flags_override, PEER_FLAG_TIMER)) { PEER_ATTR_INHERIT(peer, group, holdtime);