summaryrefslogtreecommitdiff
path: root/interface-definitions/interfaces-bonding.xml.in
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-12-10 09:33:59 +0100
committerChristian Poessinger <christian@poessinger.com>2019-12-10 09:33:59 +0100
commitde12bf3757f25e61d40cae88f5ba10ee3a04db8f (patch)
tree4b12ba8772db77d9c409c2cc548356883d90399d /interface-definitions/interfaces-bonding.xml.in
parente9bf6cc7f20d93f35c2d7dc57c9a5a173fe7fc5d (diff)
parenta68d72122c3cc032b5a7b05dafc0578e64244c4f (diff)
downloadvyos-1x-de12bf3757f25e61d40cae88f5ba10ee3a04db8f.tar.gz
vyos-1x-de12bf3757f25e61d40cae88f5ba10ee3a04db8f.zip
Merge branch 'current' of github.com:vyos/vyos-1x into equuleus
* 'current' of github.com:vyos/vyos-1x: T1855, T1826: Restore support for reboot/poweroff in M minutes. vyos.config: T1764: allow for list argument to exists, in value case vyos.config: T1846: ignore edit level when obtaining working config T1843: use include files for interface proxy-arp-pvlan option T1843: use include files for interface proxy-arp configuration T1843: use include files for interface arp-cache-timeout configuration T1843: use include files for interface link-detect feature T1843: use include files for interface MTU size T1843: use include files for interface MAC address T1843: use include files to disable interface (admin down) T1843: use include files for interface description T1843: use include files for DHCP/DHCPv6 options T1843: recursively include IP address definitions in VIF/VIF-S definitions T1843: add support for recursive includes T1843: use include files for VIF/VIF-S interfaces T1843: use include files for IPv4/IPv6 interface address configuration T1843: run interface-definitions though GCC preprocessor
Diffstat (limited to 'interface-definitions/interfaces-bonding.xml.in')
-rw-r--r--interface-definitions/interfaces-bonding.xml.in159
1 files changed, 159 insertions, 0 deletions
diff --git a/interface-definitions/interfaces-bonding.xml.in b/interface-definitions/interfaces-bonding.xml.in
new file mode 100644
index 000000000..e6557a967
--- /dev/null
+++ b/interface-definitions/interfaces-bonding.xml.in
@@ -0,0 +1,159 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="interfaces">
+ <children>
+ <tagNode name="bonding" owner="${vyos_conf_scripts_dir}/interfaces-bonding.py">
+ <properties>
+ <help>Bonding interface name</help>
+ <priority>320</priority>
+ <constraint>
+ <regex>bond[0-9]+$</regex>
+ </constraint>
+ <constraintErrorMessage>Bonding interface must be named bondN</constraintErrorMessage>
+ <valueHelp>
+ <format>bondN</format>
+ <description>Bonding interface name</description>
+ </valueHelp>
+ </properties>
+ <children>
+ #include <include/address-ipv4-ipv6-dhcp.xml.i>
+ <node name="arp-monitor">
+ <properties>
+ <help>ARP link monitoring parameters</help>
+ </properties>
+ <children>
+ <leafNode name="interval">
+ <properties>
+ <help>ARP link monitoring interval</help>
+ <valueHelp>
+ <format>0-4294967295</format>
+ <description>Specifies the ARP link monitoring frequency in milliseconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4294967295"/>
+ </constraint>
+ </properties>
+ </leafNode>
+ <leafNode name="target">
+ <properties>
+ <help>IP address used for ARP monitoring</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>Network Time Protocol (NTP) IPv4 address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ <multi/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ #include <include/interface-description.xml.i>
+ #include <include/dhcp-dhcpv6-options.xml.i>
+ #include <include/interface-disable-link-detect.xml.i>
+ #include <include/interface-disable.xml.i>
+ <leafNode name="hash-policy">
+ <properties>
+ <help>Bonding transmit hash policy</help>
+ <completionHelp>
+ <list>layer2 layer2+3 layer3+4</list>
+ </completionHelp>
+ <valueHelp>
+ <format>layer2</format>
+ <description>use MAC addresses to generate the hash (802.3ad, default)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>layer2+3</format>
+ <description>combine MAC address and IP address to make hash</description>
+ </valueHelp>
+ <valueHelp>
+ <format>layer3+4</format>
+ <description>combine IP address and port to make hash</description>
+ </valueHelp>
+ <constraint>
+ <regex>(layer2\+3|layer3\+4|layer2)</regex>
+ </constraint>
+ <constraintErrorMessage>hash-policy must be layer2 layer2+3 or layer3+4</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <node name="ip">
+ <children>
+ #include <include/interface-arp-cache-timeout.xml.i>
+ #include <include/interface-enable-proxy-arp.xml.i>
+ #include <include/interface-proxy-arp-pvlan.xml.i>
+ </children>
+ </node>
+ #include <include/interface-mac.xml.i>
+ <leafNode name="mode">
+ <properties>
+ <help>Bonding mode</help>
+ <completionHelp>
+ <list>802.3ad active-backup broadcast round-robin transmit-load-balance adaptive-load-balance xor-hash</list>
+ </completionHelp>
+ <valueHelp>
+ <format>802.3ad</format>
+ <description>IEEE 802.3ad Dynamic link aggregation (Default)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>active-backup</format>
+ <description>Fault tolerant: only one slave in the bond is active</description>
+ </valueHelp>
+ <valueHelp>
+ <format>broadcast</format>
+ <description>Fault tolerant: transmits everything on all slave interfaces</description>
+ </valueHelp>
+ <valueHelp>
+ <format>round-robin</format>
+ <description>Load balance: transmit packets in sequential order</description>
+ </valueHelp>
+ <valueHelp>
+ <format>transmit-load-balance</format>
+ <description>Load balance: adapts based on transmit load and speed</description>
+ </valueHelp>
+ <valueHelp>
+ <format>adaptive-load-balance</format>
+ <description>Load balance: adapts based on transmit and receive plus ARP</description>
+ </valueHelp>
+ <valueHelp>
+ <format>xor-hash</format>
+ <description>Distribute based on MAC address</description>
+ </valueHelp>
+ <constraint>
+ <regex>(802.3ad|active-backup|broadcast|round-robin|transmit-load-balance|adaptive-load-balance|xor-hash)</regex>
+ </constraint>
+ <constraintErrorMessage>mode must be 802.3ad, active-backup, broadcast, round-robin, transmit-load-balance, adaptive-load-balance, or xor</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <node name="member">
+ <properties>
+ <help>Bridge member interfaces</help>
+ </properties>
+ <children>
+ <leafNode name="interface">
+ <properties>
+ <help>Member interface name</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py --bondable</script>
+ </completionHelp>
+ <multi/>
+ </properties>
+ </leafNode>
+ </children>
+ </node>
+ #include <include/interface-mtu-68-9000.xml.i>
+ <leafNode name="primary">
+ <properties>
+ <help>Primary device interface</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py --bondable</script>
+ </completionHelp>
+ </properties>
+ </leafNode>
+ #include <include/vif-s.xml.i>
+ #include <include/vif.xml.i>
+ </children>
+ </tagNode>
+ </children>
+ </node>
+</interfaceDefinition>