diff options
author | Louis Scalbert <louis.scalbert@6wind.com> | 2022-04-13 10:19:18 +0200 |
---|---|---|
committer | Louis Scalbert <louis.scalbert@6wind.com> | 2022-05-24 10:06:05 +0200 |
commit | d526476184999275c318b13f92ae6b38a0250052 (patch) | |
tree | 704ef39a48d76b786ec67a0c054907e0ca79d910 /isisd | |
parent | isisd: avoid fast-reroute on down adjacency when the interface is down (diff) | |
download | frr-d526476184999275c318b13f92ae6b38a0250052.tar.xz frr-d526476184999275c318b13f92ae6b38a0250052.zip |
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')
-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 4717f1b0e..6daeed0fe 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -1644,7 +1644,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( |