From c179a46b863bdc1de118b2a20d8a7d6c9695087a Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Sun, 10 Jul 2022 21:41:07 +0300 Subject: [PATCH] Revert "isisd: avoid fast-reroute on down adjacency when the interface is down" This reverts commit 08e4960ab48c1c9e4227e40b286d5cbc4ac581f0. --- isisd/isis_adjacency.c | 3 +-- isisd/isis_circuit.c | 5 +---- isisd/isis_circuit.h | 1 - 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/isisd/isis_adjacency.c b/isisd/isis_adjacency.c index 1b85299adf..5b32a9e388 100644 --- a/isisd/isis_adjacency.c +++ b/isisd/isis_adjacency.c @@ -328,8 +328,7 @@ void isis_adj_state_change(struct isis_adjacency **padj, if (new_state == old_state) return; - if (old_state == ISIS_ADJ_UP && - !CHECK_FLAG(adj->circuit->flags, ISIS_CIRCUIT_IF_DOWN_FROM_Z)) { + if (old_state == ISIS_ADJ_UP) { if (IS_DEBUG_EVENTS) zlog_debug( "ISIS-Adj (%s): Starting fast-reroute on state change " diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index cfa872c11d..5d3e5f3906 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -1618,10 +1618,8 @@ static int isis_ifp_up(struct interface *ifp) { struct isis_circuit *circuit = ifp->info; - if (circuit) { - UNSET_FLAG(circuit->flags, ISIS_CIRCUIT_IF_DOWN_FROM_Z); + if (circuit) isis_csm_state_change(IF_UP_FROM_Z, circuit, ifp); - } return 0; } @@ -1632,7 +1630,6 @@ 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, diff --git a/isisd/isis_circuit.h b/isisd/isis_circuit.h index b3ad3f7ffe..db8e2f752a 100644 --- a/isisd/isis_circuit.h +++ b/isisd/isis_circuit.h @@ -142,7 +142,6 @@ struct isis_circuit { struct list *ipv6_non_link; /* our non-link local IPv6 addresses */ uint16_t upadjcount[ISIS_LEVELS]; #define ISIS_CIRCUIT_FLAPPED_AFTER_SPF 0x01 -#define ISIS_CIRCUIT_IF_DOWN_FROM_Z 0x02 uint8_t flags; bool disable_threeway_adj; struct { -- 2.39.5