summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authoraapostoliuk <a.apostoliuk@vyos.io>2025-08-27 16:34:59 +0300
committeraapostoliuk <a.apostoliuk@vyos.io>2025-08-28 13:43:29 +0300
commit5098fa8eb575afed317207c325f9126d3e0b32ae (patch)
tree323083f4e853297b8defacc79f1a0b77db59ae82 /data
parent968409218f914d180b2f9781edf3423ddb8ac738 (diff)
downloadvyos-1x-5098fa8eb575afed317207c325f9126d3e0b32ae.tar.gz
vyos-1x-5098fa8eb575afed317207c325f9126d3e0b32ae.zip
isis: T7722: Added interface fast-reroute configuration commands
Added interface fast-reroute configuration commands
Diffstat (limited to 'data')
-rw-r--r--data/templates/frr/isisd.frr.j227
1 files changed, 27 insertions, 0 deletions
diff --git a/data/templates/frr/isisd.frr.j2 b/data/templates/frr/isisd.frr.j2
index a4ea28942..6691517b4 100644
--- a/data/templates/frr/isisd.frr.j2
+++ b/data/templates/frr/isisd.frr.j2
@@ -16,6 +16,33 @@ interface {{ iface }}
{% if iface_config.circuit_type is vyos_defined %}
isis circuit-type {{ iface_config.circuit_type }}
{% endif %}
+{% if iface_config.fast_reroute.lfa is vyos_defined %}
+{% for level, level_config in iface_config.fast_reroute.lfa.items() %}
+{% if level_config.enable is vyos_defined %}
+isis fast-reroute lfa {{ level | replace('_', '-') }}
+{% endif %}
+{% if level_config.exclude.interface is vyos_defined %}
+{% for excl_if in level_config.exclude.interface %}
+isis fast-reroute lfa {{ level | replace('_', '-') }} exclude interface {{ excl_if }}
+{% endfor %}
+{% endif %}
+{% endfor %}
+{% endif %}
+{% if iface_config.fast_reroute.remote_lfa is vyos_defined %}
+{% for level, level_config in iface_config.fast_reroute.remote_lfa.items() %}
+{% if level_config.maximum_metric is vyos_defined %}
+isis fast-reroute remote-lfa maximum-metric {{ level_config.maximum_metric }} {{ level | replace('_', '-') }}
+{% endif %}
+{% if level_config.tunnel.mpls_ldp is vyos_defined %}
+isis fast-reroute remote-lfa tunnel mpls-ldp {{ level | replace('_', '-') }}
+{% endif %}
+{% endfor %}
+{% endif %}
+{% if iface_config.fast_reroute.ti_lfa is vyos_defined %}
+{% for level, level_config in iface_config.fast_reroute.ti_lfa.items() %}
+isis fast-reroute ti-lfa {{ level | replace('_', '-') }} {{ 'node-protection' if level_config.node_protection is vyos_defined }} {{ 'link-fallback' if level_config.node_protection.link_fallback is vyos_defined }}
+{% endfor %}
+{% endif %}
{% if iface_config.hello_interval is vyos_defined %}
isis hello-interval {{ iface_config.hello_interval }}
{% endif %}