summaryrefslogtreecommitdiff
path: root/data/templates/frr/static_routes_macro.j2
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-02-04 19:35:18 +0100
committerChristian Poessinger <christian@poessinger.com>2021-02-05 22:42:29 +0100
commit1f8c257f126d492a3f41eee72728b2c35b6b534e (patch)
treea4111e0fa5dccef83b755e3eb9071e39334a2eac /data/templates/frr/static_routes_macro.j2
parent3dd78cddfe90851cb7a6891add8a0973d23da292 (diff)
downloadvyos-1x-1f8c257f126d492a3f41eee72728b2c35b6b534e.tar.gz
vyos-1x-1f8c257f126d492a3f41eee72728b2c35b6b534e.zip
route: static: T2450: provide full protocol support in XML and Python with new CLI
Diffstat (limited to 'data/templates/frr/static_routes_macro.j2')
-rw-r--r--data/templates/frr/static_routes_macro.j215
1 files changed, 15 insertions, 0 deletions
diff --git a/data/templates/frr/static_routes_macro.j2 b/data/templates/frr/static_routes_macro.j2
new file mode 100644
index 000000000..aadb2805e
--- /dev/null
+++ b/data/templates/frr/static_routes_macro.j2
@@ -0,0 +1,15 @@
+{% macro static_routes(ip_ipv6, prefix, prefix_config, table=None) %}
+{% if prefix_config.blackhole is defined %}
+{{ ip_ipv6 }} route {{ prefix }} blackhole {{ prefix_config.blackhole.distance if prefix_config.blackhole.distance is defined }} {{ 'tag ' + prefix_config.blackhole.tag if prefix_config.blackhole.tag is defined }} {{ 'table ' + table if table is defined and table is not none }}
+{% endif %}
+{% if prefix_config.interface is defined and prefix_config.interface is not none %}
+{% for interface, interface_config in prefix_config.interface.items() if interface_config.disable is not defined %}
+{{ ip_ipv6 }} route {{ prefix }} {{ interface }} {{ interface_config.distance if interface_config.distance is defined }} {{ 'nexthop-vrf ' + interface_config.vrf if interface_config.vrf is defined }} {{ 'table ' + table if table is defined and table is not none }}
+{% endfor %}
+{% endif %}
+{% if prefix_config.next_hop is defined and prefix_config.next_hop is not none %}
+{% for next_hop, next_hop_config in prefix_config.next_hop.items() if next_hop_config.disable is not defined %}
+{{ ip_ipv6 }} route {{ prefix }} {{ next_hop }} {{ next_hop_config.interface if next_hop_config.interface is defined }} {{ next_hop_config.distance if next_hop_config.distance is defined }} {{ 'nexthop-vrf ' + next_hop_config.vrf if next_hop_config.vrf is defined }} {{ 'table ' + table if table is defined and table is not none }}
+{% endfor %}
+{% endif %}
+{% endmacro %}