diff options
Diffstat (limited to 'data')
-rw-r--r-- | data/config-mode-dependencies/vyos-1x.json | 1 | ||||
-rw-r--r-- | data/templates/frr/bgpd.frr.j2 | 7 | ||||
-rw-r--r-- | data/templates/frr/eigrpd.frr.j2 | 24 | ||||
-rw-r--r-- | data/templates/frr/static_routes_macro.j2 | 6 |
4 files changed, 26 insertions, 12 deletions
diff --git a/data/config-mode-dependencies/vyos-1x.json b/data/config-mode-dependencies/vyos-1x.json index b62603e34..b0586e0bb 100644 --- a/data/config-mode-dependencies/vyos-1x.json +++ b/data/config-mode-dependencies/vyos-1x.json @@ -27,6 +27,7 @@ "https": ["service_https"], "ipsec": ["vpn_ipsec"], "openconnect": ["vpn_openconnect"], + "rpki": ["protocols_rpki"], "sstp": ["vpn_sstp"] }, "vpn_l2tp": { diff --git a/data/templates/frr/bgpd.frr.j2 b/data/templates/frr/bgpd.frr.j2 index 23f81348b..e9422b257 100644 --- a/data/templates/frr/bgpd.frr.j2 +++ b/data/templates/frr/bgpd.frr.j2 @@ -76,7 +76,7 @@ neighbor {{ neighbor }} password {{ config.password }} {% endif %} {% if config.path_attribute.discard is vyos_defined %} - neighbor {{ neighbor }} path-attribute discard {{ config.path_attribute.discard }} + neighbor {{ neighbor }} path-attribute discard {{ config.path_attribute.discard | join(' ') }} {% endif %} {% if config.path_attribute.treat_as_withdraw is vyos_defined %} neighbor {{ neighbor }} path-attribute treat-as-withdraw {{ config.path_attribute.treat_as_withdraw }} @@ -390,7 +390,7 @@ router bgp {{ system_as }} {{ 'vrf ' ~ vrf if vrf is vyos_defined }} {% endif %} {% if afi_config.ead_es_route_target.export is vyos_defined %} {% for route_target in afi_config.ead_es_route_target.export %} - ead-es-route-target export {{ route_target }} + ead-es-route-target export {{ route_target }} {% endfor %} {% endif %} {% if afi_config.rt_auto_derive is vyos_defined %} @@ -402,6 +402,9 @@ router bgp {{ system_as }} {{ 'vrf ' ~ vrf if vrf is vyos_defined }} {% if afi_config.flooding.head_end_replication is vyos_defined %} flooding head-end-replication {% endif %} +{% if afi_config.mac_vrf.soo is vyos_defined %} + mac-vrf soo {{ afi_config.mac_vrf.soo }} +{% endif %} {% if afi_config.nexthop.vpn.export is vyos_defined %} nexthop vpn export {{ afi_config.nexthop.vpn.export }} {% endif %} diff --git a/data/templates/frr/eigrpd.frr.j2 b/data/templates/frr/eigrpd.frr.j2 index 3038a0b1d..d16963a51 100644 --- a/data/templates/frr/eigrpd.frr.j2 +++ b/data/templates/frr/eigrpd.frr.j2 @@ -1,21 +1,31 @@ ! -router eigrp {{ local_as }} {{ 'vrf ' ~ vrf if vrf is vyos_defined }} +router eigrp {{ system_as }} {{ 'vrf ' ~ vrf if vrf is vyos_defined }} {% if maximum_paths is vyos_defined %} -maximum-paths {{ maximum_paths }} + maximum-paths {{ maximum_paths }} {% endif %} {% if metric.weights is vyos_defined %} -metric weights {{ metric.weights }} + metric weights {{ metric.weights }} {% endif %} {% if network is vyos_defined %} {% for net in network %} -network {{ net }} + network {{ net }} +{% endfor %} +{% endif %} +{% if passive_interface is vyos_defined %} +{% for interface in passive_interface %} + passive-interface {{ interface }} {% endfor %} {% endif %} {% if redistribute is vyos_defined %} {% for protocol in redistribute %} -redistribute {{ protocol }} + redistribute {{ protocol }} {% endfor %} {% endif %} +{% if router_id is vyos_defined %} + eigrp router-id {{ router_id }} +{% endif %} {% if variance is vyos_defined %} -variance {{ variance }} -{% endif %}
\ No newline at end of file + variance {{ variance }} +{% endif %} +exit +! diff --git a/data/templates/frr/static_routes_macro.j2 b/data/templates/frr/static_routes_macro.j2 index 8afd4a68a..cf8046968 100644 --- a/data/templates/frr/static_routes_macro.j2 +++ b/data/templates/frr/static_routes_macro.j2 @@ -13,17 +13,17 @@ {% endif %} {% if prefix_config.interface is vyos_defined %} {% 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 vyos_defined }} {{ 'nexthop-vrf ' ~ interface_config.vrf if interface_config.vrf is vyos_defined }} {{ 'table ' ~ table if table is vyos_defined }} +{{ ip_ipv6 }} route {{ prefix }} {{ interface }} {{ interface_config.distance if interface_config.distance is vyos_defined }} {{ 'nexthop-vrf ' ~ interface_config.vrf if interface_config.vrf is vyos_defined }} {{ 'segments ' ~ interface_config.segments if interface_config.segments is vyos_defined }} {{ 'table ' ~ table if table is vyos_defined }} {% endfor %} {% endif %} {% if prefix_config.next_hop is vyos_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 vyos_defined }} {{ next_hop_config.distance if next_hop_config.distance is vyos_defined }} {{ 'nexthop-vrf ' ~ next_hop_config.vrf if next_hop_config.vrf is vyos_defined }} {{ 'bfd profile ' ~ next_hop_config.bfd.profile if next_hop_config.bfd.profile is vyos_defined }} {{ 'table ' ~ table if table is vyos_defined }} +{{ ip_ipv6 }} route {{ prefix }} {{ next_hop }} {{ next_hop_config.interface if next_hop_config.interface is vyos_defined }} {{ next_hop_config.distance if next_hop_config.distance is vyos_defined }} {{ 'nexthop-vrf ' ~ next_hop_config.vrf if next_hop_config.vrf is vyos_defined }} {{ 'bfd profile ' ~ next_hop_config.bfd.profile if next_hop_config.bfd.profile is vyos_defined }} {{ 'segments ' ~ next_hop_config.segments if next_hop_config.segments is vyos_defined }} {{ 'table ' ~ table if table is vyos_defined }} {% if next_hop_config.bfd.multi_hop.source is vyos_defined %} {% for source, source_config in next_hop_config.bfd.multi_hop.source.items() %} {{ ip_ipv6 }} route {{ prefix }} {{ next_hop }} bfd multi-hop source {{ source }} profile {{ source_config.profile }} {% endfor %} -{% endif %} +{% endif %} {% endfor %} {% endif %} {% endmacro %} |