summaryrefslogtreecommitdiff
path: root/interface-definitions/include/bgp
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-03-12 18:59:57 +0100
committerChristian Poessinger <christian@poessinger.com>2021-03-14 11:09:57 +0100
commit576f1cb41c4d531bd16628e9b772f5ff766e3fad (patch)
tree977badef737cbe06375c2fce29774bca861b7201 /interface-definitions/include/bgp
parent0d9658f3dcaf1a9f376a6768c54a0ceb80ece7d0 (diff)
downloadvyos-1x-576f1cb41c4d531bd16628e9b772f5ff766e3fad.tar.gz
vyos-1x-576f1cb41c4d531bd16628e9b772f5ff766e3fad.zip
vrf: bgp: T2271: re-arrange xml include building blocks
As the amount of include files now has reached a certain amount, this also introduces "per topic" subdirectories on the filesystem to keep a clean structure. This commit is related to the change in the OSPF structure done in 952c52ef01 ("vrf: ospf: T2271: re-arrange xml include building blocks").
Diffstat (limited to 'interface-definitions/include/bgp')
-rw-r--r--interface-definitions/include/bgp/bgp-afi-aggregate-address.xml.i14
-rw-r--r--interface-definitions/include/bgp/bgp-afi-allowas-in.xml.i21
-rw-r--r--interface-definitions/include/bgp/bgp-afi-attribute-unchanged.xml.i27
-rw-r--r--interface-definitions/include/bgp/bgp-afi-capability-orf.xml.i28
-rw-r--r--interface-definitions/include/bgp/bgp-afi-common.xml.i152
-rw-r--r--interface-definitions/include/bgp/bgp-afi-ipv4-prefix-list.xml.i25
-rw-r--r--interface-definitions/include/bgp/bgp-afi-ipv6-nexthop-local.xml.i15
-rw-r--r--interface-definitions/include/bgp/bgp-afi-ipv6-prefix-list.xml.i25
-rw-r--r--interface-definitions/include/bgp/bgp-afi-l2vpn-common.xml.i27
-rw-r--r--interface-definitions/include/bgp/bgp-afi-maximum-paths.xml.i33
-rw-r--r--interface-definitions/include/bgp/bgp-afi-nexthop-self.xml.i15
-rw-r--r--interface-definitions/include/bgp/bgp-afi-redistribute-metric-route-map.xml.i12
-rw-r--r--interface-definitions/include/bgp/bgp-afi-route-map.xml.i25
-rw-r--r--interface-definitions/include/bgp/bgp-afi-route-reflector-client.xml.i8
-rw-r--r--interface-definitions/include/bgp/bgp-afi-route-server-client.xml.i8
-rw-r--r--interface-definitions/include/bgp/bgp-afi-soft-reconfiguration.xml.i15
-rw-r--r--interface-definitions/include/bgp/bgp-bfd.xml.i15
-rw-r--r--interface-definitions/include/bgp/bgp-capability.xml.i21
-rw-r--r--interface-definitions/include/bgp/bgp-description.xml.i7
-rw-r--r--interface-definitions/include/bgp/bgp-disable-capability-negotiation.xml.i8
-rw-r--r--interface-definitions/include/bgp/bgp-disable-connected-check.xml.i8
-rw-r--r--interface-definitions/include/bgp/bgp-ebgp-multihop.xml.i14
-rw-r--r--interface-definitions/include/bgp/bgp-local-as.xml.i22
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-unicast.xml.i19
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-unicast.xml.i20
-rw-r--r--interface-definitions/include/bgp/bgp-neighbor-afi-l2vpn-evpn.xml.i16
-rw-r--r--interface-definitions/include/bgp/bgp-override-capability.xml.i8
-rw-r--r--interface-definitions/include/bgp/bgp-passive.xml.i8
-rw-r--r--interface-definitions/include/bgp/bgp-password.xml.i7
-rw-r--r--interface-definitions/include/bgp/bgp-peer-group.xml.i14
-rw-r--r--interface-definitions/include/bgp/bgp-remote-as.xml.i27
-rw-r--r--interface-definitions/include/bgp/bgp-route-target.xml.i45
-rw-r--r--interface-definitions/include/bgp/bgp-shutdown.xml.i8
-rw-r--r--interface-definitions/include/bgp/bgp-timers-holdtime.xml.i18
-rw-r--r--interface-definitions/include/bgp/bgp-timers-keepalive.xml.i14
-rw-r--r--interface-definitions/include/bgp/bgp-ttl-security.xml.i21
-rw-r--r--interface-definitions/include/bgp/bgp-update-source.xml.i29
37 files changed, 799 insertions, 0 deletions
diff --git a/interface-definitions/include/bgp/bgp-afi-aggregate-address.xml.i b/interface-definitions/include/bgp/bgp-afi-aggregate-address.xml.i
new file mode 100644
index 000000000..c33d1097c
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-afi-aggregate-address.xml.i
@@ -0,0 +1,14 @@
+<!-- included start from bgp-afi-aggregate-address.xml.i -->
+<leafNode name="as-set">
+ <properties>
+ <help>Generate AS-set path information for this aggregate address</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<leafNode name="summary-only">
+ <properties>
+ <help>Announce the aggregate summary network only</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-afi-allowas-in.xml.i b/interface-definitions/include/bgp/bgp-afi-allowas-in.xml.i
new file mode 100644
index 000000000..77de04ed7
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-attribute-unchanged.xml.i b/interface-definitions/include/bgp/bgp-afi-attribute-unchanged.xml.i
new file mode 100644
index 000000000..fef53dd9d
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-capability-orf.xml.i b/interface-definitions/include/bgp/bgp-afi-capability-orf.xml.i
new file mode 100644
index 000000000..9bd265f93
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-afi-capability-orf.xml.i
@@ -0,0 +1,28 @@
+<!-- included start from bgp-afi-capability-orf.xml.i -->
+<node name="orf">
+ <properties>
+ <help>Advertise ORF capability to this peer</help>
+ </properties>
+ <children>
+ <node name="prefix-list">
+ <properties>
+ <help>Advertise prefix-list ORF capability to this peer</help>
+ </properties>
+ <children>
+ <leafNode name="receive">
+ <properties>
+ <help>Capability to receive the ORF</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="send">
+ <properties>
+ <help>Capability to send the ORF</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-afi-common.xml.i b/interface-definitions/include/bgp/bgp-afi-common.xml.i
new file mode 100644
index 000000000..9126b36e7
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-afi-common.xml.i
@@ -0,0 +1,152 @@
+<!-- included start from bgp-afi-common.xml.i -->
+<leafNode name="addpath-tx-all">
+ <properties>
+ <help>Use addpath to advertise all paths to a neighbor</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<leafNode name="addpath-tx-per-as">
+ <properties>
+ <help>Use addpath to advertise the bestpath per each neighboring AS</help>
+ <valueless/>
+ </properties>
+</leafNode>
+#include <include/bgp/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>
+#include <include/bgp/bgp-afi-attribute-unchanged.xml.i>
+<node name="disable-send-community">
+ <properties>
+ <help>Disable sending community attributes to this peer</help>
+ </properties>
+ <children>
+ <leafNode name="extended">
+ <properties>
+ <help>Disable sending extended community attributes to this peer</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="standard">
+ <properties>
+ <help>Disable sending standard community attributes to this peer</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<node name="default-originate">
+ <properties>
+ <help>Originate default route to this peer</help>
+ </properties>
+ <children>
+ #include <include/route-map.xml.i>
+ </children>
+</node>
+<node name="distribute-list">
+ <properties>
+ <help>Access-list to filter route updates to/from this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Access-list to filter outgoing route updates to this peer-group</help>
+ <completionHelp>
+ <path>policy access-list</path>
+ </completionHelp>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Access-list to filter outgoing route updates to this peer-group</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Access-list to filter incoming route updates from this peer-group</help>
+ <completionHelp>
+ <path>policy access-list</path>
+ </completionHelp>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Access-list to filter incoming route updates from this peer-group</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<node name="filter-list">
+ <properties>
+ <help>as-path-list to filter route updates to/from this peer</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>As-path-list to filter outgoing route updates to this peer</help>
+ <completionHelp>
+ <path>policy as-path-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>As-path-list to filter incoming route updates from this peer</help>
+ <completionHelp>
+ <path>policy as-path-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<leafNode name="maximum-prefix">
+ <properties>
+ <help>Maximum number of prefixes to accept from this peer</help>
+ <valueHelp>
+ <format>u32:1-4294967295</format>
+ <description>Prefix limit</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ </properties>
+</leafNode>
+#include <include/bgp/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>
+#include <include/bgp/bgp-afi-route-map.xml.i>
+#include <include/bgp/bgp-afi-route-reflector-client.xml.i>
+#include <include/bgp/bgp-afi-route-server-client.xml.i>
+#include <include/bgp/bgp-afi-soft-reconfiguration.xml.i>
+<leafNode name="unsuppress-map">
+ <properties>
+ <help>Route-map to selectively unsuppress suppressed routes</help>
+ <completionHelp>
+ <path>policy route-map</path>
+ </completionHelp>
+ </properties>
+</leafNode>
+<leafNode name="weight">
+ <properties>
+ <help>Default weight for routes from this peer</help>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Default weight</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-afi-ipv4-prefix-list.xml.i b/interface-definitions/include/bgp/bgp-afi-ipv4-prefix-list.xml.i
new file mode 100644
index 000000000..bbbada6bd
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-afi-ipv4-prefix-list.xml.i
@@ -0,0 +1,25 @@
+<!-- included start from bgp-afi-ipv4-prefix-list.xml.i -->
+<node name="prefix-list">
+ <properties>
+ <help>IPv4-Prefix-list to filter route updates to/from this peer</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>IPv4-Prefix-list to filter outgoing route updates to this peer</help>
+ <completionHelp>
+ <path>policy prefix-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>IPv4-Prefix-list to filter incoming route updates from this peer</help>
+ <completionHelp>
+ <path>policy prefix-list</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-afi-ipv6-nexthop-local.xml.i b/interface-definitions/include/bgp/bgp-afi-ipv6-nexthop-local.xml.i
new file mode 100644
index 000000000..4778b392f
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-afi-ipv6-nexthop-local.xml.i
@@ -0,0 +1,15 @@
+<!-- included start from bgp-afi-ipv6-nexthop-local.xml.i -->
+ <node name="nexthop-local">
+ <properties>
+ <help>Nexthop attributes</help>
+ </properties>
+ <children>
+ <leafNode name="unchanged">
+ <properties>
+ <help>Leave link-local nexthop unchanged for this peer</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-afi-ipv6-prefix-list.xml.i b/interface-definitions/include/bgp/bgp-afi-ipv6-prefix-list.xml.i
new file mode 100644
index 000000000..8ae7837e9
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-afi-ipv6-prefix-list.xml.i
@@ -0,0 +1,25 @@
+<!-- included start from bgp-afi-ipv6-prefix-list.xml.i -->
+<node name="prefix-list">
+ <properties>
+ <help>Prefix-list to filter route updates to/from this peer</help>
+ </properties>
+ <children>
+ <leafNode name="export">
+ <properties>
+ <help>Prefix-list to filter outgoing route updates to this peer</help>
+ <completionHelp>
+ <path>policy prefix-list6</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Prefix-list to filter incoming route updates from this peer</help>
+ <completionHelp>
+ <path>policy prefix-list6</path>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-afi-l2vpn-common.xml.i b/interface-definitions/include/bgp/bgp-afi-l2vpn-common.xml.i
new file mode 100644
index 000000000..0b804f9cd
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-afi-l2vpn-common.xml.i
@@ -0,0 +1,27 @@
+<!-- included start from bgp-afi-l2vpn-common.xml.i -->
+<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="rd">
+ <properties>
+ <help>Route Distinguisher</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Route Distinguisher, (x.x.x.x:yyy|xxxx:yyyy)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^((25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)(\.(25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)){3}|[0-9]{1,10}):[0-9]{1,5}$</regex>
+ </constraint>
+ </properties>
+</leafNode>
+#include <include/bgp/bgp-route-target.xml.i>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-afi-maximum-paths.xml.i b/interface-definitions/include/bgp/bgp-afi-maximum-paths.xml.i
new file mode 100644
index 000000000..62133c375
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-afi-maximum-paths.xml.i
@@ -0,0 +1,33 @@
+<!-- included start from bgp-afi-maximum-paths.xml.i -->
+<node name="maximum-paths">
+ <properties>
+ <help>Forward packets over multiple paths</help>
+ </properties>
+ <children>
+ <leafNode name="ebgp">
+ <properties>
+ <help>eBGP maximum paths</help>
+ <valueHelp>
+ <format>u32:1-256</format>
+ <description>Number of paths to consider</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-256"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="ibgp">
+ <properties>
+ <help>iBGP maximum paths</help>
+ <valueHelp>
+ <format>u32:1-256</format>
+ <description>Number of paths to consider</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-256"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-afi-nexthop-self.xml.i b/interface-definitions/include/bgp/bgp-afi-nexthop-self.xml.i
new file mode 100644
index 000000000..0bcc4e937
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-redistribute-metric-route-map.xml.i b/interface-definitions/include/bgp/bgp-afi-redistribute-metric-route-map.xml.i
new file mode 100644
index 000000000..cb930ed70
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-afi-redistribute-metric-route-map.xml.i
@@ -0,0 +1,12 @@
+<!-- included start from bgp-afi-redistribute-metric-route-map.xml.i -->
+<leafNode name="metric">
+ <properties>
+ <help>Metric for redistributed routes</help>
+ <valueHelp>
+ <format>u32:1-4294967295</format>
+ <description>Metric for redistributed routes</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+#include <include/route-map.xml.i>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-afi-route-map.xml.i b/interface-definitions/include/bgp/bgp-afi-route-map.xml.i
new file mode 100644
index 000000000..5549f56ca
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-route-reflector-client.xml.i b/interface-definitions/include/bgp/bgp-afi-route-reflector-client.xml.i
new file mode 100644
index 000000000..f6a9caa61
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-route-server-client.xml.i b/interface-definitions/include/bgp/bgp-afi-route-server-client.xml.i
new file mode 100644
index 000000000..60de553fe
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-soft-reconfiguration.xml.i b/interface-definitions/include/bgp/bgp-afi-soft-reconfiguration.xml.i
new file mode 100644
index 000000000..7af11f8f4
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-bfd.xml.i b/interface-definitions/include/bgp/bgp-bfd.xml.i
new file mode 100644
index 000000000..fe52b12f2
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-bfd.xml.i
@@ -0,0 +1,15 @@
+<!-- included start from bgp-bfd.xml.i -->
+<node name="bfd">
+ <properties>
+ <help>Enable Bidirectional Forwarding Detection (BFD) support</help>
+ </properties>
+ <children>
+ <leafNode name="check-control-plane-failure">
+ <properties>
+ <help>Allow to write CBIT independence in BFD outgoing packets and read both C-BIT value of BFD and lookup BGP peer status</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-capability.xml.i b/interface-definitions/include/bgp/bgp-capability.xml.i
new file mode 100644
index 000000000..8de5bd8ab
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-capability.xml.i
@@ -0,0 +1,21 @@
+<!-- included start from bgp-capability.xml.i -->
+<node name="capability">
+ <properties>
+ <help>Advertise capabilities to this peer-group</help>
+ </properties>
+ <children>
+ <leafNode name="dynamic">
+ <properties>
+ <help>Advertise dynamic capability to this neighbor</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ <leafNode name="extended-nexthop">
+ <properties>
+ <help>Advertise extended-nexthop capability to this neighbor</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-description.xml.i b/interface-definitions/include/bgp/bgp-description.xml.i
new file mode 100644
index 000000000..e1766cb9f
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-description.xml.i
@@ -0,0 +1,7 @@
+<!-- included start from bgp-description.xml.i -->
+<leafNode name="description">
+ <properties>
+ <help>Neighbor specific description</help>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-disable-capability-negotiation.xml.i b/interface-definitions/include/bgp/bgp-disable-capability-negotiation.xml.i
new file mode 100644
index 000000000..a43c6e8b9
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-disable-capability-negotiation.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-disable-capability-negotiation.xml.i -->
+<leafNode name="disable-capability-negotiation">
+ <properties>
+ <help>Disable capability negotiation with this neighbor</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-disable-connected-check.xml.i b/interface-definitions/include/bgp/bgp-disable-connected-check.xml.i
new file mode 100644
index 000000000..bb9098bf6
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-disable-connected-check.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-disable-connected-check.xml.i -->
+<leafNode name="disable-connected-check">
+ <properties>
+ <help>Disable check to see if eBGP peer address is a connected route</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-ebgp-multihop.xml.i b/interface-definitions/include/bgp/bgp-ebgp-multihop.xml.i
new file mode 100644
index 000000000..6459fcf47
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-ebgp-multihop.xml.i
@@ -0,0 +1,14 @@
+<!-- included start from bgp-ebgp-multihop.xml.i -->
+<leafNode name="ebgp-multihop">
+ <properties>
+ <help>Allow this EBGP neighbor to not be on a directly connected network</help>
+ <valueHelp>
+ <format>u32:1-255</format>
+ <description>Number of hops</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-255"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-local-as.xml.i b/interface-definitions/include/bgp/bgp-local-as.xml.i
new file mode 100644
index 000000000..cf55ce476
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-local-as.xml.i
@@ -0,0 +1,22 @@
+<!-- included start from bgp-local-as.xml.i -->
+<tagNode name="local-as">
+ <properties>
+ <help>Local AS number [REQUIRED]</help>
+ <valueHelp>
+ <format>u32:1-4294967294</format>
+ <description>Local AS number</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967294"/>
+ </constraint>
+ </properties>
+ <children>
+ <leafNode name="no-prepend">
+ <properties>
+ <help>Disable prepending local-as to updates from EBGP peers</help>
+ <valueless/>
+ </properties>
+ </leafNode>
+ </children>
+</tagNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-unicast.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-unicast.xml.i
new file mode 100644
index 000000000..964bc6264
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv4-unicast.xml.i
@@ -0,0 +1,19 @@
+<!-- included start from bgp-neighbor-afi-ipv4-unicast.xml.i -->
+<node name="ipv4-unicast">
+ <properties>
+ <help>IPv4 BGP neighbor parameters</help>
+ </properties>
+ <children>
+ <node name="capability">
+ <properties>
+ <help>Advertise capabilities to this neighbor (IPv4)</help>
+ </properties>
+ <children>
+ #include <include/bgp/bgp-afi-capability-orf.xml.i>
+ </children>
+ </node>
+ #include <include/bgp/bgp-afi-ipv4-prefix-list.xml.i>
+ #include <include/bgp/bgp-afi-common.xml.i>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-unicast.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-unicast.xml.i
new file mode 100644
index 000000000..c31863320
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-neighbor-afi-ipv6-unicast.xml.i
@@ -0,0 +1,20 @@
+<!-- included start from bgp-neighbor-afi-ipv6-unicast.xml.i -->
+<node name="ipv6-unicast">
+ <properties>
+ <help>IPv6 BGP neighbor parameters</help>
+ </properties>
+ <children>
+ <node name="capability">
+ <properties>
+ <help>Advertise capabilities to this neighbor (IPv6)</help>
+ </properties>
+ <children>
+ #include <include/bgp/bgp-afi-capability-orf.xml.i>
+ </children>
+ </node>
+ #include <include/bgp/bgp-afi-ipv6-nexthop-local.xml.i>
+ #include <include/bgp/bgp-afi-ipv6-prefix-list.xml.i>
+ #include <include/bgp/bgp-afi-common.xml.i>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-neighbor-afi-l2vpn-evpn.xml.i b/interface-definitions/include/bgp/bgp-neighbor-afi-l2vpn-evpn.xml.i
new file mode 100644
index 000000000..35e11ad2c
--- /dev/null
+++ b/interface-definitions/include/bgp/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/bgp-afi-allowas-in.xml.i>
+ #include <include/bgp/bgp-afi-attribute-unchanged.xml.i>
+ #include <include/bgp/bgp-afi-nexthop-self.xml.i>
+ #include <include/bgp/bgp-afi-route-map.xml.i>
+ #include <include/bgp/bgp-afi-route-reflector-client.xml.i>
+ #include <include/bgp/bgp-afi-route-server-client.xml.i>
+ #include <include/bgp/bgp-afi-soft-reconfiguration.xml.i>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-override-capability.xml.i b/interface-definitions/include/bgp/bgp-override-capability.xml.i
new file mode 100644
index 000000000..88c277c8b
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-override-capability.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-override-capability.xml.i -->
+<leafNode name="override-capability">
+ <properties>
+ <help>Ignore capability negotiation with specified neighbor</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-passive.xml.i b/interface-definitions/include/bgp/bgp-passive.xml.i
new file mode 100644
index 000000000..ada961866
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-passive.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-passive.xml.i -->
+<leafNode name="passive">
+ <properties>
+ <help>Do not initiate a session with this neighbor</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-password.xml.i b/interface-definitions/include/bgp/bgp-password.xml.i
new file mode 100644
index 000000000..5b68a2d71
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-password.xml.i
@@ -0,0 +1,7 @@
+<!-- included start from bgp-password.xml.i -->
+<leafNode name="password">
+ <properties>
+ <help>BGP MD5 password</help>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-peer-group.xml.i b/interface-definitions/include/bgp/bgp-peer-group.xml.i
new file mode 100644
index 000000000..6ee90b17f
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-peer-group.xml.i
@@ -0,0 +1,14 @@
+<!-- included start from bgp-peer-group.xml.i -->
+<leafNode name="peer-group">
+ <properties>
+ <help>Peer group for this peer</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_bgp_peer_groups.sh</script>
+ </completionHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Peer-group name</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-remote-as.xml.i b/interface-definitions/include/bgp/bgp-remote-as.xml.i
new file mode 100644
index 000000000..de3f4d2ad
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-remote-as.xml.i
@@ -0,0 +1,27 @@
+<!-- included start from bgp-remote-as.xml.i -->
+<leafNode name="remote-as">
+ <properties>
+ <help>Neighbor BGP AS number [REQUIRED]</help>
+ <completionHelp>
+ <list>external internal</list>
+ </completionHelp>
+ <valueHelp>
+ <format>u32:1-4294967294</format>
+ <description>Neighbor AS number</description>
+ </valueHelp>
+ <valueHelp>
+ <format>external</format>
+ <description>Any AS different from the local AS</description>
+ </valueHelp>
+ <valueHelp>
+ <format>internal</format>
+ <description>Neighbor AS number</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967294"/>
+ <regex>^(external|internal)$</regex>
+ </constraint>
+ <constraintErrorMessage>Invalid AS number</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-route-target.xml.i b/interface-definitions/include/bgp/bgp-route-target.xml.i
new file mode 100644
index 000000000..c3df56a74
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-route-target.xml.i
@@ -0,0 +1,45 @@
+<!-- included start from bgp-route-target.xml.i -->
+<node name="route-target">
+ <properties>
+ <help>Route Target</help>
+ </properties>
+ <children>
+ <leafNode name="both">
+ <properties>
+ <help>Route Target both import and export</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Route target (x.x.x.x:yyy|xxxx:yyyy)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^((25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)(\.(25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)){3}|[0-9]{1,10}):[0-9]{1,5}$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="export">
+ <properties>
+ <help>Route Target export</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Route target (x.x.x.x:yyy|xxxx:yyyy)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^((25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)(\.(25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)){3}|[0-9]{1,10}):[0-9]{1,5}$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="import">
+ <properties>
+ <help>Route Target import</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Route target (x.x.x.x:yyy|xxxx:yyyy)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^((25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)(\.(25[0-5]|2[0-4][0-9]|[1][0-9][0-9]|[1-9][0-9]|[0-9]?)){3}|[0-9]{1,10}):[0-9]{1,5}$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-shutdown.xml.i b/interface-definitions/include/bgp/bgp-shutdown.xml.i
new file mode 100644
index 000000000..fefbfcebb
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-shutdown.xml.i
@@ -0,0 +1,8 @@
+<!-- included start from bgp-shutdown.xml.i -->
+<leafNode name="shutdown">
+ <properties>
+ <help>Administratively shut down this neighbor</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-timers-holdtime.xml.i b/interface-definitions/include/bgp/bgp-timers-holdtime.xml.i
new file mode 100644
index 000000000..09924574b
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-timers-holdtime.xml.i
@@ -0,0 +1,18 @@
+<!-- included start from bgp-timers-holdtime.xml.i -->
+<leafNode name="holdtime">
+ <properties>
+ <help>BGP hold timer for this neighbor</help>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Hold timer in seconds</description>
+ </valueHelp>
+ <valueHelp>
+ <format>0</format>
+ <description>Hold timer disabled</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-65535"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-timers-keepalive.xml.i b/interface-definitions/include/bgp/bgp-timers-keepalive.xml.i
new file mode 100644
index 000000000..7d294c9d6
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-timers-keepalive.xml.i
@@ -0,0 +1,14 @@
+<!-- included start from bgp-timers-keepalive.xml.i -->
+<leafNode name="keepalive">
+ <properties>
+ <help>BGP keepalive interval for this neighbor</help>
+ <valueHelp>
+ <format>u32:1-65535</format>
+ <description>Keepalive interval in seconds (default 60)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-65535"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-ttl-security.xml.i b/interface-definitions/include/bgp/bgp-ttl-security.xml.i
new file mode 100644
index 000000000..3f4d1786d
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-ttl-security.xml.i
@@ -0,0 +1,21 @@
+<!-- included start from bgp-ttl-security.xml.i -->
+<node name="ttl-security">
+ <properties>
+ <help>Ttl security mechanism</help>
+ </properties>
+ <children>
+ <leafNode name="hops">
+ <properties>
+ <help>Number of the maximum number of hops to the BGP peer</help>
+ <valueHelp>
+ <format>u32:1-254</format>
+ <description>Number of hops</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-254"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ </children>
+</node>
+<!-- included end -->
diff --git a/interface-definitions/include/bgp/bgp-update-source.xml.i b/interface-definitions/include/bgp/bgp-update-source.xml.i
new file mode 100644
index 000000000..3bb79598d
--- /dev/null
+++ b/interface-definitions/include/bgp/bgp-update-source.xml.i
@@ -0,0 +1,29 @@
+<!-- included start from bgp-update-source.xml.i -->
+<leafNode name="update-source">
+ <!-- Need to check format interfaces -->
+ <properties>
+ <help>Source IP of routing updates</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_local_ips.sh --both</script>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>IPv4 address of route source</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ipv6</format>
+ <description>IPv6 address of route source</description>
+ </valueHelp>
+ <valueHelp>
+ <format>txt</format>
+ <description>Interface as route source</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ <validator name="ipv6-address"/>
+ <validator name="interface-name"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- included end -->