diff options
Diffstat (limited to 'bgpd')
-rw-r--r-- | bgpd/bgp_updgrp.c | 2 | ||||
-rw-r--r-- | bgpd/bgp_vty.c | 7 | ||||
-rw-r--r-- | bgpd/bgpd.c | 1 |
3 files changed, 5 insertions, 5 deletions
diff --git a/bgpd/bgp_updgrp.c b/bgpd/bgp_updgrp.c index b717793a4..115bc35cd 100644 --- a/bgpd/bgp_updgrp.c +++ b/bgpd/bgp_updgrp.c @@ -2016,6 +2016,8 @@ 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)) diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index c9c7b8049..338f6e3a5 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -18678,11 +18678,8 @@ static void bgp_config_write_peer_global(struct vty *vty, struct bgp *bgp, peer->password); /* neighbor solo */ - if (CHECK_FLAG(peer->flags, PEER_FLAG_LONESOUL)) { - if (!peer_group_active(peer)) { - vty_out(vty, " neighbor %s solo\n", addr); - } - } + if (peergroup_flag_check(peer, PEER_FLAG_LONESOUL)) + vty_out(vty, " neighbor %s solo\n", addr); /* BGP port */ if (peer->port != BGP_PORT_DEFAULT) { diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index a88de651f..ad45f5d6e 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -4701,6 +4701,7 @@ static const struct peer_flag_action peer_flag_action_list[] = { {PEER_FLAG_CAPABILITY_FQDN, 0, peer_change_none}, {PEER_FLAG_AS_LOOP_DETECTION, 0, peer_change_none}, {PEER_FLAG_EXTENDED_LINK_BANDWIDTH, 0, peer_change_none}, + {PEER_FLAG_LONESOUL, 0, peer_change_reset_out}, {0, 0, 0}}; static const struct peer_flag_action peer_af_flag_action_list[] = { |