summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2022-07-10 21:41:07 +0300
committerDonatas Abraitis <donatas@opensourcerouting.org>2022-07-10 21:41:07 +0300
commitc179a46b863bdc1de118b2a20d8a7d6c9695087a (patch)
tree51197f32638fd3725c20545459a328c018583833
parent2ba9ccf73506442d748aa66a8ed78cd2ea77c6cc (diff)
Revert "isisd: avoid fast-reroute on down adjacency when the interface is down"
This reverts commit 08e4960ab48c1c9e4227e40b286d5cbc4ac581f0.
-rw-r--r--isisd/isis_adjacency.c3
-rw-r--r--isisd/isis_circuit.c5
-rw-r--r--isisd/isis_circuit.h1
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 {