diff options
| author | Louis Scalbert <louis.scalbert@6wind.com> | 2022-03-21 17:59:27 +0100 |
|---|---|---|
| committer | Louis Scalbert <louis.scalbert@6wind.com> | 2022-10-24 11:50:13 +0200 |
| commit | 694fa86728fa1292246ac860c82b051e8d2dbf4a (patch) | |
| tree | b1d385773cf20c0ed29eb6d342563a7aad52fe8a /isisd/isis_circuit.h | |
| parent | 6eb8da37b0e955d4cbe034d4d49743d4d5266101 (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.h | 4 |
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, |
