summaryrefslogtreecommitdiff
path: root/data/templates/frr/vrf.frr.tmpl
diff options
context:
space:
mode:
Diffstat (limited to 'data/templates/frr/vrf.frr.tmpl')
-rw-r--r--data/templates/frr/vrf.frr.tmpl25
1 files changed, 25 insertions, 0 deletions
diff --git a/data/templates/frr/vrf.frr.tmpl b/data/templates/frr/vrf.frr.tmpl
new file mode 100644
index 000000000..8d3d8e9dd
--- /dev/null
+++ b/data/templates/frr/vrf.frr.tmpl
@@ -0,0 +1,25 @@
+{% from 'frr/static_routes_macro.j2' import static_routes %}
+!
+{% if vrf is defined and vrf is not none %}
+{% for vrf_name, vrf_config in vrf.items() %}
+vrf {{ vrf_name }}
+{% if vrf_config.vni is defined and vrf_config.vni is not none %}
+ vni {{ vrf_config.vni }}
+{% endif %}
+{% if vrf_config.static is defined and vrf_config.static is not none %}
+{# IPv4 routes #}
+{% if vrf_config.static.route is defined and vrf_config.static.route is not none %}
+{% for prefix, prefix_config in vrf_config.static.route.items() %}
+ {{ static_routes('ip', prefix, prefix_config) }}
+{%- endfor -%}
+{% endif %}
+{# IPv6 routes #}
+{% if vrf_config.static.route6 is defined and vrf_config.static.route6 is not none %}
+{% for prefix, prefix_config in vrf_config.static.route6.items() %}
+ {{ static_routes('ipv6', prefix, prefix_config) }}
+{%- endfor -%}
+{% endif %}
+{% endif %}
+{% endfor %}
+{% endif %}
+!