summaryrefslogtreecommitdiff
path: root/data/templates/frr/static.frr.tmpl
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-02-05 23:10:59 +0100
committerChristian Poessinger <christian@poessinger.com>2021-02-05 23:10:59 +0100
commitd7a84dc144951f698ae17111ed50d6dbd2f65fe7 (patch)
tree3d1998a19ed20625d14335e817e55808c7ee3bf0 /data/templates/frr/static.frr.tmpl
parentf55fe07dc1894e22eda522d65cb4b1364da16c38 (diff)
parent96d51fa69fbe072fe5c9e8efd4fa6a89d8a2771a (diff)
downloadvyos-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.frr.tmpl')
-rw-r--r--data/templates/frr/static.frr.tmpl38
1 files changed, 38 insertions, 0 deletions
diff --git a/data/templates/frr/static.frr.tmpl b/data/templates/frr/static.frr.tmpl
new file mode 100644
index 000000000..bb0ec80a5
--- /dev/null
+++ b/data/templates/frr/static.frr.tmpl
@@ -0,0 +1,38 @@
+{% from 'frr/static_routes_macro.j2' import static_routes %}
+!
+{# IPv4 routing #}
+{% if route is defined and route is not none %}
+{% for prefix, prefix_config in route.items() %}
+{{ static_routes('ip', prefix, prefix_config) }}
+{%- endfor -%}
+{% endif %}
+!
+{# IPv6 routing #}
+{% if route6 is defined and route6 is not none %}
+{% for prefix, prefix_config in route6.items() %}
+{{ static_routes('ipv6', prefix, prefix_config) }}
+{%- endfor -%}
+{% endif %}
+!
+{# Policy route tables #}
+{% if table is defined and table is not none %}
+{% for table_id, table_config in table.items() %}
+{% if table_config.route is defined and table_config.route is not none %}
+{% for prefix, prefix_config in table_config.route.items() %}
+{{ static_routes('ip', prefix, prefix_config, table_id) }}
+{%- endfor -%}
+{% endif %}
+!
+{% if table_config.route6 is defined and table_config.route6 is not none %}
+{% for prefix, prefix_config in table_config.route6.items() %}
+{{ static_routes('ipv6', prefix, prefix_config, table_id) }}
+{%- endfor -%}
+{% endif %}
+!
+{% endfor %}
+{% endif %}
+!
+{% if route_map is defined and route_map is not none %}
+ip protocol static route-map {{ route_map }}
+!
+{% endif %}