diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-02-05 23:10:59 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-02-05 23:10:59 +0100 |
commit | d7a84dc144951f698ae17111ed50d6dbd2f65fe7 (patch) | |
tree | 3d1998a19ed20625d14335e817e55808c7ee3bf0 /data/templates/frr/static_routes_macro.j2 | |
parent | f55fe07dc1894e22eda522d65cb4b1364da16c38 (diff) | |
parent | 96d51fa69fbe072fe5c9e8efd4fa6a89d8a2771a (diff) | |
download | vyos-1x-d7a84dc144951f698ae17111ed50d6dbd2f65fe7.tar.gz vyos-1x-d7a84dc144951f698ae17111ed50d6dbd2f65fe7.zip |
Merge branch 't2450-vrf' of github.com:c-po/vyos-1x into current
* 't2450-vrf' of github.com:c-po/vyos-1x:
xml: add new common "interface-name" validator
xml: include: accel: add missing file include comments
smoketest: static: improve static route testing
route: static: T2450: provide full protocol support in XML and Python with new CLI
vrf: T2450: provide full protocol support in XML and Python with new CLI
migrator: ospf: T3267: cleanup empty interface "ip" nodes
Diffstat (limited to 'data/templates/frr/static_routes_macro.j2')
-rw-r--r-- | data/templates/frr/static_routes_macro.j2 | 15 |
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 %}
|