summaryrefslogtreecommitdiffstats
path: root/isisd/isis_circuit.h
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2020-08-21 00:55:42 +0200
committerRenato Westphal <renato@opensourcerouting.org>2020-10-14 21:27:37 +0200
commitc951ee6eeeace451f89bfafbbf2ce9e9d554c22f (patch)
treecf49bde9d5a593120c7c900b925458c95624a856 /isisd/isis_circuit.h
parentyang, isisd: add TI-LFA YANG nodes and corresponding skeleton callbacks (diff)
downloadfrr-c951ee6eeeace451f89bfafbbf2ce9e9d554c22f.tar.xz
frr-c951ee6eeeace451f89bfafbbf2ce9e9d554c22f.zip
isisd: add support for Topology Independent LFA (TI-LFA)
TI-LFA is a modern fast-reroute (FRR) solution that leverages Segment Routing to pre-compute backup nexthops for all destinations in the network, helping to reduce traffic restoration times whenever a failure occurs. The backup nexthops are expected to be installed in the FIB so that they can be activated as soon as a failure is detected, making sub-50ms recovery possible (assuming an hierarchical FIB). TI-LFA is a huge step forward compared to prior IP-FRR solutions, like classic LFA and Remote LFA, as it guarantees 100% coverage for all destinations. This is possible thanks to the source routing capabilities of SR, which allows the backup nexthops to steer traffic around the failures (using as many SIDs as necessary). In addition to that, the repair paths always follow the post-convergence SPF tree, which prevents transient congestions and suboptimal routing from happening. Deploying TI-LFA is very simple as it only requires a single configuration command for each interface that needs to be protected (both link protection and node protection are available). In addition to IPv4 and IPv6 routes, SR Prefix-SIDs and Adj-SIDs are also protected by the backup nexthops computed by the TI-LFA algorithms. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'isisd/isis_circuit.h')
-rw-r--r--isisd/isis_circuit.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/isisd/isis_circuit.h b/isisd/isis_circuit.h
index 48afd24b6..b4b03bf6b 100644
--- a/isisd/isis_circuit.h
+++ b/isisd/isis_circuit.h
@@ -141,6 +141,8 @@ struct isis_circuit {
bool disable_threeway_adj;
struct bfd_info *bfd_info;
struct ldp_sync_info *ldp_sync_info;
+ bool tilfa_protection[ISIS_LEVELS];
+ bool tilfa_node_protection[ISIS_LEVELS];
/*
* Counters as in 10589--11.2.5.9
*/