]> git.puffer.fish Git - mirror/frr.git/commitdiff
isisd: avoid fast-reroute from running twice on a down interface event
authorLouis Scalbert <louis.scalbert@6wind.com>
Wed, 13 Apr 2022 08:19:18 +0000 (10:19 +0200)
committerLouis Scalbert <louis.scalbert@6wind.com>
Tue, 24 May 2022 08:06:05 +0000 (10:06 +0200)
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>
isisd/isis_circuit.c

index 4717f1b0e37cf46219119c510d563096e6590b4a..6daeed0fe0c9d6b8711b1acbb4b3087a86496bd3 100644 (file)
@@ -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(