<?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>315</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> <leafNode name="address"> <properties> <help>IP address</help> <completionHelp> <list>dhcp dhcpv6</list> </completionHelp> <valueHelp> <format>ipv4net</format> <description>IPv4 address and prefix length</description> </valueHelp> <valueHelp> <format>ipv6net</format> <description>IPv6 address and prefix length</description> </valueHelp> <valueHelp> <format>dhcp</format> <description>Dynamic Host Configuration Protocol</description> </valueHelp> <valueHelp> <format>dhcpv6</format> <description>Dynamic Host Configuration Protocol for IPv6</description> </valueHelp> <constraint> <validator name="ip-cidr"/> <regex>(dhcp|dhcpv6)</regex> </constraint> <multi/> </properties> </leafNode> <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> <leafNode name="description"> <properties> <help>Interface description</help> <constraint> <regex>^.{1,256}$</regex> </constraint> <constraintErrorMessage>Interface description too long (limit 256 characters)</constraintErrorMessage> </properties> </leafNode> <node name="dhcp-options"> <properties> <help>DHCP options</help> </properties> <children> <leafNode name="client-id"> <properties> <help>DHCP client identifier</help> </properties> </leafNode> <leafNode name="host-name"> <properties> <help>DHCP client host name (overrides the system host name)</help> </properties> </leafNode> <leafNode name="vendor-class-id"> <properties> <help>DHCP client vendor type</help> </properties> </leafNode> </children> </node> <node name="dhcpv6-options"> <properties> <help>DHCPv6 options</help> <priority>319</priority> </properties> <children> <leafNode name="parameters-only"> <properties> <help>Acquire only config parameters, no address</help> <valueless/> </properties> </leafNode> <leafNode name="temporary"> <properties> <help>IPv6 "temporary" address</help> <valueless/> </properties> </leafNode> </children> </node> <leafNode name="disable-link-detect"> <properties> <help>Ignore link state changes</help> <valueless/> </properties> </leafNode> <leafNode name="disable"> <properties> <help>Disable this bridge interface</help> <valueless/> </properties> </leafNode> <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> <leafNode name="arp-cache-timeout"> <properties> <help>ARP cache entry timeout in seconds</help> <valueHelp> <format>1-86400</format> <description>ARP cache entry timout in seconds (default 30)</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-86400"/> </constraint> <constraintErrorMessage>ARP cache entry timeout must be between 1 and 86400 seconds</constraintErrorMessage> </properties> </leafNode> <leafNode name="enable-proxy-arp"> <properties> <help>Enable proxy-arp on this interface</help> <valueless/> </properties> </leafNode> <leafNode name="proxy-arp-pvlan"> <properties> <help>Enable private VLAN proxy ARP on this interface</help> <valueless/> </properties> </leafNode> </children> </node> <leafNode name="mac"> <properties> <help>Media Access Control (MAC) address</help> <valueHelp> <format>h:h:h:h:h:h</format> <description>Hardware (MAC) address</description> </valueHelp> <constraint> <validator name="mac-address"/> </constraint> </properties> </leafNode> <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> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU)</help> <valueHelp> <format>68-9000</format> <description>Maximum Transmission Unit</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 68-9000"/> </constraint> <constraintErrorMessage>MTU must be between 68 and 9000</constraintErrorMessage> </properties> </leafNode> <leafNode name="primary"> <properties> <help>Primary device interface</help> <completionHelp> <script>${vyos_completion_dir}/list_interfaces.py --bondable</script> </completionHelp> </properties> </leafNode> <tagNode name="vif-s"> <properties> <help>QinQ TAG-S Virtual Local Area Network (VLAN) ID</help> <constraint> <validator name="numeric" argument="--range 0-4094"/> </constraint> <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> </properties> <children> <leafNode name="address"> <properties> <help>IP address</help> <completionHelp> <list>dhcp dhcpv6</list> </completionHelp> <valueHelp> <format>ipv4net</format> <description>IPv4 address and prefix length</description> </valueHelp> <valueHelp> <format>ipv6net</format> <description>IPv6 address and prefix length</description> </valueHelp> <valueHelp> <format>dhcp</format> <description>Dynamic Host Configuration Protocol</description> </valueHelp> <valueHelp> <format>dhcpv6</format> <description>Dynamic Host Configuration Protocol for IPv6</description> </valueHelp> <constraint> <validator name="ip-cidr"/> <regex>(dhcp|dhcpv6)</regex> </constraint> <multi/> </properties> </leafNode> <leafNode name="description"> <properties> <help>Interface description</help> <constraint> <regex>^.{1,256}$</regex> </constraint> <constraintErrorMessage>Interface description too long (limit 256 characters)</constraintErrorMessage> </properties> </leafNode> <node name="dhcp-options"> <properties> <help>DHCP options</help> </properties> <children> <leafNode name="client-id"> <properties> <help>DHCP client identifier</help> </properties> </leafNode> <leafNode name="host-name"> <properties> <help>DHCP client host name (overrides the system host name)</help> </properties> </leafNode> <leafNode name="vendor-class-id"> <properties> <help>DHCP client vendor type</help> </properties> </leafNode> </children> </node> <node name="dhcpv6-options"> <properties> <help>DHCPv6 options</help> <priority>319</priority> </properties> <children> <leafNode name="parameters-only"> <properties> <help>Acquire only config parameters, no address</help> <valueless/> </properties> </leafNode> <leafNode name="temporary"> <properties> <help>IPv6 "temporary" address</help> <valueless/> </properties> </leafNode> </children> </node> <leafNode name="disable-link-detect"> <properties> <help>Ignore link state changes</help> <valueless/> </properties> </leafNode> <leafNode name="disable"> <properties> <help>Disable this bridge interface</help> <valueless/> </properties> </leafNode> <leafNode name="ethertype"> <properties> <help>Set Ethertype</help> <completionHelp> <list>0x88A8 0x8100</list> </completionHelp> <valueHelp> <format>0x88A8</format> <description>802.1ad</description> </valueHelp> <valueHelp> <format>0x8100</format> <description>802.1q</description> </valueHelp> <constraint> <regex>(0x88A8|0x8100)</regex> </constraint> <constraintErrorMessage>Ethertype must be 0x88A8 or 0x8100</constraintErrorMessage> </properties> </leafNode> <leafNode name="mac"> <properties> <help>Media Access Control (MAC) address</help> <valueHelp> <format>h:h:h:h:h:h</format> <description>Hardware (MAC) address</description> </valueHelp> <constraint> <validator name="mac-address"/> </constraint> </properties> </leafNode> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU)</help> <valueHelp> <format>68-9000</format> <description>Maximum Transmission Unit</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 68-9000"/> </constraint> <constraintErrorMessage>MTU must be between 68 and 9000</constraintErrorMessage> </properties> </leafNode> <tagNode name="vif-c"> <properties> <help>QinQ TAG-C Virtual Local Area Network (VLAN) ID</help> <constraint> <validator name="numeric" argument="--range 0-4094"/> </constraint> <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> </properties> <children> <leafNode name="address"> <properties> <help>IP address</help> <completionHelp> <list>dhcp dhcpv6</list> </completionHelp> <valueHelp> <format>ipv4net</format> <description>IPv4 address and prefix length</description> </valueHelp> <valueHelp> <format>ipv6net</format> <description>IPv6 address and prefix length</description> </valueHelp> <valueHelp> <format>dhcp</format> <description>Dynamic Host Configuration Protocol</description> </valueHelp> <valueHelp> <format>dhcpv6</format> <description>Dynamic Host Configuration Protocol for IPv6</description> </valueHelp> <constraint> <validator name="ip-cidr"/> <regex>(dhcp|dhcpv6)</regex> </constraint> <multi/> </properties> </leafNode> <leafNode name="description"> <properties> <help>Interface description</help> <constraint> <regex>^.{1,256}$</regex> </constraint> <constraintErrorMessage>Interface description too long (limit 256 characters)</constraintErrorMessage> </properties> </leafNode> <node name="dhcp-options"> <properties> <help>DHCP options</help> </properties> <children> <leafNode name="client-id"> <properties> <help>DHCP client identifier</help> </properties> </leafNode> <leafNode name="host-name"> <properties> <help>DHCP client host name (overrides the system host name)</help> </properties> </leafNode> <leafNode name="vendor-class-id"> <properties> <help>DHCP client vendor type</help> </properties> </leafNode> </children> </node> <node name="dhcpv6-options"> <properties> <help>DHCPv6 options</help> <priority>319</priority> </properties> <children> <leafNode name="parameters-only"> <properties> <help>Acquire only config parameters, no address</help> <valueless/> </properties> </leafNode> <leafNode name="temporary"> <properties> <help>IPv6 "temporary" address</help> <valueless/> </properties> </leafNode> </children> </node> <leafNode name="disable-link-detect"> <properties> <help>Ignore link state changes</help> <valueless/> </properties> </leafNode> <leafNode name="disable"> <properties> <help>Disable this bridge interface</help> <valueless/> </properties> </leafNode> <leafNode name="mac"> <properties> <help>Media Access Control (MAC) address</help> <valueHelp> <format>h:h:h:h:h:h</format> <description>Hardware (MAC) address</description> </valueHelp> <constraint> <validator name="mac-address"/> </constraint> </properties> </leafNode> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU)</help> <valueHelp> <format>68-9000</format> <description>Maximum Transmission Unit</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 68-9000"/> </constraint> <constraintErrorMessage>MTU must be between 68 and 9000</constraintErrorMessage> </properties> </leafNode> </children> </tagNode> </children> </tagNode> <tagNode name="vif"> <properties> <help>Virtual Local Area Network (VLAN) ID</help> <constraint> <validator name="numeric" argument="--range 0-4094"/> </constraint> <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> </properties> <children> <leafNode name="address"> <properties> <help>IP address</help> <completionHelp> <list>dhcp dhcpv6</list> </completionHelp> <valueHelp> <format>ipv4net</format> <description>IPv4 address and prefix length</description> </valueHelp> <valueHelp> <format>ipv6net</format> <description>IPv6 address and prefix length</description> </valueHelp> <valueHelp> <format>dhcp</format> <description>Dynamic Host Configuration Protocol</description> </valueHelp> <valueHelp> <format>dhcpv6</format> <description>Dynamic Host Configuration Protocol for IPv6</description> </valueHelp> <constraint> <validator name="ip-cidr"/> <regex>(dhcp|dhcpv6)</regex> </constraint> <multi/> </properties> </leafNode> <leafNode name="description"> <properties> <help>Interface description</help> <constraint> <regex>^.{1,256}$</regex> </constraint> <constraintErrorMessage>Interface description too long (limit 256 characters)</constraintErrorMessage> </properties> </leafNode> <node name="dhcp-options"> <properties> <help>DHCP options</help> </properties> <children> <leafNode name="client-id"> <properties> <help>DHCP client identifier</help> </properties> </leafNode> <leafNode name="host-name"> <properties> <help>DHCP client host name (overrides the system host name)</help> </properties> </leafNode> <leafNode name="vendor-class-id"> <properties> <help>DHCP client vendor type</help> </properties> </leafNode> </children> </node> <node name="dhcpv6-options"> <properties> <help>DHCPv6 options</help> <priority>319</priority> </properties> <children> <leafNode name="parameters-only"> <properties> <help>Acquire only config parameters, no address</help> <valueless/> </properties> </leafNode> <leafNode name="temporary"> <properties> <help>IPv6 "temporary" address</help> <valueless/> </properties> </leafNode> </children> </node> <leafNode name="disable-link-detect"> <properties> <help>Ignore link state changes</help> <valueless/> </properties> </leafNode> <leafNode name="disable"> <properties> <help>Disable this bridge interface</help> <valueless/> </properties> </leafNode> <leafNode name="mac"> <properties> <help>Media Access Control (MAC) address</help> <valueHelp> <format>h:h:h:h:h:h</format> <description>Hardware (MAC) address</description> </valueHelp> <constraint> <validator name="mac-address"/> </constraint> </properties> </leafNode> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU)</help> <valueHelp> <format>68-9000</format> <description>Maximum Transmission Unit</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 68-9000"/> </constraint> <constraintErrorMessage>MTU must be between 68 and 9000</constraintErrorMessage> </properties> </leafNode> </children> </tagNode> </children> </tagNode> </children> </node> </interfaceDefinition>