diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 9dd0374c9d..1e83047f66 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2714,6 +2714,8 @@ peer_group_bind (struct bgp *bgp, union sockunion *su, struct peer *peer, peer_group2peer_config_copy_af (group, peer, afi, safi); } } + else if (peer->afc[afi][safi]) + peer_deactivate (peer, afi, safi); } if (peer->group) @@ -2794,6 +2796,8 @@ peer_group_bind (struct bgp *bgp, union sockunion *su, struct peer *peer, peer_af_create(peer, afi, safi); peer_group2peer_config_copy_af (group, peer, afi, safi); } + else if (peer->afc[afi][safi]) + peer_deactivate (peer, afi, safi); SET_FLAG(peer->flags, PEER_FLAG_CONFIG_NODE);