summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-06-17 19:21:57 +0200
committerChristian Poessinger <christian@poessinger.com>2021-06-17 19:21:57 +0200
commit635eed0452f15b18b8125e831b48582fa093c125 (patch)
treeac78747c07fd1cc71cbcea38125263fba458afe0 /interface-definitions
parent6cfcf7a761adb3e51f9279611435a39a1424e9c9 (diff)
parent13f0bf83f67a90e8164dec84ed0aced2440688fb (diff)
downloadvyos-1x-635eed0452f15b18b8125e831b48582fa093c125.tar.gz
vyos-1x-635eed0452f15b18b8125e831b48582fa093c125.zip
Merge branch 'route-map-extcommunity' into current
* route-map-extcommunity: policy: T3631: migrate "set extcommunity-rt|soo" to "set extcommunity rt|soo" route-map: T3632: fix invalid validation regex for extcommunity-rt|soo bgp: T3624: add "bandwidth" bestpath option policy: T3624: remove duplicate CLI node for "bgp-extcommunity-rt" policy: T3624: add extended community bandwith support to route-map policy: T3631: migrate "set extcommunity-rt/soo" to "set extcommunity rt|soo"
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/include/bgp/protocol-common-config.xml.i23
-rw-r--r--interface-definitions/policy.xml.in88
2 files changed, 86 insertions, 25 deletions
diff --git a/interface-definitions/include/bgp/protocol-common-config.xml.i b/interface-definitions/include/bgp/protocol-common-config.xml.i
index 78a4fb763..37fc7259f 100644
--- a/interface-definitions/include/bgp/protocol-common-config.xml.i
+++ b/interface-definitions/include/bgp/protocol-common-config.xml.i
@@ -1114,6 +1114,29 @@
</leafNode>
</children>
</node>
+ <leafNode name="bandwidth">
+ <properties>
+ <help>Link Bandwidth attribute</help>
+ <completionHelp>
+ <list>default-weight-for-missing ignore skip-missing</list>
+ </completionHelp>
+ <valueHelp>
+ <format>default-weight-for-missing</format>
+ <description>Assign low default weight (1) to paths not having link bandwidth</description>
+ </valueHelp>
+ <valueHelp>
+ <format>ignore</format>
+ <description>Ignore link bandwidth (do regular ECMP, not weighted)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>skip-missing</format>
+ <description>Ignore paths without link bandwidth for ECMP (if other paths have it)</description>
+ </valueHelp>
+ <constraint>
+ <regex>^(default-weight-for-missing|ignore|skip-missing)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
<leafNode name="compare-routerid">
<properties>
<help>Compare the router-id for identical EBGP paths</help>
diff --git a/interface-definitions/policy.xml.in b/interface-definitions/policy.xml.in
index 195e074a3..6a002cc20 100644
--- a/interface-definitions/policy.xml.in
+++ b/interface-definitions/policy.xml.in
@@ -925,15 +925,6 @@
<valueless/>
</properties>
</leafNode>
- <leafNode name="bgp-extcommunity-rt">
- <properties>
- <help>Set route target value</help>
- <valueHelp>
- <format>&lt;aa:nn&gt;</format>
- <description>ExtCommunity in format: asn:value</description>
- </valueHelp>
- </properties>
- </leafNode>
<node name="comm-list">
<properties>
<help>Border Gateway Protocol (BGP) communities matching a community-list</help>
@@ -1007,24 +998,71 @@
</constraint>
</properties>
</leafNode>
- <leafNode name="extcommunity-rt">
+ <node name="extcommunity">
<properties>
- <help>Set route target value</help>
- <valueHelp>
- <format>txt</format>
- <description>ASN:nn_or_IP_address:nn VPN extended community</description>
- </valueHelp>
+ <help>BGP extended community attribute</help>
</properties>
- </leafNode>
- <leafNode name="extcommunity-soo">
- <properties>
- <help>Set Site of Origin value</help>
- <valueHelp>
- <format>txt</format>
- <description>ASN:nn_or_IP_address:nn VPN extended community</description>
- </valueHelp>
- </properties>
- </leafNode>
+ <children>
+ <leafNode name="bandwidth">
+ <properties>
+ <help>Bandwidth value in Mbps</help>
+ <completionHelp>
+ <list>cumulative num-multipaths</list>
+ </completionHelp>
+ <valueHelp>
+ <format>u32:1-25600</format>
+ <description>Bandwidth value in Mbps</description>
+ </valueHelp>
+ <valueHelp>
+ <format>cumulative</format>
+ <description>Cumulative bandwidth of all multipaths (outbound-only)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>num-multipaths</format>
+ <description>Internally computed bandwidth based on number of multipaths (outbound-only)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-25600"/>
+ <regex>^(cumulative|num-multipaths)$</regex>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="rt">
+ <properties>
+ <help>Set route target value</help>
+ <valueHelp>
+ <format>ASN:NN</format>
+ <description>based on autonomous system number</description>
+ </valueHelp>
+ <valueHelp>
+ <format>IP:NN</format>
+ <description>Based on a router-id IP address</description>
+ </valueHelp>
+ <constraint>
+ <regex>^((?:[0-9]{1,3}\.){3}[0-9]{1,3}|\d+):\d+$</regex>
+ </constraint>
+ <constraintErrorMessage>Should be in form: ASN:NN or IPADDR:NN where ASN is autonomous system number</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="soo">
+ <properties>
+ <help>Set Site of Origin value</help>
+ <valueHelp>
+ <format>ASN:NN</format>
+ <description>based on autonomous system number</description>
+ </valueHelp>
+ <valueHelp>
+ <format>IP:NN</format>
+ <description>Based on a router-id IP address</description>
+ </valueHelp>
+ <constraint>
+ <regex>^((?:[0-9]{1,3}\.){3}[0-9]{1,3}|\d+):\d+$</regex>
+ </constraint>
+ <constraintErrorMessage>Should be in form: ASN:NN or IPADDR:NN where ASN is autonomous system number</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
<leafNode name="ip-next-hop">
<properties>
<help>Nexthop IP address</help>