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>
This commit is contained in:
Louis Scalbert 2022-04-13 10:19:18 +02:00
parent 4e689dcddb
commit 0cd33c983d

View File

@ -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(