diff options
Diffstat (limited to 'isisd/isis_circuit.c')
| -rw-r--r-- | isisd/isis_circuit.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index 6072d6bf74..4717f1b0e3 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -1631,8 +1631,10 @@ static int isis_ifp_up(struct interface *ifp) { struct isis_circuit *circuit = ifp->info; - if (circuit) + if (circuit) { + UNSET_FLAG(circuit->flags, ISIS_CIRCUIT_IF_DOWN_FROM_Z); isis_csm_state_change(IF_UP_FROM_Z, circuit, ifp); + } return 0; } @@ -1643,6 +1645,7 @@ static int isis_ifp_down(struct interface *ifp) struct isis_circuit *circuit = ifp->info; if (circuit) { + SET_FLAG(circuit->flags, ISIS_CIRCUIT_IF_DOWN_FROM_Z); for (afi = AFI_IP; afi <= AFI_IP6; afi++) isis_circuit_switchover_routes( circuit, afi == AFI_IP ? AF_INET : AF_INET6, |
