summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-02-08 22:42:38 +0100
committerChristian Poessinger <christian@poessinger.com>2021-02-09 22:31:38 +0100
commit30af74a8f51f22802db8e393ac86293a54ebcd9d (patch)
treef84b90df6fceddc717bbf646e4aae027bf15277f /interface-definitions
parentf89969c1729a94901a817bd97da6f5b2a3712af0 (diff)
downloadvyos-1x-30af74a8f51f22802db8e393ac86293a54ebcd9d.tar.gz
vyos-1x-30af74a8f51f22802db8e393ac86293a54ebcd9d.zip
bgp: T1513: initial implementation of L2VPN EVPN support
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/include/bgp-afi-allowas-in.xml.i21
-rw-r--r--interface-definitions/include/bgp-afi-attribute-unchanged.xml.i27
-rw-r--r--interface-definitions/include/bgp-afi-common.xml.i121
-rw-r--r--interface-definitions/include/bgp-afi-nexthop-self.xml.i15
-rw-r--r--interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i9
-rw-r--r--interface-definitions/include/bgp-afi-route-map.xml.i25
-rw-r--r--interface-definitions/include/bgp-afi-route-reflector-client.xml.i8
-rw-r--r--interface-definitions/include/bgp-afi-route-server-client.xml.i8
-rw-r--r--interface-definitions/include/bgp-afi-soft-reconfiguration.xml.i15
-rw-r--r--interface-definitions/include/bgp-neighbor-afi-l2vpn-evpn.xml.i16
-rw-r--r--interface-definitions/protocols-bgp.xml.in39
11 files changed, 183 insertions, 121 deletions
diff --git a/interface-definitions/include/bgp-afi-allowas-in.xml.i b/interface-definitions/include/bgp-afi-allowas-in.xml.i
new file mode 100644
index 000000000..77de04ed7
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-allowas-in.xml.i
@@ -0,0 +1,21 @@
+<!-- included start from bgp-afi-allowas-in.xml.i -->
+<node name="allowas-in">
+ <properties>
+ <help>Accept route that contains the local-as in the as-path</help>
+ </properties>
+ <children>
+ <leafNode name="number">
+ <properties>
+ <help>Number of occurrences of AS number</help>
+ <valueHelp>
+ <format>u32:1-10</format>
+ <description>Number of times AS is allowed in path</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-10"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-attribute-unchanged.xml.i b/interface-definitions/include/bgp-afi-attribute-unchanged.xml.i
new file mode 100644
index 000000000..fef53dd9d
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-attribute-unchanged.xml.i
@@ -0,0 +1,27 @@
+<!-- included start from bgp-afi-attribute-unchanged.xml.i -->
+<node name="attribute-unchanged">
+ <properties>
+ <help>BGP attributes are sent unchanged</help>
+ </properties>
+ <children>
+ <leafNode name="as-path">
+ <properties>
+ <help>Send AS path unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="med">
+ <properties>
+ <help>Send multi-exit discriminator unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="next-hop">
+ <properties>
+ <help>Send nexthop unchanged</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-common.xml.i b/interface-definitions/include/bgp-afi-common.xml.i
index ea4eea591..8c483f131 100644
--- a/interface-definitions/include/bgp-afi-common.xml.i
+++ b/interface-definitions/include/bgp-afi-common.xml.i
@@ -1,54 +1,12 @@
<!-- included start from bgp-afi-common.xml.i -->
-<node name="allowas-in">
- <properties>
- <help>Accept route that contains the local-as in the as-path</help>
- </properties>
- <children>
- <leafNode name="number">
- <properties>
- <help>Number of occurrences of AS number</help>
- <valueHelp>
- <format>u32:1-10</format>
- <description>Number of times AS is allowed in path</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-10"/>
- </constraint>
- </properties>
- </leafNode>
- </children>
-</node>
+#include <include/bgp-afi-allowas-in.xml.i>
<leafNode name="as-override">
<properties>
<help>AS for routes sent to this peer to be the local AS</help>
<valueless/>
</properties>
</leafNode>
-<node name="attribute-unchanged">
- <properties>
- <help>BGP attributes are sent unchanged</help>
- </properties>
- <children>
- <leafNode name="as-path">
- <properties>
- <help>Send AS path unchanged</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="med">
- <properties>
- <help>Send multi-exit discriminator unchanged</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="next-hop">
- <properties>
- <help>Send nexthop unchanged</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
-</node>
+#include <include/bgp-afi-attribute-unchanged.xml.i>
<node name="disable-send-community">
<properties>
<help>Disable sending community attributes to this peer</help>
@@ -73,14 +31,7 @@
<help>Originate default route to this peer</help>
</properties>
<children>
- <leafNode name="route-map">
- <properties>
- <help>route-map to specify criteria of the default route</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
- </leafNode>
+ #include <include/bgp-route-map.xml.i>
</children>
</node>
<node name="distribute-list">
@@ -155,73 +106,17 @@
</constraint>
</properties>
</leafNode>
-<node name="nexthop-self">
- <properties>
- <help>Disable the next hop calculation for this peer</help>
- </properties>
- <children>
- <leafNode name="force">
- <properties>
- <help>Set the next hop to self for reflected routes</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
-</node>
+#include <include/bgp-afi-nexthop-self.xml.i>
<leafNode name="remove-private-as">
<properties>
<help>Remove private AS numbers from AS path in outbound route updates</help>
<valueless/>
</properties>
</leafNode>
-<node name="route-map">
- <properties>
- <help>Route-map to filter route updates to/from this peer</help>
- </properties>
- <children>
- <leafNode name="export">
- <properties>
- <help>Route-map to filter outgoing route updates</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
- </leafNode>
- <leafNode name="import">
- <properties>
- <help>Route-map to filter incoming route updates</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
- </leafNode>
- </children>
-</node>
-<leafNode name="route-reflector-client">
- <properties>
- <help>Peer is a route reflector client</help>
- <valueless/>
- </properties>
-</leafNode>
-<leafNode name="route-server-client">
- <properties>
- <help>Peer is a route server client</help>
- <valueless/>
- </properties>
-</leafNode>
-<node name="soft-reconfiguration">
- <properties>
- <help>Soft reconfiguration for peer</help>
- </properties>
- <children>
- <leafNode name="inbound">
- <properties>
- <help>Enable inbound soft reconfiguration</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
-</node>
+#include <include/bgp-afi-route-map.xml.i>
+#include <include/bgp-afi-route-reflector-client.xml.i>
+#include <include/bgp-afi-route-server-client.xml.i>
+#include <include/bgp-afi-soft-reconfiguration.xml.i>
<leafNode name="unsuppress-map">
<properties>
<help>Route-map to selectively unsuppress suppressed routes</help>
diff --git a/interface-definitions/include/bgp-afi-nexthop-self.xml.i b/interface-definitions/include/bgp-afi-nexthop-self.xml.i
new file mode 100644
index 000000000..0bcc4e937
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-nexthop-self.xml.i
@@ -0,0 +1,15 @@
+<!-- included start from bgp-afi-nexthop-self.xml.i -->
+<node name="nexthop-self">
+ <properties>
+ <help>Disable the next hop calculation for this peer</help>
+ </properties>
+ <children>
+ <leafNode name="force">
+ <properties>
+ <help>Set the next hop to self for reflected routes</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i b/interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i
index afd56eff3..e85bf7d11 100644
--- a/interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i
+++ b/interface-definitions/include/bgp-afi-redistribute-metric-route-map.xml.i
@@ -8,12 +8,5 @@
</valueHelp>
</properties>
</leafNode>
-<leafNode name="route-map">
- <properties>
- <help>Route map to filter redistributed routes</help>
- <completionHelp>
- <path>policy route-map</path>
- </completionHelp>
- </properties>
-</leafNode>
+#include <include/bgp-route-map.xml.i>
<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-route-map.xml.i b/interface-definitions/include/bgp-afi-route-map.xml.i
new file mode 100644
index 000000000..5549f56ca
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-route-map.xml.i
@@ -0,0 +1,25 @@
+<!-- included start from bgp-afi-route-map.xml.i -->
+<node name="route-map">
+ <properties>
+ <help>Route-map to filter route updates to/from this peer</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Route-map to filter outgoing route updates</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Route-map to filter incoming route updates</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-route-reflector-client.xml.i b/interface-definitions/include/bgp-afi-route-reflector-client.xml.i
new file mode 100644
index 000000000..f6a9caa61
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-route-reflector-client.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-afi-route-reflector-client.xml.i -->
+<leafNode name="route-reflector-client">
+ <properties>
+ <help>Peer is a route reflector client</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-afi-route-server-client.xml.i b/interface-definitions/include/bgp-afi-route-server-client.xml.i
new file mode 100644
index 000000000..60de553fe
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-route-server-client.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-afi-route-server-client.xml.i -->
+<leafNode name="route-server-client">
+ <properties>
+ <help>Peer is a route server client</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end --> \ No newline at end of file
diff --git a/interface-definitions/include/bgp-afi-soft-reconfiguration.xml.i b/interface-definitions/include/bgp-afi-soft-reconfiguration.xml.i
new file mode 100644
index 000000000..7af11f8f4
--- /dev/null
+++ b/interface-definitions/include/bgp-afi-soft-reconfiguration.xml.i
@@ -0,0 +1,15 @@
+<!-- included start from bgp-afi-soft-reconfiguration.xml.i -->
+<node name="soft-reconfiguration">
+ <properties>
+ <help>Soft reconfiguration for peer</help>
+ </properties>
+ <children>
+ <leafNode name="inbound">
+ <properties>
+ <help>Enable inbound soft reconfiguration</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp-neighbor-afi-l2vpn-evpn.xml.i b/interface-definitions/include/bgp-neighbor-afi-l2vpn-evpn.xml.i
new file mode 100644
index 000000000..df346afc1
--- /dev/null
+++ b/interface-definitions/include/bgp-neighbor-afi-l2vpn-evpn.xml.i
@@ -0,0 +1,16 @@
+<!-- included start from bgp-neighbor-afi-l2vpn-evpn.xml.i -->
+<node name="l2vpn-evpn">
+ <properties>
+ <help>L2VPN EVPN BGP settings</help>
+ </properties>
+ <children>
+ #include <include/bgp-afi-allowas-in.xml.i>
+ #include <include/bgp-afi-attribute-unchanged.xml.i>
+ #include <include/bgp-afi-nexthop-self.xml.i>
+ #include <include/bgp-afi-route-map.xml.i>
+ #include <include/bgp-afi-route-reflector-client.xml.i>
+ #include <include/bgp-afi-route-server-client.xml.i>
+ #include <include/bgp-afi-soft-reconfiguration.xml.i>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/protocols-bgp.xml.in b/interface-definitions/protocols-bgp.xml.in
index e5122fe8d..3b7910766 100644
--- a/interface-definitions/protocols-bgp.xml.in
+++ b/interface-definitions/protocols-bgp.xml.in
@@ -217,6 +217,43 @@
</node>
</children>
</node>
+ <node name="l2vpn-evpn">
+ <properties>
+ <help>L2VPN EVPN BGP settings</help>
+ </properties>
+ <children>
+ <leafNode name="advertise-all-vni">
+ <properties>
+ <help>Advertise All local VNIs</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="advertise-default-gw">
+ <properties>
+ <help>Advertise All default g/w mac-ip routes in EVPN</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="advertise-svi-ip">
+ <properties>
+ <help>Advertise svi mac-ip routes in EVPN</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="vni">
+ <properties>
+ <help>VXLAN Network Identifier</help>
+ <valueHelp>
+ <format>u32:1-16777215</format>
+ <description>VNI number</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-16777215"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
</children>
</node>
<node name="maximum-paths">
@@ -318,6 +355,7 @@
<children>
#include <include/bgp-neighbor-afi-ipv4-unicast.xml.i>
#include <include/bgp-neighbor-afi-ipv6-unicast.xml.i>
+ #include <include/bgp-neighbor-afi-l2vpn-evpn.xml.i>
</children>
</node>
<leafNode name="advertisement-interval">
@@ -771,6 +809,7 @@
<children>
#include <include/bgp-neighbor-afi-ipv4-unicast.xml.i>
#include <include/bgp-neighbor-afi-ipv6-unicast.xml.i>
+ #include <include/bgp-neighbor-afi-l2vpn-evpn.xml.i>
</children>
</node>
#include <include/bgp-bfd.xml.i>