bgp_fsm_change_status(connection1, Active);
EVENT_OFF(connection1->t_start);
- if (peer_active(peer1)) {
+ if (peer_active(peer1->connection)) {
if (CHECK_FLAG(peer1->flags,
PEER_FLAG_TIMER_DELAYOPEN))
BGP_EVENT_ADD(connection1,
}
/* Check that at least one AF is activated for the peer. */
- if (!peer_active(peer1)) {
+ if (!peer_active(connection1)) {
if (bgp_debug_neighbor_events(peer1))
zlog_debug(
"%s - incoming conn rejected - no AF activated for peer",
bgp_event_update(connection1, TCP_connection_closed);
}
- if (peer_active(peer)) {
+ if (peer_active(peer->connection)) {
if (CHECK_FLAG(peer->flags, PEER_FLAG_TIMER_DELAYOPEN))
BGP_EVENT_ADD(connection, TCP_connection_open_w_delay);
else
bgp->coalesce_time = MIN(BGP_MAX_SUBGROUP_COALESCE_TIME, ct);
}
- active = peer_active(peer);
+ active = peer_active(peer->connection);
if (!active) {
if (peer->connection->su.sa.sa_family == AF_UNSPEC)
peer->last_reset = PEER_DOWN_NBR_ADDR;
if (bgp->autoshutdown)
peer_flag_set(peer, PEER_FLAG_SHUTDOWN);
/* Set up peer's events and timers. */
- else if (!active && peer_active(peer))
+ else if (!active && peer_active(peer->connection))
bgp_timer_set(peer->connection);
bgp_peer_gr_flags_update(peer);
if (peer_af_create(peer, afi, safi) == NULL)
return 1;
- active = peer_active(peer);
+ active = peer_active(peer->connection);
peer->afc[afi][safi] = 1;
if (peer->group)
peer_group2peer_config_copy_af(peer->group, peer, afi, safi);
- if (!active && peer_active(peer)) {
+ if (!active && peer_active(peer->connection)) {
bgp_timer_set(peer->connection);
} else {
peer->last_reset = PEER_DOWN_AF_ACTIVATE;
}
/* Set up peer's events and timers. */
- if (peer_active(peer))
+ if (peer_active(peer->connection))
bgp_timer_set(peer->connection);
}
}
/* If peer is configured at least one address family return 1. */
-bool peer_active(struct peer *peer)
+bool peer_active(struct peer_connection *connection)
{
- if (BGP_CONNECTION_SU_UNSPEC(peer->connection))
+ struct peer *peer = connection->peer;
+
+ if (BGP_CONNECTION_SU_UNSPEC(connection))
return false;
if (peer->bfd_config) {
/* Skip peer-group mechanics for regular peers. */
if (!CHECK_FLAG(peer->sflags, PEER_STATUS_GROUP)) {
if (!peer_established(peer->connection)) {
- if (peer_active(peer))
+ if (peer_active(peer->connection))
BGP_EVENT_ADD(peer->connection, BGP_Stop);
BGP_EVENT_ADD(peer->connection, BGP_Start);
}
member->v_connect = connect;
if (!peer_established(member->connection)) {
- if (peer_active(member))
+ if (peer_active(member->connection))
BGP_EVENT_ADD(member->connection, BGP_Stop);
BGP_EVENT_ADD(member->connection, BGP_Start);
}
/* Skip peer-group mechanics for regular peers. */
if (!CHECK_FLAG(peer->sflags, PEER_STATUS_GROUP)) {
if (!peer_established(peer->connection)) {
- if (peer_active(peer))
+ if (peer_active(peer->connection))
BGP_EVENT_ADD(peer->connection, BGP_Stop);
BGP_EVENT_ADD(peer->connection, BGP_Start);
}
member->v_connect = peer->bgp->default_connect_retry;
if (!peer_established(member->connection)) {
- if (peer_active(member))
+ if (peer_active(member->connection))
BGP_EVENT_ADD(member->connection, BGP_Stop);
BGP_EVENT_ADD(member->connection, BGP_Start);
}
peer->host);
peer->shut_during_cfg = false;
- if (peer_active(peer) &&
- peer->connection->status != Established) {
+ if (peer_active(peer->connection) && peer->connection->status != Established) {
if (peer->connection->status != Idle)
BGP_EVENT_ADD(peer->connection, BGP_Stop);
BGP_EVENT_ADD(peer->connection, BGP_Start);