diff options
| author | Louis Scalbert <louis.scalbert@6wind.com> | 2022-04-13 10:19:18 +0200 | 
|---|---|---|
| committer | Louis Scalbert <louis.scalbert@6wind.com> | 2022-10-24 11:50:13 +0200 | 
| commit | 0cd33c983dcbd13fa40ae48993a5e0ec96d37531 (patch) | |
| tree | e1f5d50aba8bd4b65539f543ed935efa498ee6f3 /isisd/isis_circuit.c | |
| parent | 4e689dcddbc50d168c0155bf69aa8870c9504d78 (diff) | |
isisd: avoid fast-reroute from running twice on a down interface event
isis_ifp_down() may in some circumstances be called twice on a down
interface event.
Avoid applying fast-reroute on an already down interface.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'isisd/isis_circuit.c')
| -rw-r--r-- | isisd/isis_circuit.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index 4c094b7c66..fa0f2c998f 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -1641,7 +1641,8 @@ static int isis_ifp_down(struct interface *ifp)  	afi_t afi;  	struct isis_circuit *circuit = ifp->info; -	if (circuit) { +	if (circuit && +	    !CHECK_FLAG(circuit->flags, ISIS_CIRCUIT_IF_DOWN_FROM_Z)) {  		SET_FLAG(circuit->flags, ISIS_CIRCUIT_IF_DOWN_FROM_Z);  		for (afi = AFI_IP; afi <= AFI_IP6; afi++)  			isis_circuit_switchover_routes(  | 
