diff options
Diffstat (limited to 'bgpd')
| -rw-r--r-- | bgpd/bgp_damp.c | 2 | ||||
| -rw-r--r-- | bgpd/bgp_dump.c | 2 | ||||
| -rw-r--r-- | bgpd/bgp_evpn_mh.c | 2 | ||||
| -rw-r--r-- | bgpd/bgp_fsm.c | 141 | ||||
| -rw-r--r-- | bgpd/bgp_fsm.h | 5 | ||||
| -rw-r--r-- | bgpd/bgp_network.c | 4 | ||||
| -rw-r--r-- | bgpd/bgp_packet.c | 5 | ||||
| -rw-r--r-- | bgpd/bgp_route.c | 6 | ||||
| -rw-r--r-- | bgpd/bgp_updgrp.c | 2 | ||||
| -rw-r--r-- | bgpd/bgp_updgrp_adv.c | 2 | ||||
| -rw-r--r-- | bgpd/bgp_vty.c | 4 | ||||
| -rw-r--r-- | bgpd/bgpd.c | 18 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi_import.c | 57 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi_monitor.c | 12 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi_rib.c | 22 | ||||
| -rw-r--r-- | bgpd/rfapi/vnc_export_bgp.c | 8 |
16 files changed, 140 insertions, 152 deletions
diff --git a/bgpd/bgp_damp.c b/bgpd/bgp_damp.c index 62e8e71aa0..9acbaf7733 100644 --- a/bgpd/bgp_damp.c +++ b/bgpd/bgp_damp.c @@ -465,7 +465,7 @@ int bgp_damp_disable(struct bgp *bgp, afi_t afi, safi_t safi) return 0; /* Cancel reuse event. */ - thread_cancel(&(bdc->t_reuse)); + THREAD_OFF(bdc->t_reuse); /* Clean BGP dampening information. */ bgp_damp_info_clean(afi, safi); diff --git a/bgpd/bgp_dump.c b/bgpd/bgp_dump.c index e57f449f78..720925b20f 100644 --- a/bgpd/bgp_dump.c +++ b/bgpd/bgp_dump.c @@ -702,7 +702,7 @@ static int bgp_dump_unset(struct bgp_dump *bgp_dump) } /* Removing interval event. */ - thread_cancel(&bgp_dump->t_interval); + THREAD_OFF(bgp_dump->t_interval); bgp_dump->interval = 0; diff --git a/bgpd/bgp_evpn_mh.c b/bgpd/bgp_evpn_mh.c index b42296f4de..3f801f7ea0 100644 --- a/bgpd/bgp_evpn_mh.c +++ b/bgpd/bgp_evpn_mh.c @@ -4952,7 +4952,7 @@ void bgp_evpn_mh_finish(void) bgp_evpn_es_local_info_clear(es, true); } if (bgp_mh_info->t_cons_check) - thread_cancel(&bgp_mh_info->t_cons_check); + THREAD_OFF(bgp_mh_info->t_cons_check); list_delete(&bgp_mh_info->local_es_list); list_delete(&bgp_mh_info->pend_es_list); list_delete(&bgp_mh_info->ead_es_export_rtl); diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c index f66c889fb2..b570c84d8b 100644 --- a/bgpd/bgp_fsm.c +++ b/bgpd/bgp_fsm.c @@ -177,17 +177,17 @@ static struct peer *peer_xfer_conn(struct peer *from_peer) */ bgp_keepalives_off(from_peer); - BGP_TIMER_OFF(peer->t_routeadv); - BGP_TIMER_OFF(peer->t_connect); - BGP_TIMER_OFF(peer->t_delayopen); - BGP_TIMER_OFF(peer->t_connect_check_r); - BGP_TIMER_OFF(peer->t_connect_check_w); - BGP_TIMER_OFF(from_peer->t_routeadv); - BGP_TIMER_OFF(from_peer->t_connect); - BGP_TIMER_OFF(from_peer->t_delayopen); - BGP_TIMER_OFF(from_peer->t_connect_check_r); - BGP_TIMER_OFF(from_peer->t_connect_check_w); - BGP_TIMER_OFF(from_peer->t_process_packet); + THREAD_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_connect); + THREAD_OFF(peer->t_delayopen); + THREAD_OFF(peer->t_connect_check_r); + THREAD_OFF(peer->t_connect_check_w); + THREAD_OFF(from_peer->t_routeadv); + THREAD_OFF(from_peer->t_connect); + THREAD_OFF(from_peer->t_delayopen); + THREAD_OFF(from_peer->t_connect_check_r); + THREAD_OFF(from_peer->t_connect_check_w); + THREAD_OFF(from_peer->t_process_packet); /* * At this point in time, it is possible that there are packets pending @@ -365,23 +365,23 @@ void bgp_timer_set(struct peer *peer) inactive. All other timer must be turned off */ if (BGP_PEER_START_SUPPRESSED(peer) || !peer_active(peer) || peer->bgp->vrf_id == VRF_UNKNOWN) { - BGP_TIMER_OFF(peer->t_start); + THREAD_OFF(peer->t_start); } else { BGP_TIMER_ON(peer->t_start, bgp_start_timer, peer->v_start); } - BGP_TIMER_OFF(peer->t_connect); - BGP_TIMER_OFF(peer->t_holdtime); + THREAD_OFF(peer->t_connect); + THREAD_OFF(peer->t_holdtime); bgp_keepalives_off(peer); - BGP_TIMER_OFF(peer->t_routeadv); - BGP_TIMER_OFF(peer->t_delayopen); + THREAD_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_delayopen); break; case Connect: /* After start timer is expired, the peer moves to Connect status. Make sure start timer is off and connect timer is on. */ - BGP_TIMER_OFF(peer->t_start); + THREAD_OFF(peer->t_start); if (CHECK_FLAG(peer->flags, PEER_FLAG_TIMER_DELAYOPEN)) BGP_TIMER_ON(peer->t_connect, bgp_connect_timer, (peer->v_delayopen + peer->v_connect)); @@ -389,19 +389,19 @@ void bgp_timer_set(struct peer *peer) BGP_TIMER_ON(peer->t_connect, bgp_connect_timer, peer->v_connect); - BGP_TIMER_OFF(peer->t_holdtime); + THREAD_OFF(peer->t_holdtime); bgp_keepalives_off(peer); - BGP_TIMER_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_routeadv); break; case Active: /* Active is waiting connection from remote peer. And if connect timer is expired, change status to Connect. */ - BGP_TIMER_OFF(peer->t_start); + THREAD_OFF(peer->t_start); /* If peer is passive mode, do not set connect timer. */ if (CHECK_FLAG(peer->flags, PEER_FLAG_PASSIVE) || CHECK_FLAG(peer->sflags, PEER_STATUS_NSF_WAIT)) { - BGP_TIMER_OFF(peer->t_connect); + THREAD_OFF(peer->t_connect); } else { if (CHECK_FLAG(peer->flags, PEER_FLAG_TIMER_DELAYOPEN)) BGP_TIMER_ON( @@ -411,56 +411,56 @@ void bgp_timer_set(struct peer *peer) BGP_TIMER_ON(peer->t_connect, bgp_connect_timer, peer->v_connect); } - BGP_TIMER_OFF(peer->t_holdtime); + THREAD_OFF(peer->t_holdtime); bgp_keepalives_off(peer); - BGP_TIMER_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_routeadv); break; case OpenSent: /* OpenSent status. */ - BGP_TIMER_OFF(peer->t_start); - BGP_TIMER_OFF(peer->t_connect); + THREAD_OFF(peer->t_start); + THREAD_OFF(peer->t_connect); if (peer->v_holdtime != 0) { BGP_TIMER_ON(peer->t_holdtime, bgp_holdtime_timer, peer->v_holdtime); } else { - BGP_TIMER_OFF(peer->t_holdtime); + THREAD_OFF(peer->t_holdtime); } bgp_keepalives_off(peer); - BGP_TIMER_OFF(peer->t_routeadv); - BGP_TIMER_OFF(peer->t_delayopen); + THREAD_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_delayopen); break; case OpenConfirm: /* OpenConfirm status. */ - BGP_TIMER_OFF(peer->t_start); - BGP_TIMER_OFF(peer->t_connect); + THREAD_OFF(peer->t_start); + THREAD_OFF(peer->t_connect); /* If the negotiated Hold Time value is zero, then the Hold Time timer and KeepAlive timers are not started. */ if (peer->v_holdtime == 0) { - BGP_TIMER_OFF(peer->t_holdtime); + THREAD_OFF(peer->t_holdtime); bgp_keepalives_off(peer); } else { BGP_TIMER_ON(peer->t_holdtime, bgp_holdtime_timer, peer->v_holdtime); bgp_keepalives_on(peer); } - BGP_TIMER_OFF(peer->t_routeadv); - BGP_TIMER_OFF(peer->t_delayopen); + THREAD_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_delayopen); break; case Established: /* In Established status start and connect timer is turned off. */ - BGP_TIMER_OFF(peer->t_start); - BGP_TIMER_OFF(peer->t_connect); - BGP_TIMER_OFF(peer->t_delayopen); + THREAD_OFF(peer->t_start); + THREAD_OFF(peer->t_connect); + THREAD_OFF(peer->t_delayopen); /* Same as OpenConfirm, if holdtime is zero then both holdtime and keepalive must be turned off. */ if (peer->v_holdtime == 0) { - BGP_TIMER_OFF(peer->t_holdtime); + THREAD_OFF(peer->t_holdtime); bgp_keepalives_off(peer); } else { BGP_TIMER_ON(peer->t_holdtime, bgp_holdtime_timer, @@ -469,22 +469,22 @@ void bgp_timer_set(struct peer *peer) } break; case Deleted: - BGP_TIMER_OFF(peer->t_gr_restart); - BGP_TIMER_OFF(peer->t_gr_stale); + THREAD_OFF(peer->t_gr_restart); + THREAD_OFF(peer->t_gr_stale); FOREACH_AFI_SAFI (afi, safi) - BGP_TIMER_OFF(peer->t_llgr_stale[afi][safi]); + THREAD_OFF(peer->t_llgr_stale[afi][safi]); - BGP_TIMER_OFF(peer->t_pmax_restart); - BGP_TIMER_OFF(peer->t_refresh_stalepath); + THREAD_OFF(peer->t_pmax_restart); + THREAD_OFF(peer->t_refresh_stalepath); /* fallthru */ case Clearing: - BGP_TIMER_OFF(peer->t_start); - BGP_TIMER_OFF(peer->t_connect); - BGP_TIMER_OFF(peer->t_holdtime); + THREAD_OFF(peer->t_start); + THREAD_OFF(peer->t_connect); + THREAD_OFF(peer->t_holdtime); bgp_keepalives_off(peer); - BGP_TIMER_OFF(peer->t_routeadv); - BGP_TIMER_OFF(peer->t_delayopen); + THREAD_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_delayopen); break; case BGP_STATUS_MAX: flog_err(EC_LIB_DEVELOPMENT, @@ -516,7 +516,7 @@ static void bgp_connect_timer(struct thread *thread) peer = THREAD_ARG(thread); /* stop the DelayOpenTimer if it is running */ - BGP_TIMER_OFF(peer->t_delayopen); + THREAD_OFF(peer->t_delayopen); assert(!peer->t_write); assert(!peer->t_read); @@ -647,7 +647,7 @@ static void bgp_graceful_restart_timer_off(struct peer *peer) return; UNSET_FLAG(peer->sflags, PEER_STATUS_NSF_WAIT); - BGP_TIMER_OFF(peer->t_gr_stale); + THREAD_OFF(peer->t_gr_stale); if (peer_dynamic_neighbor(peer) && !(CHECK_FLAG(peer->flags, PEER_FLAG_DELETE))) { @@ -965,7 +965,7 @@ void bgp_start_routeadv(struct bgp *bgp) for (ALL_LIST_ELEMENTS(bgp->peer, node, nnode, peer)) { if (!peer_established(peer)) continue; - BGP_TIMER_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_routeadv); BGP_TIMER_ON(peer->t_routeadv, bgp_routeadv_timer, 0); } } @@ -985,7 +985,7 @@ void bgp_adjust_routeadv(struct peer *peer) * different * duration and schedule write thread immediately. */ - BGP_TIMER_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_routeadv); peer->synctime = bgp_clock(); /* If suppress fib pending is enabled, route is advertised to @@ -1017,7 +1017,7 @@ void bgp_adjust_routeadv(struct peer *peer) */ diff = difftime(nowtime, peer->last_update); if (diff > (double)peer->v_routeadv) { - BGP_TIMER_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_routeadv); BGP_TIMER_ON(peer->t_routeadv, bgp_routeadv_timer, 0); return; } @@ -1044,7 +1044,7 @@ void bgp_adjust_routeadv(struct peer *peer) remain = peer->v_routeadv; diff = peer->v_routeadv - diff; if (diff <= (double)remain) { - BGP_TIMER_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_routeadv); BGP_TIMER_ON(peer->t_routeadv, bgp_routeadv_timer, diff); } } @@ -1401,7 +1401,7 @@ int bgp_stop(struct peer *peer) /* graceful restart */ if (peer->t_gr_stale) { - BGP_TIMER_OFF(peer->t_gr_stale); + THREAD_OFF(peer->t_gr_stale); if (bgp_debug_neighbor_events(peer)) zlog_debug( "%pBP graceful restart stalepath timer stopped", @@ -1431,7 +1431,7 @@ int bgp_stop(struct peer *peer) /* Stop route-refresh stalepath timer */ if (peer->t_refresh_stalepath) { - BGP_TIMER_OFF(peer->t_refresh_stalepath); + THREAD_OFF(peer->t_refresh_stalepath); if (bgp_debug_neighbor_events(peer)) zlog_debug( @@ -1464,8 +1464,7 @@ int bgp_stop(struct peer *peer) /* There is no pending EOR message */ if (gr_info->eor_required == 0) { - BGP_TIMER_OFF( - gr_info->t_select_deferral); + THREAD_OFF(gr_info->t_select_deferral); gr_info->eor_received = 0; } } @@ -1494,11 +1493,11 @@ int bgp_stop(struct peer *peer) THREAD_OFF(peer->t_connect_check_w); /* Stop all timers. */ - BGP_TIMER_OFF(peer->t_start); - BGP_TIMER_OFF(peer->t_connect); - BGP_TIMER_OFF(peer->t_holdtime); - BGP_TIMER_OFF(peer->t_routeadv); - BGP_TIMER_OFF(peer->t_delayopen); + THREAD_OFF(peer->t_start); + THREAD_OFF(peer->t_connect); + THREAD_OFF(peer->t_holdtime); + THREAD_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_delayopen); /* Clear input and output buffer. */ frr_with_mutex (&peer->io_mtx) { @@ -1993,7 +1992,7 @@ static int bgp_fsm_holdtime_expire(struct peer *peer) static int bgp_fsm_delayopen_timer_expire(struct peer *peer) { /* Stop the DelayOpenTimer */ - BGP_TIMER_OFF(peer->t_delayopen); + THREAD_OFF(peer->t_delayopen); /* Send open message to peer */ bgp_open_send(peer); @@ -2203,7 +2202,7 @@ static int bgp_establish(struct peer *peer) else { UNSET_FLAG(peer->sflags, PEER_STATUS_NSF_MODE); if (peer->t_gr_stale) { - BGP_TIMER_OFF(peer->t_gr_stale); + THREAD_OFF(peer->t_gr_stale); if (bgp_debug_neighbor_events(peer)) zlog_debug( "%pBP graceful restart stalepath timer stopped", @@ -2212,7 +2211,7 @@ static int bgp_establish(struct peer *peer) } if (peer->t_gr_restart) { - BGP_TIMER_OFF(peer->t_gr_restart); + THREAD_OFF(peer->t_gr_restart); if (bgp_debug_neighbor_events(peer)) zlog_debug("%pBP graceful restart timer stopped", peer); } @@ -2228,7 +2227,7 @@ static int bgp_establish(struct peer *peer) */ FOREACH_AFI_SAFI (afi, safi) { if (peer->t_llgr_stale[afi][safi]) { - BGP_TIMER_OFF(peer->t_llgr_stale[afi][safi]); + THREAD_OFF(peer->t_llgr_stale[afi][safi]); if (bgp_debug_neighbor_events(peer)) zlog_debug( "%pBP Long-lived stale timer stopped for afi/safi: %d/%d", @@ -2273,7 +2272,7 @@ static int bgp_establish(struct peer *peer) * of read-only mode. */ if (!bgp_update_delay_active(peer->bgp)) { - BGP_TIMER_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_routeadv); BGP_TIMER_ON(peer->t_routeadv, bgp_routeadv_timer, 0); } @@ -2309,14 +2308,14 @@ static int bgp_establish(struct peer *peer) /* Keepalive packet is received. */ static int bgp_fsm_keepalive(struct peer *peer) { - BGP_TIMER_OFF(peer->t_holdtime); + THREAD_OFF(peer->t_holdtime); return 0; } /* Update packet is received. */ static int bgp_fsm_update(struct peer *peer) { - BGP_TIMER_OFF(peer->t_holdtime); + THREAD_OFF(peer->t_holdtime); return 0; } @@ -2358,13 +2357,13 @@ void bgp_fsm_nht_update(struct peer *peer, bool has_valid_nexthops) break; case Connect: if (!has_valid_nexthops) { - BGP_TIMER_OFF(peer->t_connect); + THREAD_OFF(peer->t_connect); BGP_EVENT_ADD(peer, TCP_fatal_error); } break; case Active: if (has_valid_nexthops) { - BGP_TIMER_OFF(peer->t_connect); + THREAD_OFF(peer->t_connect); BGP_EVENT_ADD(peer, ConnectRetry_timer_expired); } break; diff --git a/bgpd/bgp_fsm.h b/bgpd/bgp_fsm.h index 765a5aec5e..aaf6c480b2 100644 --- a/bgpd/bgp_fsm.h +++ b/bgpd/bgp_fsm.h @@ -29,11 +29,6 @@ thread_add_timer(bm->master, (F), peer, (V), &(T)); \ } while (0) -#define BGP_TIMER_OFF(T) \ - do { \ - THREAD_OFF((T)); \ - } while (0) - #define BGP_EVENT_ADD(P, E) \ do { \ if ((P)->status != Deleted) \ diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index da4cc03b66..9ecc2ae4e4 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -429,7 +429,7 @@ static void bgp_accept(struct thread *thread) sockopt_tcp_mss_set(bgp_sock, peer1->tcp_mss); bgp_fsm_change_status(peer1, Active); - BGP_TIMER_OFF( + THREAD_OFF( peer1->t_start); /* created in peer_create() */ if (peer_active(peer1)) { @@ -558,7 +558,7 @@ static void bgp_accept(struct thread *thread) } bgp_peer_reg_with_nht(peer); bgp_fsm_change_status(peer, Active); - BGP_TIMER_OFF(peer->t_start); /* created in peer_create() */ + THREAD_OFF(peer->t_start); /* created in peer_create() */ SET_FLAG(peer->sflags, PEER_STATUS_ACCEPT_PEER); /* Make dummy peer until read Open packet. */ diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index 508082c6d6..dbf6c0b2e9 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -2002,8 +2002,7 @@ static int bgp_update_receive(struct peer *peer, bgp_size_t size) gr_info->eor_required, "EOR RCV", gr_info->eor_received); - BGP_TIMER_OFF( - gr_info->t_select_deferral); + THREAD_OFF(gr_info->t_select_deferral); gr_info->eor_required = 0; gr_info->eor_received = 0; /* Best path selection */ @@ -2510,7 +2509,7 @@ static int bgp_route_refresh_receive(struct peer *peer, bgp_size_t size) return BGP_PACKET_NOOP; } - BGP_TIMER_OFF(peer->t_refresh_stalepath); + THREAD_OFF(peer->t_refresh_stalepath); SET_FLAG(peer->af_sflags[afi][safi], PEER_STATUS_EORR_RECEIVED); UNSET_FLAG(peer->af_sflags[afi][safi], diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 35581e7147..9c79ef5c9d 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -3204,7 +3204,7 @@ int bgp_best_path_select_defer(struct bgp *bgp, afi_t afi, safi_t safi) thread_info = THREAD_ARG(t); XFREE(MTYPE_TMP, thread_info); - BGP_TIMER_OFF(bgp->gr_info[afi][safi].t_route_select); + THREAD_OFF(bgp->gr_info[afi][safi].t_route_select); } if (BGP_DEBUG(update, UPDATE_OUT)) { @@ -4744,7 +4744,7 @@ void bgp_stop_announce_route_timer(struct peer_af *paf) if (!paf->t_announce_route) return; - thread_cancel(&paf->t_announce_route); + THREAD_OFF(paf->t_announce_route); } /* @@ -5042,7 +5042,7 @@ void bgp_soft_reconfig_table_task_cancel(const struct bgp *bgp, list_delete(&ntable->soft_reconfig_peers); bgp_soft_reconfig_table_flag(ntable, false); - BGP_TIMER_OFF(ntable->soft_reconfig_thread); + THREAD_OFF(ntable->soft_reconfig_thread); } } diff --git a/bgpd/bgp_updgrp.c b/bgpd/bgp_updgrp.c index ea8d2330c5..17b3db78a2 100644 --- a/bgpd/bgp_updgrp.c +++ b/bgpd/bgp_updgrp.c @@ -1896,7 +1896,7 @@ void update_group_refresh_default_originate_route_map(struct thread *thread) bgp = THREAD_ARG(thread); update_group_walk(bgp, update_group_default_originate_route_map_walkcb, reason); - thread_cancel(&bgp->t_rmap_def_originate_eval); + THREAD_OFF(bgp->t_rmap_def_originate_eval); bgp_unlock(bgp); } diff --git a/bgpd/bgp_updgrp_adv.c b/bgpd/bgp_updgrp_adv.c index 0f7f2f4c02..e81ab202e5 100644 --- a/bgpd/bgp_updgrp_adv.c +++ b/bgpd/bgp_updgrp_adv.c @@ -347,7 +347,7 @@ static void subgroup_coalesce_timer(struct thread *thread) SUBGRP_FOREACH_PEER (subgrp, paf) { peer = PAF_PEER(paf); - BGP_TIMER_OFF(peer->t_routeadv); + THREAD_OFF(peer->t_routeadv); BGP_TIMER_ON(peer->t_routeadv, bgp_routeadv_timer, 0); } } diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index c91a62ba0e..695855f407 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -2055,7 +2055,7 @@ DEFUN (no_bgp_maxmed_onstartup, /* Cancel max-med onstartup if its on */ if (bgp->t_maxmed_onstartup) { - thread_cancel(&bgp->t_maxmed_onstartup); + THREAD_OFF(bgp->t_maxmed_onstartup); bgp->maxmed_onstartup_over = 1; } @@ -7256,7 +7256,7 @@ DEFUN (bgp_set_route_map_delay_timer, * fired. */ if (!rmap_delay_timer && bm->t_rmap_update) { - BGP_TIMER_OFF(bm->t_rmap_update); + THREAD_OFF(bm->t_rmap_update); thread_execute(bm->master, bgp_route_map_update_timer, NULL, 0); } diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index cc15e6f688..aaf8c30415 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -2401,12 +2401,12 @@ void peer_nsf_stop(struct peer *peer) peer->nsf[afi][safi] = 0; if (peer->t_gr_restart) { - BGP_TIMER_OFF(peer->t_gr_restart); + THREAD_OFF(peer->t_gr_restart); if (bgp_debug_neighbor_events(peer)) zlog_debug("%pBP graceful restart timer stopped", peer); } if (peer->t_gr_stale) { - BGP_TIMER_OFF(peer->t_gr_stale); + THREAD_OFF(peer->t_gr_stale); if (bgp_debug_neighbor_events(peer)) zlog_debug( "%pBP graceful restart stalepath timer stopped", @@ -3584,7 +3584,7 @@ void bgp_instance_down(struct bgp *bgp) /* Stop timers. */ if (bgp->t_rmap_def_originate_eval) { - BGP_TIMER_OFF(bgp->t_rmap_def_originate_eval); + THREAD_OFF(bgp->t_rmap_def_originate_eval); bgp_unlock(bgp); /* TODO - This timer is started with a lock - why? */ } @@ -3651,7 +3651,7 @@ int bgp_delete(struct bgp *bgp) if (!gr_info) continue; - BGP_TIMER_OFF(gr_info->t_select_deferral); + THREAD_OFF(gr_info->t_select_deferral); t = gr_info->t_route_select; if (t) { @@ -3659,7 +3659,7 @@ int bgp_delete(struct bgp *bgp) XFREE(MTYPE_TMP, info); } - BGP_TIMER_OFF(gr_info->t_route_select); + THREAD_OFF(gr_info->t_route_select); } if (BGP_DEBUG(zebra, ZEBRA)) { @@ -3682,7 +3682,7 @@ int bgp_delete(struct bgp *bgp) /* Stop timers. */ if (bgp->t_rmap_def_originate_eval) { - BGP_TIMER_OFF(bgp->t_rmap_def_originate_eval); + THREAD_OFF(bgp->t_rmap_def_originate_eval); bgp_unlock(bgp); /* TODO - This timer is started with a lock - why? */ } @@ -4351,7 +4351,7 @@ static void peer_flag_modify_action(struct peer *peer, uint32_t flag) UNSET_FLAG(peer->sflags, PEER_STATUS_PREFIX_OVERFLOW); if (peer->t_pmax_restart) { - BGP_TIMER_OFF(peer->t_pmax_restart); + THREAD_OFF(peer->t_pmax_restart); if (bgp_debug_neighbor_events(peer)) zlog_debug( "%pBP Maximum-prefix restart timer canceled", @@ -7371,7 +7371,7 @@ static bool peer_maximum_prefix_clear_overflow(struct peer *peer) UNSET_FLAG(peer->sflags, PEER_STATUS_PREFIX_OVERFLOW); if (peer->t_pmax_restart) { - BGP_TIMER_OFF(peer->t_pmax_restart); + THREAD_OFF(peer->t_pmax_restart); if (bgp_debug_neighbor_events(peer)) zlog_debug( "%pBP Maximum-prefix restart timer cancelled", @@ -8243,7 +8243,7 @@ void bgp_terminate(void) if (bm->listen_sockets) list_delete(&bm->listen_sockets); - BGP_TIMER_OFF(bm->t_rmap_update); + THREAD_OFF(bm->t_rmap_update); bgp_mac_finish(); } diff --git a/bgpd/rfapi/rfapi_import.c b/bgpd/rfapi/rfapi_import.c index 91b68b13d8..1d42702769 100644 --- a/bgpd/rfapi/rfapi_import.c +++ b/bgpd/rfapi/rfapi_import.c @@ -856,13 +856,11 @@ static void rfapiBgpInfoChainFree(struct bgp_path_info *bpi) */ if (CHECK_FLAG(bpi->flags, BGP_PATH_REMOVED) && bpi->extra->vnc.import.timer) { - - struct thread **t = - &(bpi->extra->vnc.import.timer); - struct rfapi_withdraw *wcb = (*t)->arg; + struct rfapi_withdraw *wcb = + THREAD_ARG(bpi->extra->vnc.import.timer); XFREE(MTYPE_RFAPI_WITHDRAW, wcb); - thread_cancel(t); + THREAD_OFF(bpi->extra->vnc.import.timer); } next = bpi->next; @@ -2371,7 +2369,7 @@ static void rfapiMonitorEncapDelete(struct bgp_path_info *vpn_bpi) */ static void rfapiWithdrawTimerVPN(struct thread *t) { - struct rfapi_withdraw *wcb = t->arg; + struct rfapi_withdraw *wcb = THREAD_ARG(t); struct bgp_path_info *bpi = wcb->info; struct bgp *bgp = bgp_get_default(); const struct prefix *p; @@ -2672,7 +2670,7 @@ rfapiWithdrawEncapUpdateCachedUn(struct rfapi_import_table *import_table, static void rfapiWithdrawTimerEncap(struct thread *t) { - struct rfapi_withdraw *wcb = t->arg; + struct rfapi_withdraw *wcb = THREAD_ARG(t); struct bgp_path_info *bpi = wcb->info; int was_first_route = 0; struct rfapi_monitor_encap *em; @@ -3089,13 +3087,12 @@ static void rfapiBgpInfoFilteredImportEncap( */ if (CHECK_FLAG(bpi->flags, BGP_PATH_REMOVED) && bpi->extra->vnc.import.timer) { - - struct thread **t = - &(bpi->extra->vnc.import.timer); - struct rfapi_withdraw *wcb = (*t)->arg; + struct rfapi_withdraw *wcb = THREAD_ARG( + bpi->extra->vnc.import.timer); XFREE(MTYPE_RFAPI_WITHDRAW, wcb); - thread_cancel(t); + THREAD_OFF( + bpi->extra->vnc.import.timer); } if (action == FIF_ACTION_UPDATE) { @@ -3182,12 +3179,11 @@ static void rfapiBgpInfoFilteredImportEncap( "%s: removing holddown bpi matching NVE of new route", __func__); if (bpi->extra->vnc.import.timer) { - struct thread **t = - &(bpi->extra->vnc.import.timer); - struct rfapi_withdraw *wcb = (*t)->arg; + struct rfapi_withdraw *wcb = + THREAD_ARG(bpi->extra->vnc.import.timer); XFREE(MTYPE_RFAPI_WITHDRAW, wcb); - thread_cancel(t); + THREAD_OFF(bpi->extra->vnc.import.timer); } rfapiExpireEncapNow(import_table, rn, bpi); } @@ -3543,13 +3539,12 @@ void rfapiBgpInfoFilteredImportVPN( */ if (CHECK_FLAG(bpi->flags, BGP_PATH_REMOVED) && bpi->extra->vnc.import.timer) { - - struct thread **t = - &(bpi->extra->vnc.import.timer); - struct rfapi_withdraw *wcb = (*t)->arg; + struct rfapi_withdraw *wcb = THREAD_ARG( + bpi->extra->vnc.import.timer); XFREE(MTYPE_RFAPI_WITHDRAW, wcb); - thread_cancel(t); + THREAD_OFF( + bpi->extra->vnc.import.timer); import_table->holddown_count[afi] -= 1; RFAPI_UPDATE_ITABLE_COUNT( @@ -3762,12 +3757,11 @@ void rfapiBgpInfoFilteredImportVPN( "%s: removing holddown bpi matching NVE of new route", __func__); if (bpi->extra->vnc.import.timer) { - struct thread **t = - &(bpi->extra->vnc.import.timer); - struct rfapi_withdraw *wcb = (*t)->arg; + struct rfapi_withdraw *wcb = + THREAD_ARG(bpi->extra->vnc.import.timer); XFREE(MTYPE_RFAPI_WITHDRAW, wcb); - thread_cancel(t); + THREAD_OFF(bpi->extra->vnc.import.timer); } rfapiExpireVpnNow(import_table, rn, bpi, 0); } @@ -4490,12 +4484,11 @@ static void rfapiDeleteRemotePrefixesIt( if (!delete_holddown) continue; if (bpi->extra->vnc.import.timer) { - - struct thread **t = - &(bpi->extra->vnc - .import.timer); struct rfapi_withdraw *wcb = - (*t)->arg; + THREAD_ARG( + bpi->extra->vnc + .import + .timer); wcb->import_table ->holddown_count[afi] -= @@ -4505,7 +4498,9 @@ static void rfapiDeleteRemotePrefixesIt( afi, 1); XFREE(MTYPE_RFAPI_WITHDRAW, wcb); - thread_cancel(t); + THREAD_OFF( + bpi->extra->vnc.import + .timer); } } else { if (!delete_active) diff --git a/bgpd/rfapi/rfapi_monitor.c b/bgpd/rfapi/rfapi_monitor.c index 8529676118..0e71d5d7e1 100644 --- a/bgpd/rfapi/rfapi_monitor.c +++ b/bgpd/rfapi/rfapi_monitor.c @@ -620,7 +620,7 @@ void rfapiMonitorDel(struct bgp *bgp, struct rfapi_descriptor *rfd, rfapiMonitorDetachImport(m); } - thread_cancel(&m->timer); + THREAD_OFF(m->timer); /* * remove from rfd list @@ -657,7 +657,7 @@ int rfapiMonitorDelHd(struct rfapi_descriptor *rfd) rfapiMonitorDetachImport(m); } - thread_cancel(&m->timer); + THREAD_OFF(m->timer); XFREE(MTYPE_RFAPI_MONITOR, m); rn->info = NULL; @@ -691,7 +691,7 @@ int rfapiMonitorDelHd(struct rfapi_descriptor *rfd) #endif } - thread_cancel(&mon_eth->timer); + THREAD_OFF(mon_eth->timer); /* * remove from rfd list @@ -733,7 +733,7 @@ void rfapiMonitorResponseRemovalOn(struct bgp *bgp) static void rfapiMonitorTimerExpire(struct thread *t) { - struct rfapi_monitor_vpn *m = t->arg; + struct rfapi_monitor_vpn *m = THREAD_ARG(t); /* forget reference to thread, it's gone */ m->timer = NULL; @@ -1039,7 +1039,7 @@ void rfapiMonitorMovedUp(struct rfapi_import_table *import_table, static void rfapiMonitorEthTimerExpire(struct thread *t) { - struct rfapi_monitor_eth *m = t->arg; + struct rfapi_monitor_eth *m = THREAD_ARG(t); /* forget reference to thread, it's gone */ m->timer = NULL; @@ -1400,7 +1400,7 @@ void rfapiMonitorEthDel(struct bgp *bgp, struct rfapi_descriptor *rfd, rfapiMonitorEthDetachImport(bgp, val); } - thread_cancel(&val->timer); + THREAD_OFF(val->timer); /* * remove from rfd list diff --git a/bgpd/rfapi/rfapi_rib.c b/bgpd/rfapi/rfapi_rib.c index c4fc96f5ae..9d61ada7db 100644 --- a/bgpd/rfapi/rfapi_rib.c +++ b/bgpd/rfapi/rfapi_rib.c @@ -268,8 +268,8 @@ static void rfapi_info_free(struct rfapi_info *goner) if (goner->timer) { struct rfapi_rib_tcb *tcb; - tcb = goner->timer->arg; - thread_cancel(&goner->timer); + tcb = THREAD_ARG(goner->timer); + THREAD_OFF(goner->timer); XFREE(MTYPE_RFAPI_RECENT_DELETE, tcb); } XFREE(MTYPE_RFAPI_INFO, goner); @@ -293,7 +293,7 @@ struct rfapi_rib_tcb { */ static void rfapiRibExpireTimer(struct thread *t) { - struct rfapi_rib_tcb *tcb = t->arg; + struct rfapi_rib_tcb *tcb = THREAD_ARG(t); RFAPI_RIB_CHECK_COUNTS(1, 0); @@ -338,8 +338,8 @@ static void rfapiRibStartTimer(struct rfapi_descriptor *rfd, struct rfapi_rib_tcb *tcb = NULL; if (ri->timer) { - tcb = ri->timer->arg; - thread_cancel(&ri->timer); + tcb = THREAD_ARG(ri->timer); + THREAD_OFF(ri->timer); } else { tcb = XCALLOC(MTYPE_RFAPI_RECENT_DELETE, sizeof(struct rfapi_rib_tcb)); @@ -913,8 +913,8 @@ static void process_pending_node(struct bgp *bgp, struct rfapi_descriptor *rfd, if (ri->timer) { struct rfapi_rib_tcb *tcb; - tcb = ri->timer->arg; - thread_cancel(&ri->timer); + tcb = THREAD_ARG(ri->timer); + THREAD_OFF(ri->timer); XFREE(MTYPE_RFAPI_RECENT_DELETE, tcb); } @@ -998,8 +998,8 @@ static void process_pending_node(struct bgp *bgp, struct rfapi_descriptor *rfd, if (ori->timer) { struct rfapi_rib_tcb *tcb; - tcb = ori->timer->arg; - thread_cancel(&ori->timer); + tcb = THREAD_ARG(ori->timer); + THREAD_OFF(ori->timer); XFREE(MTYPE_RFAPI_RECENT_DELETE, tcb); } @@ -1342,8 +1342,8 @@ callback: if (ri->timer) { struct rfapi_rib_tcb *tcb; - tcb = ri->timer->arg; - thread_cancel(&ri->timer); + tcb = THREAD_ARG(ri->timer); + THREAD_OFF(ri->timer); XFREE(MTYPE_RFAPI_RECENT_DELETE, tcb); } RFAPI_RIB_CHECK_COUNTS(0, delete_list->count); diff --git a/bgpd/rfapi/vnc_export_bgp.c b/bgpd/rfapi/vnc_export_bgp.c index 2152a55ca3..05e45bc4c8 100644 --- a/bgpd/rfapi/vnc_export_bgp.c +++ b/bgpd/rfapi/vnc_export_bgp.c @@ -1712,7 +1712,7 @@ void vnc_direct_bgp_rh_add_route(struct bgp *bgp, afi_t afi, * export expiration timer is already running on * this route: cancel it */ - thread_cancel(&eti->timer); + THREAD_OFF(eti->timer); bgp_update(peer, prefix, /* prefix */ 0, /* addpath_id */ @@ -1726,7 +1726,7 @@ void vnc_direct_bgp_rh_add_route(struct bgp *bgp, afi_t afi, static void vncExportWithdrawTimer(struct thread *t) { - struct vnc_export_info *eti = t->arg; + struct vnc_export_info *eti = THREAD_ARG(t); const struct prefix *p = agg_node_get_prefix(eti->node); /* @@ -1943,7 +1943,7 @@ void vnc_direct_bgp_rh_vpn_enable(struct bgp *bgp, afi_t afi) * already running on * this route: cancel it */ - thread_cancel(&eti->timer); + THREAD_OFF(eti->timer); vnc_zlog_debug_verbose( "%s: calling bgp_update", @@ -2012,7 +2012,7 @@ void vnc_direct_bgp_rh_vpn_disable(struct bgp *bgp, afi_t afi) ZEBRA_ROUTE_VNC_DIRECT_RH, BGP_ROUTE_REDISTRIBUTE); if (eti) { - thread_cancel(&eti->timer); + THREAD_OFF(eti->timer); vnc_eti_delete(eti); } |
