summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2022-09-30 20:58:55 +0200
committerChristian Poessinger <christian@poessinger.com>2022-09-30 20:58:55 +0200
commit4105b464491f72aa87765aa3b072fb56ace71b89 (patch)
tree072e44d251fae6ab715376c1fef50c79ca0efbc8
parentdaceea11d9666b554a3ccc86d28e533a9b7a6a89 (diff)
downloadvyos-1x-4105b464491f72aa87765aa3b072fb56ace71b89.tar.gz
vyos-1x-4105b464491f72aa87765aa3b072fb56ace71b89.zip
bgp: evpn: T1315: add route-target CLI node <multi/> property
FRR supports multiple route-targets to be used for import/export: address-family l2vpn evpn route-target import 20:10 route-target import 20:11 route-target import 20:12 route-target import 40:40 route-target export 1:2 route-target export 1:3 route-target export 40:40 exit-address-family Thus the <multi/> property is added to the relevant CLI nodes.
-rw-r--r--data/templates/frr/bgpd.frr.j221
-rw-r--r--interface-definitions/include/bgp/afi-l2vpn-common.xml.i3
2 files changed, 16 insertions, 8 deletions
diff --git a/data/templates/frr/bgpd.frr.j2 b/data/templates/frr/bgpd.frr.j2
index bf4be23ff..e8d135c78 100644
--- a/data/templates/frr/bgpd.frr.j2
+++ b/data/templates/frr/bgpd.frr.j2
@@ -378,14 +378,19 @@ router bgp {{ system_as }} {{ 'vrf ' ~ vrf if vrf is vyos_defined }}
{% endif %}
{% endif %}
{% if afi_config.route_target.both is vyos_defined %}
- route-target both {{ afi_config.route_target.both }}
-{% else %}
-{% if afi_config.route_target.export is vyos_defined %}
- route-target export {{ afi_config.route_target.export }}
-{% endif %}
-{% if afi_config.route_target.import is vyos_defined %}
- route-target import {{ afi_config.route_target.import }}
-{% endif %}
+{% for route_target in afi_config.route_target.both %}
+ route-target both {{ route_target }}
+{% endfor %}
+{% endif %}
+{% if afi_config.route_target.export is vyos_defined %}
+{% for route_target in afi_config.route_target.export %}
+ route-target export {{ route_target }}
+{% endfor %}
+{% endif %}
+{% if afi_config.route_target.import is vyos_defined %}
+{% for route_target in afi_config.route_target.import %}
+ route-target import {{ route_target }}
+{% endfor %}
{% endif %}
{% if afi_config.route_map.vpn.export is vyos_defined %}
route-map vpn export {{ afi_config.route_map.vpn.export }}
diff --git a/interface-definitions/include/bgp/afi-l2vpn-common.xml.i b/interface-definitions/include/bgp/afi-l2vpn-common.xml.i
index d586635c8..fef3daf3b 100644
--- a/interface-definitions/include/bgp/afi-l2vpn-common.xml.i
+++ b/interface-definitions/include/bgp/afi-l2vpn-common.xml.i
@@ -27,6 +27,7 @@
<constraint>
<validator name="bgp-rd-rt" argument="--route-target"/>
</constraint>
+ <multi/>
</properties>
</leafNode>
<leafNode name="import">
@@ -39,6 +40,7 @@
<constraint>
<validator name="bgp-rd-rt" argument="--route-target"/>
</constraint>
+ <multi/>
</properties>
</leafNode>
<leafNode name="export">
@@ -51,6 +53,7 @@
<constraint>
<validator name="bgp-rd-rt" argument="--route-target"/>
</constraint>
+ <multi/>
</properties>
</leafNode>
</children>