diff options
author | Donatas Abraitis <donatas@opensourcerouting.org> | 2025-01-24 07:50:49 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-24 07:50:49 +0100 |
commit | 2982edcaa3f5be3c90cc4ef347b608717101a1c5 (patch) | |
tree | 26398c108d4549fa37fefdd93d11fe689eee0a12 /bgpd/bgp_updgrp.c | |
parent | Merge pull request #17898 from Pdoijode/pdoijode/fix-ip-route-cmd (diff) | |
parent | bgpd: Fix bgp peer solo option (diff) | |
download | frr-2982edcaa3f5be3c90cc4ef347b608717101a1c5.tar.xz frr-2982edcaa3f5be3c90cc4ef347b608717101a1c5.zip |
Merge pull request #17911 from askorichenko/test-fix-bgp-peer-solo
bgpd: Fix bgp peer solo option
Diffstat (limited to 'bgpd/bgp_updgrp.c')
-rw-r--r-- | bgpd/bgp_updgrp.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/bgpd/bgp_updgrp.c b/bgpd/bgp_updgrp.c index 35ddfc34f..c6b1ff1d2 100644 --- a/bgpd/bgp_updgrp.c +++ b/bgpd/bgp_updgrp.c @@ -2037,13 +2037,16 @@ int update_group_adjust_soloness(struct peer *peer, int set) struct peer_group *group; struct listnode *node, *nnode; - peer_flag_set(peer, PEER_FLAG_LONESOUL); - if (!CHECK_FLAG(peer->sflags, PEER_STATUS_GROUP)) { peer_lonesoul_or_not(peer, set); if (peer_established(peer->connection)) bgp_announce_route_all(peer); } else { + if (set) + peer_flag_set(peer, PEER_FLAG_LONESOUL); + else + peer_flag_unset(peer, PEER_FLAG_LONESOUL); + group = peer->group; for (ALL_LIST_ELEMENTS(group->peer, node, nnode, peer)) { peer_lonesoul_or_not(peer, set); |