diff --git a/interface-definitions/include/interface/mtu-68-16000.xml.i b/interface-definitions/include/interface/mtu-68-16000.xml.i index cb666f470..df1b7b716 100644 --- a/interface-definitions/include/interface/mtu-68-16000.xml.i +++ b/interface-definitions/include/interface/mtu-68-16000.xml.i @@ -1,16 +1,15 @@ <!-- include start from interface/mtu-68-16000.xml.i --> <leafNode name="mtu"> <properties> <help>Maximum Transmission Unit (MTU)</help> <valueHelp> <format>u32:68-16000</format> <description>Maximum Transmission Unit in byte</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 68-16000"/> </constraint> <constraintErrorMessage>MTU must be between 68 and 16000</constraintErrorMessage> </properties> - <defaultValue>1500</defaultValue> </leafNode> <!-- include end --> diff --git a/interface-definitions/interfaces_bonding.xml.in b/interface-definitions/interfaces_bonding.xml.in index 62ee0bdc7..92c0911db 100644 --- a/interface-definitions/interfaces_bonding.xml.in +++ b/interface-definitions/interfaces_bonding.xml.in @@ -1,286 +1,289 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="bonding" owner="${vyos_conf_scripts_dir}/interfaces_bonding.py"> <properties> <help>Bonding Interface/Link Aggregation</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/interface/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>u32</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>Specify IPv4 address of ARP requests when interval is enabled</description> </valueHelp> <constraint> <validator name="ipv4-address"/> </constraint> <multi/> </properties> </leafNode> </children> </node> #include <include/generic-description.xml.i> #include <include/interface/dhcp-options.xml.i> #include <include/interface/dhcpv6-options.xml.i> #include <include/interface/disable-link-detect.xml.i> #include <include/interface/disable.xml.i> #include <include/interface/vrf.xml.i> #include <include/interface/mirror.xml.i> <node name="evpn"> <properties> <help>EVPN Multihoming</help> </properties> <children> <leafNode name="es-df-pref"> <properties> <help>Preference value used for designated forwarder (DF) election</help> <valueHelp> <format>u32:1-65535</format> <description>DF Preference value</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> </leafNode> <leafNode name="es-id"> <properties> <help>Ethernet segment identifier</help> <valueHelp> <format>u32:1-16777215</format> <description>Local discriminator</description> </valueHelp> <valueHelp> <format>txt</format> <description>10-byte ID - 00:11:22:33:44:55:AA:BB:CC:DD</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> <regex>([0-9A-Fa-f][0-9A-Fa-f]:){9}[0-9A-Fa-f][0-9A-Fa-f]</regex> </constraint> </properties> </leafNode> <leafNode name="es-sys-mac"> <properties> <help>Ethernet segment system MAC</help> <valueHelp> <format>macaddr</format> <description>MAC address</description> </valueHelp> <constraint> <validator name="mac-address"/> </constraint> </properties> </leafNode> <leafNode name="uplink"> <properties> <help>Uplink to the VXLAN core</help> <valueless/> </properties> </leafNode> </children> </node> <leafNode name="hash-policy"> <properties> <help>Bonding transmit hash policy</help> <completionHelp> <list>layer2 layer2+3 layer3+4 encap2+3 encap3+4</list> </completionHelp> <valueHelp> <format>layer2</format> <description>use MAC addresses to generate the hash</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> <valueHelp> <format>encap2+3</format> <description>combine encapsulated MAC address and IP address to make hash</description> </valueHelp> <valueHelp> <format>encap3+4</format> <description>combine encapsulated IP address and port to make hash</description> </valueHelp> <constraint> <regex>(layer2\+3|layer3\+4|layer2|encap2\+3|encap3\+4)</regex> </constraint> <constraintErrorMessage>hash-policy must be layer2 layer2+3 layer3+4 encap2+3 or encap3+4</constraintErrorMessage> </properties> <defaultValue>layer2</defaultValue> </leafNode> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/interface/mac.xml.i> <leafNode name="mii-mon-interval"> <properties> <help>Specifies the MII link monitoring frequency in milliseconds</help> <valueHelp> <format>u32:0</format> <description>Disable MII link monitoring</description> </valueHelp> <valueHelp> <format>u32:50-1000</format> <description>MII link monitoring frequency in milliseconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-0 --range 50-1000"/> </constraint> </properties> <defaultValue>100</defaultValue> </leafNode> <leafNode name="min-links"> <properties> <help>Minimum number of member interfaces required up before enabling bond</help> <valueHelp> <format>u32:0-16</format> <description>Minimum number of member interfaces required up before enabling bond</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-16"/> </constraint> </properties> <defaultValue>0</defaultValue> </leafNode> <leafNode name="lacp-rate"> <properties> <help>Rate in which we will ask our link partner to transmit LACPDU packets</help> <completionHelp> <list>slow fast</list> </completionHelp> <valueHelp> <format>slow</format> <description>Request partner to transmit LACPDUs every 30 seconds</description> </valueHelp> <valueHelp> <format>fast</format> <description>Request partner to transmit LACPDUs every 1 second</description> </valueHelp> <constraint> <regex>(slow|fast)</regex> </constraint> </properties> <defaultValue>slow</defaultValue> </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</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> <defaultValue>802.3ad</defaultValue> </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 --bondable</script> </completionHelp> <valueHelp> <format>txt</format> <description>Interface name</description> </valueHelp> <constraint> #include <include/constraint/interface-name.xml.i> </constraint> <multi/> </properties> </leafNode> </children> </node> #include <include/interface/mtu-68-16000.xml.i> + <leafNode name="mtu"> + <defaultValue>1500</defaultValue> + </leafNode> <leafNode name="primary"> <properties> <help>Primary device interface</help> <completionHelp> <script>${vyos_completion_dir}/list_interfaces --bondable</script> </completionHelp> <valueHelp> <format>txt</format> <description>Interface name</description> </valueHelp> <constraint> #include <include/constraint/interface-name.xml.i> </constraint> </properties> </leafNode> #include <include/interface/redirect.xml.i> #include <include/interface/vif-s.xml.i> #include <include/interface/vif.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces_bridge.xml.in b/interface-definitions/interfaces_bridge.xml.in index 7fb5f121a..29dd61df5 100644 --- a/interface-definitions/interfaces_bridge.xml.in +++ b/interface-definitions/interfaces_bridge.xml.in @@ -1,230 +1,233 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="bridge" owner="${vyos_conf_scripts_dir}/interfaces_bridge.py"> <properties> <help>Bridge Interface</help> <priority>310</priority> <constraint> <regex>br[0-9]+</regex> </constraint> <constraintErrorMessage>Bridge interface must be named brN</constraintErrorMessage> <valueHelp> <format>brN</format> <description>Bridge interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> <leafNode name="aging"> <properties> <help>MAC address aging interval</help> <valueHelp> <format>u32:0</format> <description>Disable MAC address learning (always flood)</description> </valueHelp> <valueHelp> <format>u32:10-1000000</format> <description>MAC address aging time in seconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-0 --range 10-1000000"/> </constraint> </properties> <defaultValue>300</defaultValue> </leafNode> #include <include/generic-description.xml.i> #include <include/interface/dhcp-options.xml.i> #include <include/interface/dhcpv6-options.xml.i> #include <include/interface/disable-link-detect.xml.i> #include <include/interface/disable.xml.i> #include <include/interface/vrf.xml.i> #include <include/interface/mtu-68-16000.xml.i> + <leafNode name="mtu"> + <defaultValue>1500</defaultValue> + </leafNode> <leafNode name="forwarding-delay"> <properties> <help>Forwarding delay</help> <valueHelp> <format>u32:0-200</format> <description>Spanning Tree Protocol forwarding delay in seconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-200"/> </constraint> <constraintErrorMessage>Forwarding delay must be between 0 and 200 seconds</constraintErrorMessage> </properties> <defaultValue>14</defaultValue> </leafNode> <leafNode name="hello-time"> <properties> <help>Hello packet advertisement interval</help> <valueHelp> <format>u32:1-10</format> <description>Spanning Tree Protocol hello advertisement interval in seconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-10"/> </constraint> <constraintErrorMessage>Bridge Hello interval must be between 1 and 10 seconds</constraintErrorMessage> </properties> <defaultValue>2</defaultValue> </leafNode> <node name="igmp"> <properties> <help>Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) settings</help> </properties> <children> <leafNode name="querier"> <properties> <help>Enable IGMP/MLD querier</help> <valueless/> </properties> </leafNode> <leafNode name="snooping"> <properties> <help>Enable IGMP/MLD snooping</help> <valueless/> </properties> </leafNode> </children> </node> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/interface/mac.xml.i> #include <include/interface/mirror.xml.i> <leafNode name="enable-vlan"> <properties> <help>Enable VLAN aware bridge</help> <valueless/> </properties> </leafNode> #include <include/interface/vlan-protocol.xml.i> <leafNode name="protocol"> <defaultValue>802.1q</defaultValue> </leafNode> <leafNode name="max-age"> <properties> <help>Interval at which neighbor bridges are removed</help> <valueHelp> <format>u32:1-40</format> <description>Bridge maximum aging time in seconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-40"/> </constraint> <constraintErrorMessage>Bridge max aging value must be between 1 and 40 seconds</constraintErrorMessage> </properties> <defaultValue>20</defaultValue> </leafNode> <node name="member"> <properties> <help>Bridge member interfaces</help> </properties> <children> <tagNode name="interface"> <properties> <help>Member interface name</help> <completionHelp> <script>${vyos_completion_dir}/list_interfaces --bridgeable</script> </completionHelp> <constraint> #include <include/constraint/interface-name.xml.i> </constraint> </properties> <children> <leafNode name="native-vlan"> <properties> <help>Specify VLAN id which should natively be present on the link</help> <valueHelp> <format>u32:1-4094</format> <description>Virtual Local Area Network (VLAN) ID</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-4094"/> </constraint> <constraintErrorMessage>VLAN ID must be between 1 and 4094</constraintErrorMessage> </properties> </leafNode> <leafNode name="allowed-vlan"> <properties> <help>Specify VLAN id which is allowed in this trunk interface</help> <valueHelp> <format><id></format> <description>VLAN id allowed to pass this interface</description> </valueHelp> <valueHelp> <format><idN>-<idM></format> <description>VLAN id range allowed on this interface (use '-' as delimiter)</description> </valueHelp> <constraint> <validator name="numeric" argument="--allow-range --range 1-4094"/> </constraint> <constraintErrorMessage>not a valid VLAN ID value or range</constraintErrorMessage> <multi/> </properties> </leafNode> <leafNode name="cost"> <properties> <help>Bridge port cost</help> <valueHelp> <format>u32:1-65535</format> <description>Path cost value for Spanning Tree Protocol</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> <constraintErrorMessage>Path cost value must be between 1 and 65535</constraintErrorMessage> </properties> <defaultValue>100</defaultValue> </leafNode> <leafNode name="priority"> <properties> <help>Bridge port priority</help> <valueHelp> <format>u32:0-63</format> <description>Bridge port priority</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-63"/> </constraint> <constraintErrorMessage>Port priority value must be between 0 and 63</constraintErrorMessage> </properties> <defaultValue>32</defaultValue> </leafNode> <leafNode name="isolated"> <properties> <help>Port is isolated (also known as Private-VLAN)</help> <valueless/> </properties> </leafNode> </children> </tagNode> </children> </node> <leafNode name="priority"> <properties> <help>Priority for this bridge</help> <valueHelp> <format>u32:0-65535</format> <description>Bridge priority</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-65535"/> </constraint> <constraintErrorMessage>Bridge priority must be between 0 and 65535 (multiples of 4096)</constraintErrorMessage> </properties> <defaultValue>32768</defaultValue> </leafNode> <leafNode name="stp"> <properties> <help>Enable spanning tree protocol</help> <valueless/> </properties> </leafNode> #include <include/interface/redirect.xml.i> #include <include/interface/vif.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces_dummy.xml.in b/interface-definitions/interfaces_dummy.xml.in index ef8ee78e7..36b4e41f2 100644 --- a/interface-definitions/interfaces_dummy.xml.in +++ b/interface-definitions/interfaces_dummy.xml.in @@ -1,57 +1,60 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="dummy" owner="${vyos_conf_scripts_dir}/interfaces_dummy.py"> <properties> <help>Dummy Interface</help> <priority>300</priority> <constraint> <regex>dum[0-9]+</regex> </constraint> <constraintErrorMessage>Dummy interface must be named dumN</constraintErrorMessage> <valueHelp> <format>dumN</format> <description>Dummy interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6.xml.i> #include <include/generic-description.xml.i> #include <include/interface/disable.xml.i> <node name="ip"> <properties> <help>IPv4 routing parameters</help> </properties> <children> #include <include/interface/source-validation.xml.i> #include <include/interface/disable-forwarding.xml.i> </children> </node> <node name="ipv6"> <properties> <help>IPv6 routing parameters</help> </properties> <children> #include <include/interface/disable-forwarding.xml.i> <node name="address"> <properties> <help>IPv6 address configuration modes</help> </properties> <children> #include <include/interface/ipv6-address-eui64.xml.i> #include <include/interface/ipv6-address-no-default-link-local.xml.i> </children> </node> </children> </node> #include <include/interface/mtu-68-16000.xml.i> + <leafNode name="mtu"> + <defaultValue>1500</defaultValue> + </leafNode> #include <include/interface/mirror.xml.i> #include <include/interface/netns.xml.i> #include <include/interface/redirect.xml.i> #include <include/interface/vrf.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces_vti.xml.in b/interface-definitions/interfaces_vti.xml.in index 158d9afd0..39fb3131e 100644 --- a/interface-definitions/interfaces_vti.xml.in +++ b/interface-definitions/interfaces_vti.xml.in @@ -1,32 +1,35 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="vti" owner="${vyos_conf_scripts_dir}/interfaces_vti.py"> <properties> <help>Virtual Tunnel Interface (XFRM)</help> <priority>381</priority> <constraint> <regex>vti[0-9]+</regex> </constraint> <constraintErrorMessage>VTI interface must be named vtiN</constraintErrorMessage> <valueHelp> <format>vtiN</format> <description>VTI interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6.xml.i> #include <include/generic-description.xml.i> #include <include/interface/disable.xml.i> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/interface/mtu-68-16000.xml.i> + <leafNode name="mtu"> + <defaultValue>1500</defaultValue> + </leafNode> #include <include/interface/mirror.xml.i> #include <include/interface/redirect.xml.i> #include <include/interface/vrf.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces_wireguard.xml.in b/interface-definitions/interfaces_wireguard.xml.in index fba1064ef..ce49de038 100644 --- a/interface-definitions/interfaces_wireguard.xml.in +++ b/interface-definitions/interfaces_wireguard.xml.in @@ -1,129 +1,129 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="wireguard" owner="${vyos_conf_scripts_dir}/interfaces_wireguard.py"> <properties> <help>WireGuard Interface</help> <priority>379</priority> <constraint> <regex>wg[0-9]+</regex> </constraint> <constraintErrorMessage>WireGuard interface must be named wgN</constraintErrorMessage> <valueHelp> <format>wgN</format> <description>WireGuard interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6.xml.i> #include <include/generic-description.xml.i> #include <include/interface/disable.xml.i> #include <include/port-number.xml.i> #include <include/interface/mtu-68-16000.xml.i> - #include <include/interface/mirror.xml.i> <leafNode name="mtu"> <defaultValue>1420</defaultValue> </leafNode> + #include <include/interface/mirror.xml.i> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> <leafNode name="fwmark"> <properties> <help>A 32-bit fwmark value set on all outgoing packets</help> <valueHelp> <format>number</format> <description>value which marks the packet for QoS/shaper</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-4294967295"/> </constraint> </properties> <defaultValue>0</defaultValue> </leafNode> <leafNode name="private-key"> <properties> <help>Base64 encoded private key</help> <constraint> <validator name="base64"/> </constraint> <constraintErrorMessage>Key is not base64-encoded</constraintErrorMessage> </properties> </leafNode> <tagNode name="peer"> <properties> <help>peer alias</help> <constraint> <regex>[^ ]{1,100}</regex> </constraint> <constraintErrorMessage>peer alias too long (limit 100 characters)</constraintErrorMessage> </properties> <children> #include <include/generic-disable-node.xml.i> #include <include/generic-description.xml.i> <leafNode name="public-key"> <properties> <help>base64 encoded public key</help> <constraint> <validator name="base64"/> </constraint> <constraintErrorMessage>Key is not base64-encoded</constraintErrorMessage> </properties> </leafNode> <leafNode name="preshared-key"> <properties> <help>base64 encoded preshared key</help> <constraint> <validator name="base64"/> </constraint> <constraintErrorMessage>Key is not base64-encoded</constraintErrorMessage> </properties> </leafNode> <leafNode name="allowed-ips"> <properties> <help>IP addresses allowed to traverse the peer</help> <constraint> <validator name="ip-prefix"/> </constraint> <multi/> </properties> </leafNode> <leafNode name="address"> <properties> <help>IP address of tunnel endpoint</help> <valueHelp> <format>ipv4</format> <description>IPv4 address of remote tunnel endpoint</description> </valueHelp> <valueHelp> <format>ipv6</format> <description>IPv6 address of remote tunnel endpoint</description> </valueHelp> <constraint> <validator name="ip-address"/> <validator name="ipv6-link-local"/> </constraint> </properties> </leafNode> #include <include/port-number.xml.i> <leafNode name="persistent-keepalive"> <properties> <help>Interval to send keepalive messages</help> <valueHelp> <format>u32:1-65535</format> <description>Interval in seconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> </leafNode> </children> </tagNode> #include <include/interface/redirect.xml.i> #include <include/interface/per-client-thread.xml.i> #include <include/interface/vrf.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition>