summaryrefslogtreecommitdiff
path: root/isisd/isis_adjacency.c
diff options
context:
space:
mode:
authorLouis Scalbert <louis.scalbert@6wind.com>2022-05-20 15:29:21 +0200
committerLouis Scalbert <louis.scalbert@6wind.com>2022-05-24 10:05:49 +0200
commit08e4960ab48c1c9e4227e40b286d5cbc4ac581f0 (patch)
treeaeafcaad82ddf15f69d3c080ee02cc869264115c /isisd/isis_adjacency.c
parent62e458278b3d261f492ffeac7ed70b32272a43dd (diff)
isisd: avoid fast-reroute on down adjacency when the interface is down
When an IS-IS interface is coming down, fast-reroute may be triggered twice: a first time after the detection of the interface down event and a second time after the detection of the adjacency down (because of the expiration of the ISIS Hello or BFD timers). Avoid a BFD down event from running fast-reroute another time if the interface was already detected down. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'isisd/isis_adjacency.c')
-rw-r--r--isisd/isis_adjacency.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/isisd/isis_adjacency.c b/isisd/isis_adjacency.c
index 5b32a9e388..1b85299adf 100644
--- a/isisd/isis_adjacency.c
+++ b/isisd/isis_adjacency.c
@@ -328,7 +328,8 @@ void isis_adj_state_change(struct isis_adjacency **padj,
if (new_state == old_state)
return;
- if (old_state == ISIS_ADJ_UP) {
+ if (old_state == ISIS_ADJ_UP &&
+ !CHECK_FLAG(adj->circuit->flags, ISIS_CIRCUIT_IF_DOWN_FROM_Z)) {
if (IS_DEBUG_EVENTS)
zlog_debug(
"ISIS-Adj (%s): Starting fast-reroute on state change "