version 1.1.1.2, 2012/10/09 09:22:28
|
version 1.1.1.3, 2016/11/02 10:09:10
|
Line 110 area_resign_level (struct isis_area *area, int level)
|
Line 110 area_resign_level (struct isis_area *area, int level)
|
} |
} |
#endif /* HAVE_IPV6 */ |
#endif /* HAVE_IPV6 */ |
|
|
|
sched_debug("ISIS (%s): Resigned from L%d - canceling LSP regeneration timer.", |
|
area->area_tag, level); |
THREAD_TIMER_OFF (area->t_lsp_refresh[level - 1]); |
THREAD_TIMER_OFF (area->t_lsp_refresh[level - 1]); |
|
area->lsp_regenerate_pending[level - 1] = 0; |
} |
} |
|
|
void |
void |
Line 245 circuit_resign_level (struct isis_circuit *circuit, in
|
Line 248 circuit_resign_level (struct isis_circuit *circuit, in
|
THREAD_TIMER_OFF (circuit->u.bc.t_send_lan_hello[idx]); |
THREAD_TIMER_OFF (circuit->u.bc.t_send_lan_hello[idx]); |
THREAD_TIMER_OFF (circuit->u.bc.t_run_dr[idx]); |
THREAD_TIMER_OFF (circuit->u.bc.t_run_dr[idx]); |
THREAD_TIMER_OFF (circuit->u.bc.t_refresh_pseudo_lsp[idx]); |
THREAD_TIMER_OFF (circuit->u.bc.t_refresh_pseudo_lsp[idx]); |
|
circuit->lsp_regenerate_pending[idx] = 0; |
circuit->u.bc.run_dr_elect[idx] = 0; |
circuit->u.bc.run_dr_elect[idx] = 0; |
list_delete (circuit->u.bc.lan_neighs[idx]); |
list_delete (circuit->u.bc.lan_neighs[idx]); |
circuit->u.bc.lan_neighs[idx] = NULL; |
circuit->u.bc.lan_neighs[idx] = NULL; |
Line 280 isis_event_circuit_type_change (struct isis_circuit *c
|
Line 284 isis_event_circuit_type_change (struct isis_circuit *c
|
return; |
return; |
} |
} |
|
|
switch (circuit->is_type) | if (! circuit->is_passive) |
{ |
{ |
case IS_LEVEL_1: | switch (circuit->is_type) |
if (newtype == IS_LEVEL_2) | { |
circuit_resign_level (circuit, 1); | case IS_LEVEL_1: |
circuit_commence_level (circuit, 2); | if (newtype == IS_LEVEL_2) |
break; | circuit_resign_level (circuit, 1); |
case IS_LEVEL_1_AND_2: | circuit_commence_level (circuit, 2); |
if (newtype == IS_LEVEL_1) | break; |
circuit_resign_level (circuit, 2); | case IS_LEVEL_1_AND_2: |
else | if (newtype == IS_LEVEL_1) |
circuit_resign_level (circuit, 1); | circuit_resign_level (circuit, 2); |
break; | else |
case IS_LEVEL_2: | circuit_resign_level (circuit, 1); |
if (newtype == IS_LEVEL_1) | break; |
circuit_resign_level (circuit, 2); | case IS_LEVEL_2: |
circuit_commence_level (circuit, 1); | if (newtype == IS_LEVEL_1) |
break; | circuit_resign_level (circuit, 2); |
default: | circuit_commence_level (circuit, 1); |
break; | break; |
| default: |
| break; |
| } |
} |
} |
|
|
circuit->is_type = newtype; |
circuit->is_type = newtype; |