<?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="ethernet" owner="${vyos_conf_scripts_dir}/interface-ethernet.py"> <properties> <help>Ethernet interface name</help> <priority>318</priority> <constraint> <regex>((eth|lan)[0-9]+|(eno|ens|enp|enx).+)$</regex> </constraint> <constraintErrorMessage>Invalid Ethernet interface name</constraintErrorMessage> <valueHelp> <format>ethN</format> <description>Ethernet interface name</description> </valueHelp> <valueHelp> <format>en[ospx]N</format> <description>Ethernet 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> <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> </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-flow-control"> <properties> <help>Disable Ethernet flow control (pause frames)</help> <valueless/> </properties> </leafNode> <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="duplex"> <properties> <help>Duplex mode</help> <completionHelp> <list>auto half full</list> </completionHelp> <valueHelp> <format>auto</format> <description>Auto negotiation (default)</description> </valueHelp> <valueHelp> <format>half</format> <description>Half duplex</description> </valueHelp> <valueHelp> <format>full</format> <description>Full duplex</description> </valueHelp> <constraint> <regex>(auto|half|full)</regex> </constraint> <constraintErrorMessage>duplex must be auto, half or full</constraintErrorMessage> </properties> </leafNode> <leafNode name="hw-id"> <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> <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="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> <node name="offload-options"> <properties> <help>Configurable offload options</help> </properties> <children> <leafNode name="generic-receive"> <properties> <help>Configure GRO (generic receive offload)</help> <completionHelp> <list>on off</list> </completionHelp> <valueHelp> <format>on</format> <description>Enable GRO (generic receive offload)</description> </valueHelp> <valueHelp> <format>off</format> <description>Disable GRO (generic receive offload)</description> </valueHelp> <constraint> <regex>(on|off)</regex> </constraint> <constraintErrorMessage>Must be either 'on' or 'off'</constraintErrorMessage> </properties> </leafNode> <leafNode name="generic-segmentation"> <properties> <help>Configure GSO (generic segmentation offload)</help> <completionHelp> <list>on off</list> </completionHelp> <valueHelp> <format>on</format> <description>Enable GSO (generic segmentation offload)</description> </valueHelp> <valueHelp> <format>off</format> <description>Disable GSO (generic segmentation offload)</description> </valueHelp> <constraint> <regex>(on|off)</regex> </constraint> <constraintErrorMessage>Must be either 'on' or 'off'</constraintErrorMessage> </properties> </leafNode> <leafNode name="scatter-gather"> <properties> <help>Configure scatter-gather option</help> <completionHelp> <list>on off</list> </completionHelp> <valueHelp> <format>on</format> <description>Enable scatter-gather</description> </valueHelp> <valueHelp> <format>off</format> <description>Disable scatter-gather</description> </valueHelp> <constraint> <regex>(on|off)</regex> </constraint> <constraintErrorMessage>Must be either 'on' or 'off'</constraintErrorMessage> </properties> </leafNode> <leafNode name="tcp-segmentation"> <properties> <help>Configure TSO (TCP segmentation offloading)</help> <completionHelp> <list>on off</list> </completionHelp> <valueHelp> <format>on</format> <description>Enable TSO (TCP segmentation offloading)</description> </valueHelp> <valueHelp> <format>off</format> <description>Disable TSO (TCP segmentation offloading)</description> </valueHelp> <constraint> <regex>(on|off)</regex> </constraint> <constraintErrorMessage>Must be either 'on' or 'off'</constraintErrorMessage> </properties> </leafNode> <leafNode name="udp-fragmentation"> <properties> <help>Configure UDP fragmentation offloading</help> <completionHelp> <list>on off</list> </completionHelp> <valueHelp> <format>on</format> <description>Enable UDP fragmentation offloading</description> </valueHelp> <valueHelp> <format>off</format> <description>Disable UDP fragmentation offloading</description> </valueHelp> <constraint> <regex>(on|off)</regex> </constraint> <constraintErrorMessage>Must be either 'on' or 'off'</constraintErrorMessage> </properties> </leafNode> </children> </node> <leafNode name="smp-affinity"> <properties> <help>CPU interrupt affinity mask</help> <completionHelp> <list>auto 10 100 1000 2500 5000 10000</list> </completionHelp> <valueHelp> <format>auto</format> <description>Auto negotiation (default)</description> </valueHelp> <valueHelp> <format>hex</format> <description>Bitmask representing CPUs that this NIC will interrupt</description> </valueHelp> <valueHelp> <format>hex,hex</format> <description>Bitmasks representing CPUs for interrupt and receive processing</description> </valueHelp> <constraint> <regex>(auto)</regex> <regex>[0-9a-f]+(|,[0-9a-f]+)$</regex> </constraint> <constraintErrorMessage>IRQ affinity mask must be hex value or auto</constraintErrorMessage> </properties> </leafNode> <leafNode name="speed"> <properties> <help>Link speed</help> <completionHelp> <list>auto 10 100 1000 2500 5000 10000 25000 40000 50000 100000</list> </completionHelp> <valueHelp> <format>auto</format> <description>Auto negotiation (default)</description> </valueHelp> <valueHelp> <format>10</format> <description>10 Mbit/sec</description> </valueHelp> <valueHelp> <format>100</format> <description>100 Mbit/sec</description> </valueHelp> <valueHelp> <format>1000</format> <description>1 Gbit/sec</description> </valueHelp> <valueHelp> <format>2500</format> <description>2.5 Gbit/sec</description> </valueHelp> <valueHelp> <format>5000</format> <description>5 Gbit/sec</description> </valueHelp> <valueHelp> <format>10000</format> <description>10 Gbit/sec</description> </valueHelp> <valueHelp> <format>25000</format> <description>25 Gbit/sec</description> </valueHelp> <valueHelp> <format>40000</format> <description>40 Gbit/sec</description> </valueHelp> <valueHelp> <format>50000</format> <description>50 Gbit/sec</description> </valueHelp> <valueHelp> <format>100000</format> <description>100 Gbit/sec</description> </valueHelp> <constraint> <regex>(auto|10|100|1000|2500|5000|10000|25000|40000|50000|100000)</regex> </constraint> <constraintErrorMessage>Speed must be auto, 10, 100, 1000, 2500, 5000, 10000, 25000, 40000, 50000 or 100000</constraintErrorMessage> </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> </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> <node name="ip"> <children> <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="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> </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> <node name="ip"> <children> <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="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> </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="egress-qos"> <properties> <help>VLAN egress QoS</help> <completionHelp> <script>echo Format for qos mapping \"0:1 1:6 7:6\"</script> </completionHelp> <constraint> <regex>[:0-7 ]+$</regex> </constraint> <constraintErrorMessage>QoS mapping should be in the format of \"0:7 2:3\" with numbers 0-9</constraintErrorMessage> </properties> </leafNode> <leafNode name="ingress-qos"> <properties> <help>VLAN ingress QoS</help> <completionHelp> <script>echo Format for qos mapping \"0:1 1:6 7:6\"</script> </completionHelp> <constraint> <regex>[:0-7 ]+$</regex> </constraint> <constraintErrorMessage>QoS mapping should be in the format of \"0:7 2:3\" with numbers 0-9</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="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>