diff options
| author | Fredi Raspall <fredi@voltanet.io> | 2021-04-23 18:33:43 +0200 | 
|---|---|---|
| committer | Fredi Raspall <fredi@voltanet.io> | 2021-05-03 17:27:37 +0200 | 
| commit | ce4eccfa800fccb461ac99ec3b6f12ba190c185d (patch) | |
| tree | ae1e115b4d221e5f86cc1339328981759fb74c02 /isisd/isis_nb.c | |
| parent | f71e1ff6a98d0e244c7da11d870d14e31b517811 (diff) | |
isisd: link protection optional fallback in ti-lfa
The current implementation of TI-LFA computes link-protecting
repair paths (even when node protection is enabled) to have repair
paths to all destinations when no node-protecting repair has been
found. This may be desired or not. E.g. the link-protecting paths
may use the protected node and be, therefore, useless if the node
fails. Also, computing link-protecting repairs incurs extra
calculations.
With this patch, when node protection is enabled, link protecting
repair paths are only computed if "link-fallback" is specified in
the configuration, on a per interface and IS-IS level.
Signed-off-by: Fredi Raspall <fredi@voltanet.io>
Diffstat (limited to 'isisd/isis_nb.c')
| -rw-r--r-- | isisd/isis_nb.c | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/isisd/isis_nb.c b/isisd/isis_nb.c index 4eac8de2cb..ecad16229c 100644 --- a/isisd/isis_nb.c +++ b/isisd/isis_nb.c @@ -978,6 +978,12 @@ const struct frr_yang_module_info frr_isisd_info = {  			}  		},  		{ +			.xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-1/ti-lfa/link-fallback", +			.cbs = { +				.modify = lib_interface_isis_fast_reroute_level_1_ti_lfa_link_fallback_modify, +			} +		}, +		{  			.xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-2/lfa/enable",  			.cbs = {  				.modify = lib_interface_isis_fast_reroute_level_2_lfa_enable_modify, @@ -1018,6 +1024,12 @@ const struct frr_yang_module_info frr_isisd_info = {  			}  		},  		{ +			.xpath = "/frr-interface:lib/interface/frr-isisd:isis/fast-reroute/level-2/ti-lfa/link-fallback", +			.cbs = { +				.modify = lib_interface_isis_fast_reroute_level_2_ti_lfa_link_fallback_modify, +			} +		}, +		{  			.xpath = "/frr-interface:lib/interface/state/frr-isisd:isis",  			.cbs = {  				.get_elem = lib_interface_state_isis_get_elem,  | 
