When a peer is unbound from its peer-group, in some situations the peer is

deleted while in other situations, the peer continues to exist but its
global flags have all been reset. This is incorrect, particularly for the
CONFIG_NODE flag as other parts of the code depend on this flag being set
for a configured peer. This patch ensures that the correct flags still
remain set for the peer after unbind from its peer-group.
This commit is contained in:
Donald Sharp 2015-05-19 18:04:18 -07:00
parent 14151a3273
commit 821a359aa2

View File

@ -806,6 +806,17 @@ peer_global_config_reset (struct peer *peer)
peer->keepalive = 0;
peer->connect = 0;
peer->v_connect = BGP_DEFAULT_CONNECT_RETRY;
/* Reset some other configs back to defaults. */
peer->v_start = BGP_INIT_START_TIMER;
peer->v_asorig = BGP_DEFAULT_ASORIGINATE;
peer->password = NULL;
peer->local_id = peer->bgp->router_id;
peer->v_holdtime = peer->bgp->default_holdtime;
peer->v_keepalive = peer->bgp->default_keepalive;
/* Set back the CONFIG_NODE flag. */
SET_FLAG (peer->flags, PEER_FLAG_CONFIG_NODE);
}
/* Check peer's AS number and determines if this peer is IBGP or EBGP */