From: Daniel Walton Date: Wed, 9 Aug 2017 16:04:55 +0000 (+0400) Subject: bgpd: do not bounce peer when re-binding to current peer-group X-Git-Tag: frr-4.0-dev~429^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=ed9fb826388618912c99b5c5fe8a5b3a9596f6dd;p=matthieu%2Ffrr.git bgpd: do not bounce peer when re-binding to current peer-group Signed-off-by: Daniel Walton --- diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index d30def0f07..75975b8d68 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2518,11 +2518,17 @@ int peer_group_bind(struct bgp *bgp, union sockunion *su, struct peer *peer, /* The peer exist, bind it to the peer-group */ if (peer) { - /* When the peer already belongs to peer group, check the + /* When the peer already belongs to a peer-group, check the * consistency. */ - if (peer_group_active(peer) - && strcmp(peer->group->name, group->name) != 0) - return BGP_ERR_PEER_GROUP_CANT_CHANGE; + if (peer_group_active(peer)) { + + /* The peer is already bound to the peer-group, + * nothing to do */ + if (strcmp(peer->group->name, group->name) == 0) + return 0; + else + return BGP_ERR_PEER_GROUP_CANT_CHANGE; + } /* The peer has not specified a remote-as, inherit it from the * peer-group */