diff options
Diffstat (limited to 'ospfd/ospf_ldp_sync.c')
| -rw-r--r-- | ospfd/ospf_ldp_sync.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/ospfd/ospf_ldp_sync.c b/ospfd/ospf_ldp_sync.c index 96fa04b588..68792ebcc2 100644 --- a/ospfd/ospf_ldp_sync.c +++ b/ospfd/ospf_ldp_sync.c @@ -99,8 +99,7 @@ int ospf_ldp_sync_announce_update(struct ldp_igp_sync_announce announce) FOR_ALL_INTERFACES (vrf, ifp) ospf_ldp_sync_if_start(ifp, true); - THREAD_TIMER_OFF(ospf->ldp_sync_cmd.t_hello); - ospf->ldp_sync_cmd.t_hello = NULL; + THREAD_OFF(ospf->ldp_sync_cmd.t_hello); ospf->ldp_sync_cmd.sequence = 0; ospf_ldp_sync_hello_timer_add(ospf); @@ -140,7 +139,7 @@ int ospf_ldp_sync_hello_update(struct ldp_igp_sync_hello hello) FOR_ALL_INTERFACES (vrf, ifp) ospf_ldp_sync_if_start(ifp, true); } else { - THREAD_TIMER_OFF(ospf->ldp_sync_cmd.t_hello); + THREAD_OFF(ospf->ldp_sync_cmd.t_hello); ospf_ldp_sync_hello_timer_add(ospf); } ospf->ldp_sync_cmd.sequence = hello.sequence; @@ -249,8 +248,7 @@ void ospf_ldp_sync_if_complete(struct interface *ifp) if (ldp_sync_info && ldp_sync_info->enabled == LDP_IGP_SYNC_ENABLED) { if (ldp_sync_info->state == LDP_IGP_SYNC_STATE_REQUIRED_NOT_UP) ldp_sync_info->state = LDP_IGP_SYNC_STATE_REQUIRED_UP; - THREAD_TIMER_OFF(ldp_sync_info->t_holddown); - ldp_sync_info->t_holddown = NULL; + THREAD_OFF(ldp_sync_info->t_holddown); ospf_if_recalculate_output_cost(ifp); } } @@ -274,7 +272,7 @@ void ospf_ldp_sync_ldp_fail(struct interface *ifp) if (ldp_sync_info && ldp_sync_info->enabled == LDP_IGP_SYNC_ENABLED && ldp_sync_info->state != LDP_IGP_SYNC_STATE_NOT_REQUIRED) { - THREAD_TIMER_OFF(ldp_sync_info->t_holddown); + THREAD_OFF(ldp_sync_info->t_holddown); ldp_sync_info->state = LDP_IGP_SYNC_STATE_REQUIRED_NOT_UP; ospf_if_recalculate_output_cost(ifp); } @@ -337,7 +335,9 @@ void ospf_ldp_sync_if_remove(struct interface *ifp, bool remove) * restore cost */ ols_debug("ldp_sync: Removed from if %s", ifp->name); - THREAD_TIMER_OFF(ldp_sync_info->t_holddown); + + THREAD_OFF(ldp_sync_info->t_holddown); + ldp_sync_info->state = LDP_IGP_SYNC_STATE_NOT_REQUIRED; ospf_if_recalculate_output_cost(ifp); if (!CHECK_FLAG(ldp_sync_info->flags, LDP_SYNC_FLAG_IF_CONFIG)) @@ -386,7 +386,6 @@ static int ospf_ldp_sync_holddown_timer(struct thread *thread) ldp_sync_info = params->ldp_sync_info; ldp_sync_info->state = LDP_IGP_SYNC_STATE_REQUIRED_UP; - ldp_sync_info->t_holddown = NULL; ols_debug("ldp_sync: holddown timer expired for %s state: %s", ifp->name, "Sync achieved"); @@ -436,7 +435,6 @@ static int ospf_ldp_sync_hello_timer(struct thread *thread) */ ospf = ospf_lookup_by_vrf_id(VRF_DEFAULT); if (ospf) { - ospf->ldp_sync_cmd.t_hello = NULL; vrf = vrf_lookup_by_id(ospf->vrf_id); FOR_ALL_INTERFACES (vrf, ifp) @@ -486,8 +484,8 @@ void ospf_ldp_sync_gbl_exit(struct ospf *ospf, bool remove) UNSET_FLAG(ospf->ldp_sync_cmd.flags, LDP_SYNC_FLAG_ENABLE); UNSET_FLAG(ospf->ldp_sync_cmd.flags, LDP_SYNC_FLAG_HOLDDOWN); ospf->ldp_sync_cmd.holddown = LDP_IGP_SYNC_HOLDDOWN_DEFAULT; - THREAD_TIMER_OFF(ospf->ldp_sync_cmd.t_hello); - ospf->ldp_sync_cmd.t_hello = NULL; + + THREAD_OFF(ospf->ldp_sync_cmd.t_hello); /* turn off LDP-IGP Sync on all OSPF interfaces */ vrf = vrf_lookup_by_id(ospf->vrf_id); @@ -980,8 +978,7 @@ DEFPY (no_mpls_ldp_sync, SET_FLAG(ldp_sync_info->flags, LDP_SYNC_FLAG_IF_CONFIG); ldp_sync_info->enabled = LDP_IGP_SYNC_DEFAULT; ldp_sync_info->state = LDP_IGP_SYNC_STATE_NOT_REQUIRED; - THREAD_TIMER_OFF(ldp_sync_info->t_holddown); - ldp_sync_info->t_holddown = NULL; + THREAD_OFF(ldp_sync_info->t_holddown); ospf_if_recalculate_output_cost(ifp); return CMD_SUCCESS; |
