summaryrefslogtreecommitdiff
path: root/isisd/isis_circuit.h
diff options
context:
space:
mode:
authorLouis Scalbert <louis.scalbert@6wind.com>2022-03-21 17:59:27 +0100
committerLouis Scalbert <louis.scalbert@6wind.com>2022-10-24 11:50:13 +0200
commit694fa86728fa1292246ac860c82b051e8d2dbf4a (patch)
treeb1d385773cf20c0ed29eb6d342563a7aad52fe8a /isisd/isis_circuit.h
parent6eb8da37b0e955d4cbe034d4d49743d4d5266101 (diff)
isisd: apply fast-reroute on an adjacency failure
When a adjacency falls down, the primary routes are not deleted on the dataplane until the SPF is recomputed. Even the backup routes are pre-installed on the dataplane, there is no fast-route optimization. Reasons for an adjacency to come down are: - BFD down - Hello timer timeout - User adjacency clear Apply the backup route switchover for fast-reroute as soon an IS-IS adjacency falls down before the first SPF re-computation. Pre-computed backup routes are applied sooner. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'isisd/isis_circuit.h')
-rw-r--r--isisd/isis_circuit.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/isisd/isis_circuit.h b/isisd/isis_circuit.h
index 5ff0390c26..db8e2f752a 100644
--- a/isisd/isis_circuit.h
+++ b/isisd/isis_circuit.h
@@ -28,6 +28,7 @@
#include "qobj.h"
#include "prefix.h"
#include "ferr.h"
+#include "nexthop.h"
#include "isis_constants.h"
#include "isis_common.h"
@@ -209,6 +210,9 @@ void isis_circuit_print_vty(struct isis_circuit *circuit, struct vty *vty,
void isis_circuit_print_json(struct isis_circuit *circuit,
struct json_object *json, char detail);
size_t isis_circuit_pdu_size(struct isis_circuit *circuit);
+void isis_circuit_switchover_routes(struct isis_circuit *circuit, int family,
+ union g_addr *nexthop_ip,
+ ifindex_t ifindex);
void isis_circuit_stream(struct isis_circuit *circuit, struct stream **stream);
void isis_circuit_af_set(struct isis_circuit *circuit, bool ip_router,