diff options
author | Christian Poessinger <christian@poessinger.com> | 2022-04-14 21:24:08 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2022-04-14 21:29:44 +0200 |
commit | df045eca2f6c7a9257de5d32723d9ccc799346e5 (patch) | |
tree | babc4f0a9a6fe51bd0e9ee357a8618f02b08c20b /data/templates/frr/staticd.frr.j2 | |
parent | c944188a7e220141207687d04db74eb3a3961e7a (diff) | |
download | vyos-1x-df045eca2f6c7a9257de5d32723d9ccc799346e5.tar.gz vyos-1x-df045eca2f6c7a9257de5d32723d9ccc799346e5.zip |
frr: T4353: fix Jinja2 linting errors
Diffstat (limited to 'data/templates/frr/staticd.frr.j2')
-rw-r--r-- | data/templates/frr/staticd.frr.j2 | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/data/templates/frr/staticd.frr.j2 b/data/templates/frr/staticd.frr.j2 new file mode 100644 index 000000000..08b2a3dab --- /dev/null +++ b/data/templates/frr/staticd.frr.j2 @@ -0,0 +1,58 @@ +{% from 'frr/static_routes_macro.j2' import static_routes %} +! +{% set ip_prefix = 'ip' %} +{% set ipv6_prefix = 'ipv6' %} +{% if vrf is vyos_defined %} +{# We need to add an additional whitespace in front of the prefix #} +{# when VRFs are in use, thus we use a variable for prefix handling #} +{% set ip_prefix = ' ip' %} +{% set ipv6_prefix = ' ipv6' %} +vrf {{ vrf }} +{% endif %} +{# IPv4 routing #} +{% if route is vyos_defined %} +{% for prefix, prefix_config in route.items() %} +{{ static_routes(ip_prefix, prefix, prefix_config) }} +{% endfor %} +{% endif %} +{# IPv4 default routes from DHCP interfaces #} +{% if dhcp is vyos_defined %} +{% for interface, interface_config in dhcp.items() %} +{% set next_hop = interface | get_dhcp_router %} +{% if next_hop is vyos_defined %} +{{ ip_prefix }} route 0.0.0.0/0 {{ next_hop }} {{ interface }} tag 210 {{ interface_config.distance }} +{% endif %} +{% endfor %} +{% endif %} +{# IPv6 routing #} +{% if route6 is vyos_defined %} +{% for prefix, prefix_config in route6.items() %} +{{ static_routes(ipv6_prefix, prefix, prefix_config) }} +{% endfor %} +{% endif %} +{% if vrf is vyos_defined %} + exit-vrf +{% endif %} +! +{# Policy route tables #} +{% if table is vyos_defined %} +{% for table_id, table_config in table.items() %} +{% if table_config.route is vyos_defined %} +{% for prefix, prefix_config in table_config.route.items() %} +{{ static_routes('ip', prefix, prefix_config, table_id) }} +{% endfor %} +{% endif %} +! +{% if table_config.route6 is vyos_defined %} +{% 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 vyos_defined %} +ip protocol static route-map {{ route_map }} +! +{% endif %} |