diff --git a/interface-definitions/include/generic-description.xml.i b/interface-definitions/include/generic-description.xml.i index b54897be4..b030c2495 100644 --- a/interface-definitions/include/generic-description.xml.i +++ b/interface-definitions/include/generic-description.xml.i @@ -1,14 +1,15 @@ <!-- include start from generic-description.xml.i --> <leafNode name="description"> <properties> <help>Description</help> <valueHelp> <format>txt</format> <description>Description</description> </valueHelp> <constraint> - <regex>[a-zA-Z0-9_\-\s]+</regex> + <regex>[[:ascii:]]{1,256}</regex> </constraint> + <constraintErrorMessage>Description too long (limit 256 characters)</constraintErrorMessage> </properties> </leafNode> <!-- include end --> diff --git a/interface-definitions/include/interface/description.xml.i b/interface-definitions/include/interface/description.xml.i deleted file mode 100644 index de01d22ca..000000000 --- a/interface-definitions/include/interface/description.xml.i +++ /dev/null @@ -1,11 +0,0 @@ -<!-- include start from interface/description.xml.i --> -<leafNode name="description"> - <properties> - <help>Interface specific description</help> - <constraint> - <regex>.{1,256}</regex> - </constraint> - <constraintErrorMessage>Description too long (limit 256 characters)</constraintErrorMessage> - </properties> -</leafNode> -<!-- include end --> diff --git a/interface-definitions/include/interface/vif-s.xml.i b/interface-definitions/include/interface/vif-s.xml.i index 6d50d7238..fdd62b63d 100644 --- a/interface-definitions/include/interface/vif-s.xml.i +++ b/interface-definitions/include/interface/vif-s.xml.i @@ -1,75 +1,75 @@ <!-- include start from interface/vif-s.xml.i --> <tagNode name="vif-s"> <properties> <help>QinQ TAG-S Virtual Local Area Network (VLAN) ID</help> <valueHelp> <format>u32:0-4094</format> <description>QinQ Virtual Local Area Network (VLAN) ID</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-4094"/> </constraint> <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> </properties> <children> + #include <include/generic-description.xml.i> #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface/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> <leafNode name="protocol"> <properties> <help>Protocol used for service VLAN (default: 802.1ad)</help> <completionHelp> <list>802.1ad 802.1q</list> </completionHelp> <valueHelp> <format>802.1ad</format> <description>Provider Bridging (IEEE 802.1ad, Q-inQ), ethertype 0x88a8</description> </valueHelp> <valueHelp> <format>802.1q</format> <description>VLAN-tagged frame (IEEE 802.1q), ethertype 0x8100</description> </valueHelp> <constraint> <regex>(802.1q|802.1ad)</regex> </constraint> <constraintErrorMessage>Ethertype must be 802.1ad or 802.1q</constraintErrorMessage> </properties> <defaultValue>802.1ad</defaultValue> </leafNode> #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> #include <include/interface/mtu-68-16000.xml.i> <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> + #include <include/generic-description.xml.i> #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface/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/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/interface/mac.xml.i> #include <include/interface/mirror.xml.i> #include <include/interface/mtu-68-16000.xml.i> #include <include/interface/redirect.xml.i> #include <include/interface/vrf.xml.i> </children> </tagNode> #include <include/interface/redirect.xml.i> #include <include/interface/vrf.xml.i> </children> </tagNode> <!-- include end --> diff --git a/interface-definitions/include/interface/vif.xml.i b/interface-definitions/include/interface/vif.xml.i index 3f8f113ea..ec3921bf6 100644 --- a/interface-definitions/include/interface/vif.xml.i +++ b/interface-definitions/include/interface/vif.xml.i @@ -1,56 +1,56 @@ <!-- include start from interface/vif.xml.i --> <tagNode name="vif"> <properties> <help>Virtual Local Area Network (VLAN) ID</help> <valueHelp> <format>u32:0-4094</format> <description>Virtual Local Area Network (VLAN) ID</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-4094"/> </constraint> <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage> </properties> <children> + #include <include/generic-description.xml.i> #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface/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> <leafNode name="egress-qos"> <properties> <help>VLAN egress QoS</help> <valueHelp> <format>txt</format> <description>Format for qos mapping, e.g.: '0:1 1:6 7:6'</description> </valueHelp> <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> <valueHelp> <format>txt</format> <description>Format for qos mapping, e.g.: '0:1 1:6 7:6'</description> </valueHelp> <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> #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> #include <include/interface/mtu-68-16000.xml.i> #include <include/interface/redirect.xml.i> #include <include/interface/vrf.xml.i> </children> </tagNode> <!-- include end --> diff --git a/interface-definitions/interfaces-bonding.xml.in b/interface-definitions/interfaces-bonding.xml.in index a8a558348..6e8c5283a 100644 --- a/interface-definitions/interfaces-bonding.xml.in +++ b/interface-definitions/interfaces-bonding.xml.in @@ -1,233 +1,233 @@ <?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/interface/description.xml.i> + #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> <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.py --bondable</script> </completionHelp> <valueHelp> <format>txt</format> <description>Interface name</description> </valueHelp> <constraint> #include <include/constraint/interface-name.xml.in> </constraint> <multi/> </properties> </leafNode> </children> </node> #include <include/interface/mtu-68-16000.xml.i> <leafNode name="primary"> <properties> <help>Primary device interface</help> <completionHelp> <script>${vyos_completion_dir}/list_interfaces.py --bondable</script> </completionHelp> <valueHelp> <format>txt</format> <description>Interface name</description> </valueHelp> <constraint> #include <include/constraint/interface-name.xml.in> </constraint> </properties> </leafNode> #include <include/interface/redirect.xml.i> #include <include/interface/vif-s.xml.i> #include <include/interface/vif.xml.i> #include <include/interface/xdp.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-bridge.xml.in b/interface-definitions/interfaces-bridge.xml.in index d52e213b6..1636411ec 100644 --- a/interface-definitions/interfaces-bridge.xml.in +++ b/interface-definitions/interfaces-bridge.xml.in @@ -1,223 +1,223 @@ <?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/interface/description.xml.i> + #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="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> <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.py --bridgeable</script> </completionHelp> </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 201e9b179..00784fcdf 100644 --- a/interface-definitions/interfaces-dummy.xml.in +++ b/interface-definitions/interfaces-dummy.xml.in @@ -1,57 +1,57 @@ <?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/interface/description.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> #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-ethernet.xml.in b/interface-definitions/interfaces-ethernet.xml.in index e9ae0acfe..e7c196c5c 100644 --- a/interface-definitions/interfaces-ethernet.xml.in +++ b/interface-definitions/interfaces-ethernet.xml.in @@ -1,212 +1,212 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <properties> <help>Network interfaces</help> </properties> <children> <tagNode name="ethernet" owner="${vyos_conf_scripts_dir}/interfaces-ethernet.py"> <properties> <help>Ethernet Interface</help> <priority>318</priority> <valueHelp> <format>ethN</format> <description>Ethernet interface name</description> </valueHelp> <constraint> <regex>((eth|lan)[0-9]+|(eno|ens|enp|enx).+)</regex> </constraint> <constraintErrorMessage>Invalid Ethernet interface name</constraintErrorMessage> </properties> <children> #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> #include <include/interface/dhcp-options.xml.i> #include <include/interface/dhcpv6-options.xml.i> <leafNode name="disable-flow-control"> <properties> <help>Disable Ethernet flow control (pause frames)</help> <valueless/> </properties> </leafNode> #include <include/interface/disable-link-detect.xml.i> #include <include/interface/disable.xml.i> <leafNode name="duplex"> <properties> <help>Duplex mode</help> <completionHelp> <list>auto half full</list> </completionHelp> <valueHelp> <format>auto</format> <description>Auto negotiation</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> <defaultValue>auto</defaultValue> </leafNode> #include <include/interface/eapol.xml.i> #include <include/interface/hw-id.xml.i> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/interface/mac.xml.i> #include <include/interface/mtu-68-16000.xml.i> #include <include/interface/mirror.xml.i> <node name="offload"> <properties> <help>Configurable offload options</help> </properties> <children> <leafNode name="gro"> <properties> <help>Enable Generic Receive Offload</help> <valueless/> </properties> </leafNode> <leafNode name="gso"> <properties> <help>Enable Generic Segmentation Offload</help> <valueless/> </properties> </leafNode> <leafNode name="lro"> <properties> <help>Enable Large Receive Offload</help> <valueless/> </properties> </leafNode> <leafNode name="rps"> <properties> <help>Enable Receive Packet Steering</help> <valueless/> </properties> </leafNode> <leafNode name="rfs"> <properties> <help>Enable Receive Flow Steering</help> <valueless/> </properties> </leafNode> <leafNode name="sg"> <properties> <help>Enable Scatter-Gather</help> <valueless/> </properties> </leafNode> <leafNode name="tso"> <properties> <help>Enable TCP Segmentation Offloading</help> <valueless/> </properties> </leafNode> </children> </node> <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</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> <defaultValue>auto</defaultValue> </leafNode> <node name="ring-buffer"> <properties> <help>Shared buffer between the device driver and NIC</help> </properties> <children> <leafNode name="rx"> <properties> <help>RX ring buffer</help> <valueHelp> <format>u32:80-16384</format> <description>ring buffer size</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 80-16384"/> </constraint> </properties> </leafNode> <leafNode name="tx"> <properties> <help>TX ring buffer</help> <valueHelp> <format>u32:80-16384</format> <description>ring buffer size</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 80-16384"/> </constraint> </properties> </leafNode> </children> </node> #include <include/interface/redirect.xml.i> #include <include/interface/vif-s.xml.i> #include <include/interface/vif.xml.i> #include <include/interface/vrf.xml.i> #include <include/interface/xdp.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-geneve.xml.in b/interface-definitions/interfaces-geneve.xml.in index f8e9909f8..ac9794870 100644 --- a/interface-definitions/interfaces-geneve.xml.in +++ b/interface-definitions/interfaces-geneve.xml.in @@ -1,59 +1,59 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="geneve" owner="${vyos_conf_scripts_dir}/interfaces-geneve.py"> <properties> <help>Generic Network Virtualization Encapsulation (GENEVE) Interface</help> <priority>460</priority> <constraint> <regex>gnv[0-9]+</regex> </constraint> <constraintErrorMessage>GENEVE interface must be named gnvN</constraintErrorMessage> <valueHelp> <format>gnvN</format> <description>GENEVE interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6.xml.i> - #include <include/interface/description.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/mac.xml.i> #include <include/interface/mtu-1450-16000.xml.i> <node name="parameters"> <properties> <help>GENEVE tunnel parameters</help> </properties> <children> <node name="ip"> <properties> <help>IPv4 specific tunnel parameters</help> </properties> <children> #include <include/interface/parameters-df.xml.i> #include <include/interface/parameters-tos.xml.i> #include <include/interface/parameters-ttl.xml.i> </children> </node> <node name="ipv6"> <properties> <help>IPv6 specific tunnel parameters</help> </properties> <children> #include <include/interface/parameters-flowlabel.xml.i> </children> </node> </children> </node> #include <include/interface/mirror.xml.i> #include <include/interface/redirect.xml.i> #include <include/interface/tunnel-remote.xml.i> #include <include/vni.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-input.xml.in b/interface-definitions/interfaces-input.xml.in index 97502d954..d90cf936f 100644 --- a/interface-definitions/interfaces-input.xml.in +++ b/interface-definitions/interfaces-input.xml.in @@ -1,27 +1,27 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="input" owner="${vyos_conf_scripts_dir}/interfaces-input.py"> <properties> <help>Input Functional Block (IFB) interface name</help> <!-- before real devices that redirect --> <priority>310</priority> <constraint> <regex>ifb[0-9]+</regex> </constraint> <constraintErrorMessage>Input interface must be named ifbN</constraintErrorMessage> <valueHelp> <format>ifbN</format> <description>Input interface name</description> </valueHelp> </properties> <children> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> #include <include/interface/disable.xml.i> #include <include/interface/redirect.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-l2tpv3.xml.in b/interface-definitions/interfaces-l2tpv3.xml.in index 0ebc3253d..1f0dd3d19 100644 --- a/interface-definitions/interfaces-l2tpv3.xml.in +++ b/interface-definitions/interfaces-l2tpv3.xml.in @@ -1,131 +1,131 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="l2tpv3" owner="${vyos_conf_scripts_dir}/interfaces-l2tpv3.py"> <properties> <help>Layer 2 Tunnel Protocol Version 3 (L2TPv3) Interface</help> <priority>485</priority> <constraint> <regex>l2tpeth[0-9]+</regex> </constraint> <constraintErrorMessage>L2TPv3 interface must be named l2tpethN</constraintErrorMessage> <valueHelp> <format>l2tpethN</format> <description>L2TPv3 interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6.xml.i> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> <leafNode name="destination-port"> <properties> <help>UDP destination port for L2TPv3 tunnel</help> <valueHelp> <format>u32:1-65535</format> <description>Numeric IP port</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> <defaultValue>5000</defaultValue> </leafNode> #include <include/interface/disable.xml.i> <leafNode name="encapsulation"> <properties> <help>Encapsulation type</help> <completionHelp> <list>udp ip</list> </completionHelp> <valueHelp> <format>udp</format> <description>UDP encapsulation</description> </valueHelp> <valueHelp> <format>ip</format> <description>IP encapsulation</description> </valueHelp> <constraint> <regex>(udp|ip)</regex> </constraint> <constraintErrorMessage>Encapsulation must be UDP or IP</constraintErrorMessage> </properties> <defaultValue>udp</defaultValue> </leafNode> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/source-address-ipv4-ipv6.xml.i> #include <include/interface/mirror.xml.i> #include <include/interface/mtu-68-16000.xml.i> <leafNode name="mtu"> <defaultValue>1488</defaultValue> </leafNode> <leafNode name="peer-session-id"> <properties> <help>Peer session identifier</help> <valueHelp> <format>u32:1-429496729</format> <description>L2TPv3 peer session identifier</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-429496729"/> </constraint> </properties> </leafNode> <leafNode name="peer-tunnel-id"> <properties> <help>Peer tunnel identifier</help> <valueHelp> <format>u32:1-429496729</format> <description>L2TPv3 peer tunnel identifier</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-429496729"/> </constraint> </properties> </leafNode> #include <include/interface/tunnel-remote.xml.i> <leafNode name="session-id"> <properties> <help>Session identifier</help> <valueHelp> <format>u32:1-429496729</format> <description>L2TPv3 session identifier</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-429496729"/> </constraint> </properties> </leafNode> <leafNode name="source-port"> <properties> <help>UDP source port for L2TPv3 tunnel</help> <valueHelp> <format>u32:1-65535</format> <description>Numeric IP port</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> <defaultValue>5000</defaultValue> </leafNode> <leafNode name="tunnel-id"> <properties> <help>Local tunnel identifier</help> <valueHelp> <format>u32:1-429496729</format> <description>L2TPv3 local tunnel identifier</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-429496729"/> </constraint> </properties> </leafNode> #include <include/interface/vrf.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-loopback.xml.in b/interface-definitions/interfaces-loopback.xml.in index 7f59db543..fe0944467 100644 --- a/interface-definitions/interfaces-loopback.xml.in +++ b/interface-definitions/interfaces-loopback.xml.in @@ -1,35 +1,35 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="loopback" owner="${vyos_conf_scripts_dir}/interfaces-loopback.py"> <properties> <help>Loopback Interface</help> <priority>300</priority> <constraint> <regex>lo</regex> </constraint> <constraintErrorMessage>Loopback interface must be named lo</constraintErrorMessage> <valueHelp> <format>lo</format> <description>Loopback interface</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6.xml.i> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> <node name="ip"> <properties> <help>IPv4 routing parameters</help> </properties> <children> #include <include/interface/source-validation.xml.i> </children> </node> #include <include/interface/mirror.xml.i> #include <include/interface/redirect.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-macsec.xml.in b/interface-definitions/interfaces-macsec.xml.in index 441236ec2..4b4f9149d 100644 --- a/interface-definitions/interfaces-macsec.xml.in +++ b/interface-definitions/interfaces-macsec.xml.in @@ -1,131 +1,131 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="macsec" owner="${vyos_conf_scripts_dir}/interfaces-macsec.py"> <properties> <help>MACsec Interface (802.1ae)</help> <priority>461</priority> <constraint> <regex>macsec[0-9]+</regex> </constraint> <constraintErrorMessage>MACsec interface must be named macsecN</constraintErrorMessage> <valueHelp> <format>macsecN</format> <description>MACsec interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> #include <include/interface/dhcp-options.xml.i> #include <include/interface/dhcpv6-options.xml.i> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/interface/mirror.xml.i> <node name="security"> <properties> <help>Security/Encryption Settings</help> </properties> <children> <leafNode name="cipher"> <properties> <help>Cipher suite used</help> <completionHelp> <list>gcm-aes-128 gcm-aes-256</list> </completionHelp> <valueHelp> <format>gcm-aes-128</format> <description>Galois/Counter Mode of AES cipher with 128-bit key</description> </valueHelp> <valueHelp> <format>gcm-aes-256</format> <description>Galois/Counter Mode of AES cipher with 256-bit key</description> </valueHelp> <constraint> <regex>(gcm-aes-128|gcm-aes-256)</regex> </constraint> </properties> </leafNode> <leafNode name="encrypt"> <properties> <help>Enable optional MACsec encryption</help> <valueless/> </properties> </leafNode> <node name="mka"> <properties> <help>MACsec Key Agreement protocol (MKA)</help> </properties> <children> <leafNode name="cak"> <properties> <help>Secure Connectivity Association Key</help> <valueHelp> <format>txt</format> <description>16-byte (128-bit) hex-string (32 hex-digits) for gcm-aes-128 or 32-byte (256-bit) hex-string (64 hex-digits) for gcm-aes-256</description> </valueHelp> <constraint> <regex>[A-Fa-f0-9]{32}</regex> <regex>[A-Fa-f0-9]{64}</regex> </constraint> </properties> </leafNode> <leafNode name="ckn"> <properties> <help>Secure Connectivity Association Key Name</help> <valueHelp> <format>txt</format> <description>32-byte (256-bit) hex-string (64 hex-digits)</description> </valueHelp> <constraint> <regex>[A-Fa-f0-9]{64}</regex> </constraint> </properties> </leafNode> <leafNode name="priority"> <properties> <help>Priority of MACsec Key Agreement protocol (MKA) actor</help> <valueHelp> <format>u32:0-255</format> <description>MACsec Key Agreement protocol (MKA) priority</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-255" /> </constraint> </properties> <defaultValue>255</defaultValue> </leafNode> </children> </node> <leafNode name="replay-window"> <properties> <help>IEEE 802.1X/MACsec replay protection window</help> <valueHelp> <format>u32:0</format> <description>No replay window, strict check</description> </valueHelp> <valueHelp> <format>u32:1-4294967295</format> <description>Number of packets that could be misordered</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-4294967295" /> </constraint> </properties> </leafNode> </children> </node> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> #include <include/interface/disable.xml.i> #include <include/interface/mtu-68-16000.xml.i> <leafNode name="mtu"> <defaultValue>1460</defaultValue> </leafNode> #include <include/source-interface-ethernet.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-openvpn.xml.in b/interface-definitions/interfaces-openvpn.xml.in index 7cfb9ee7a..63272a25f 100644 --- a/interface-definitions/interfaces-openvpn.xml.in +++ b/interface-definitions/interfaces-openvpn.xml.in @@ -1,819 +1,819 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="openvpn" owner="${vyos_conf_scripts_dir}/interfaces-openvpn.py"> <properties> <help>OpenVPN Tunnel Interface</help> <priority>460</priority> <constraint> <regex>vtun[0-9]+</regex> </constraint> <constraintErrorMessage>OpenVPN tunnel interface must be named vtunN</constraintErrorMessage> <valueHelp> <format>vtunN</format> <description>OpenVPN interface name</description> </valueHelp> </properties> <children> <node name="authentication"> <properties> <help>Authentication options</help> </properties> <children> <leafNode name="password"> <properties> <help>OpenVPN password used for authentication</help> </properties> </leafNode> <leafNode name="username"> <properties> <help>OpenVPN username used for authentication</help> </properties> </leafNode> </children> </node> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> <leafNode name="device-type"> <properties> <help>OpenVPN interface device-type</help> <completionHelp> <list>tun tap</list> </completionHelp> <valueHelp> <format>tun</format> <description>TUN device, required for OSI layer 3</description> </valueHelp> <valueHelp> <format>tap</format> <description>TAP device, required for OSI layer 2</description> </valueHelp> <constraint> <regex>(tun|tap)</regex> </constraint> </properties> <defaultValue>tun</defaultValue> </leafNode> #include <include/interface/disable.xml.i> <node name="encryption"> <properties> <help>Data Encryption settings</help> </properties> <children> <leafNode name="cipher"> <properties> <help>Standard Data Encryption Algorithm</help> <completionHelp> <list>none des 3des bf128 bf256 aes128 aes128gcm aes192 aes192gcm aes256 aes256gcm</list> </completionHelp> <valueHelp> <format>none</format> <description>Disable encryption</description> </valueHelp> <valueHelp> <format>des</format> <description>DES algorithm</description> </valueHelp> <valueHelp> <format>3des</format> <description>DES algorithm with triple encryption</description> </valueHelp> <valueHelp> <format>bf128</format> <description>Blowfish algorithm with 128-bit key</description> </valueHelp> <valueHelp> <format>bf256</format> <description>Blowfish algorithm with 256-bit key</description> </valueHelp> <valueHelp> <format>aes128</format> <description>AES algorithm with 128-bit key CBC</description> </valueHelp> <valueHelp> <format>aes128gcm</format> <description>AES algorithm with 128-bit key GCM</description> </valueHelp> <valueHelp> <format>aes192</format> <description>AES algorithm with 192-bit key CBC</description> </valueHelp> <valueHelp> <format>aes192gcm</format> <description>AES algorithm with 192-bit key GCM</description> </valueHelp> <valueHelp> <format>aes256</format> <description>AES algorithm with 256-bit key CBC</description> </valueHelp> <valueHelp> <format>aes256gcm</format> <description>AES algorithm with 256-bit key GCM</description> </valueHelp> <constraint> <regex>(none|des|3des|bf128|bf256|aes128|aes128gcm|aes192|aes192gcm|aes256|aes256gcm)</regex> </constraint> </properties> </leafNode> <leafNode name="ncp-ciphers"> <properties> <help>Cipher negotiation list for use in server or client mode</help> <completionHelp> <list>none des 3des aes128 aes128gcm aes192 aes192gcm aes256 aes256gcm</list> </completionHelp> <valueHelp> <format>none</format> <description>Disable encryption</description> </valueHelp> <valueHelp> <format>des</format> <description>DES algorithm</description> </valueHelp> <valueHelp> <format>3des</format> <description>DES algorithm with triple encryption</description> </valueHelp> <valueHelp> <format>aes128</format> <description>AES algorithm with 128-bit key CBC</description> </valueHelp> <valueHelp> <format>aes128gcm</format> <description>AES algorithm with 128-bit key GCM</description> </valueHelp> <valueHelp> <format>aes192</format> <description>AES algorithm with 192-bit key CBC</description> </valueHelp> <valueHelp> <format>aes192gcm</format> <description>AES algorithm with 192-bit key GCM</description> </valueHelp> <valueHelp> <format>aes256</format> <description>AES algorithm with 256-bit key CBC</description> </valueHelp> <valueHelp> <format>aes256gcm</format> <description>AES algorithm with 256-bit key GCM</description> </valueHelp> <constraint> <regex>(none|des|3des|aes128|aes128gcm|aes192|aes192gcm|aes256|aes256gcm)</regex> </constraint> <multi/> </properties> </leafNode> </children> </node> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/interface/mirror.xml.i> <leafNode name="hash"> <properties> <help>Hashing Algorithm</help> <completionHelp> <list>md5 sha1 sha256 sha384 sha512</list> </completionHelp> <valueHelp> <format>md5</format> <description>MD5 algorithm</description> </valueHelp> <valueHelp> <format>sha1</format> <description>SHA-1 algorithm</description> </valueHelp> <valueHelp> <format>sha256</format> <description>SHA-256 algorithm</description> </valueHelp> <valueHelp> <format>sha384</format> <description>SHA-384 algorithm</description> </valueHelp> <valueHelp> <format>sha512</format> <description>SHA-512 algorithm</description> </valueHelp> <constraint> <regex>(md5|sha1|sha256|sha384|sha512)</regex> </constraint> </properties> </leafNode> <node name="keep-alive"> <properties> <help>Keepalive helper options</help> </properties> <children> <leafNode name="failure-count"> <properties> <help>Maximum number of keepalive packet failures</help> <valueHelp> <format>u32:0-1000</format> <description>Maximum number of keepalive packet failures</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-1000"/> </constraint> </properties> <defaultValue>60</defaultValue> </leafNode> <leafNode name="interval"> <properties> <help>Keepalive packet interval in seconds</help> <valueHelp> <format>u32:0-600</format> <description>Keepalive packet interval (seconds)</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-600"/> </constraint> </properties> <defaultValue>10</defaultValue> </leafNode> </children> </node> <tagNode name="local-address"> <properties> <help>Local IP address of tunnel (IPv4 or IPv6)</help> <constraint> <validator name="ip-address"/> </constraint> </properties> <children> <leafNode name="subnet-mask"> <properties> <help>Subnet-mask for local IP address of tunnel (IPv4 only)</help> <constraint> <validator name="ipv4-address"/> </constraint> </properties> </leafNode> </children> </tagNode> <leafNode name="local-host"> <properties> <help>Local IP address to accept connections (all if not set)</help> <valueHelp> <format>ipv4</format> <description>Local IPv4 address</description> </valueHelp> <valueHelp> <format>ipv6</format> <description>Local IPv6 address</description> </valueHelp> <constraint> <validator name="ip-address"/> </constraint> </properties> </leafNode> <leafNode name="local-port"> <properties> <help>Local port number to accept connections</help> <valueHelp> <format>u32:1-65535</format> <description>Numeric IP port</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> </leafNode> <leafNode name="mode"> <properties> <help>OpenVPN mode of operation</help> <completionHelp> <list>site-to-site client server</list> </completionHelp> <valueHelp> <format>site-to-site</format> <description>Site-to-site mode</description> </valueHelp> <valueHelp> <format>client</format> <description>Client in client-server mode</description> </valueHelp> <valueHelp> <format>server</format> <description>Server in client-server mode</description> </valueHelp> <constraint> <regex>(site-to-site|client|server)</regex> </constraint> </properties> </leafNode> <leafNode name="openvpn-option"> <properties> <help>Additional OpenVPN options. You must use the syntax of openvpn.conf in this text-field. Using this without proper knowledge may result in a crashed OpenVPN server. Check system log to look for errors.</help> <multi/> </properties> </leafNode> <leafNode name="persistent-tunnel"> <properties> <help>Do not close and reopen interface (TUN/TAP device) on client restarts</help> <valueless/> </properties> </leafNode> <leafNode name="protocol"> <properties> <help>OpenVPN communication protocol</help> <completionHelp> <list>udp tcp-passive tcp-active</list> </completionHelp> <valueHelp> <format>udp</format> <description>UDP</description> </valueHelp> <valueHelp> <format>tcp-passive</format> <description>TCP and accepts connections passively</description> </valueHelp> <valueHelp> <format>tcp-active</format> <description>TCP and initiates connections actively</description> </valueHelp> <constraint> <regex>(udp|tcp-passive|tcp-active)</regex> </constraint> </properties> <defaultValue>udp</defaultValue> </leafNode> <leafNode name="remote-address"> <properties> <help>IP address of remote end of tunnel</help> <valueHelp> <format>ipv4</format> <description>Remote end IPv4 address</description> </valueHelp> <valueHelp> <format>ipv6</format> <description>Remote end IPv6 address</description> </valueHelp> <constraint> <validator name="ipv4-address"/> <validator name="ipv6-address"/> </constraint> <multi/> </properties> </leafNode> <leafNode name="remote-host"> <properties> <help>Remote host to connect to (dynamic if not set)</help> <valueHelp> <format>ipv4</format> <description>IPv4 address of remote host</description> </valueHelp> <valueHelp> <format>ipv6</format> <description>IPv6 address of remote host</description> </valueHelp> <valueHelp> <format>txt</format> <description>Hostname of remote host</description> </valueHelp> <multi/> </properties> </leafNode> <leafNode name="remote-port"> <properties> <help>Remote port number to connect to</help> <valueHelp> <format>u32:1-65535</format> <description>Numeric IP port</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> </leafNode> <node name="replace-default-route"> <properties> <help>OpenVPN tunnel to be used as the default route</help> </properties> <children> <leafNode name="local"> <properties> <help>Tunnel endpoints are on the same subnet</help> </properties> </leafNode> </children> </node> <node name="server"> <properties> <help>Server-mode options</help> </properties> <children> <tagNode name="client"> <properties> <help>Client-specific settings</help> <valueHelp> <format>name</format> <description>Client common-name in the certificate</description> </valueHelp> </properties> <children> #include <include/generic-disable-node.xml.i> <leafNode name="ip"> <properties> <help>IP address of the client</help> <valueHelp> <format>ipv4</format> <description>Client IPv4 address</description> </valueHelp> <valueHelp> <format>ipv6</format> <description>Client IPv6 address</description> </valueHelp> <constraint> <validator name="ip-address"/> </constraint> <multi/> </properties> </leafNode> <leafNode name="push-route"> <properties> <help>Route to be pushed to the client</help> <valueHelp> <format>ipv4net</format> <description>IPv4 network and prefix length</description> </valueHelp> <valueHelp> <format>ipv6net</format> <description>IPv6 network and prefix length</description> </valueHelp> <constraint> <validator name="ip-prefix"/> </constraint> <multi/> </properties> </leafNode> <leafNode name="subnet"> <properties> <help>Subnet belonging to the client (iroute)</help> <valueHelp> <format>ipv4net</format> <description>IPv4 network and prefix length belonging to the client</description> </valueHelp> <valueHelp> <format>ipv6net</format> <description>IPv6 network and prefix length belonging to the client</description> </valueHelp> <constraint> <validator name="ip-prefix"/> </constraint> <multi/> </properties> </leafNode> </children> </tagNode> <node name="client-ip-pool"> <properties> <help>Pool of client IPv4 addresses</help> </properties> <children> #include <include/generic-disable-node.xml.i> <leafNode name="start"> <properties> <help>First IP address in the pool</help> <constraint> <validator name="ipv4-address"/> </constraint> <valueHelp> <format>ipv4</format> <description>IPv4 address</description> </valueHelp> </properties> </leafNode> <leafNode name="stop"> <properties> <help>Last IP address in the pool</help> <constraint> <validator name="ipv4-address"/> </constraint> <valueHelp> <format>ipv4</format> <description>IPv4 address</description> </valueHelp> </properties> </leafNode> <leafNode name="subnet-mask"> <properties> <help>Subnet mask pushed to dynamic clients. If not set the server subnet mask will be used. Only used with topology subnet or device type tap. Not used with bridged interfaces.</help> <constraint> <validator name="ipv4-address"/> </constraint> <valueHelp> <format>ipv4</format> <description>IPv4 subnet mask</description> </valueHelp> </properties> </leafNode> </children> </node> <node name="client-ipv6-pool"> <properties> <help>Pool of client IPv6 addresses</help> </properties> <children> <leafNode name="base"> <properties> <help>Client IPv6 pool base address with optional prefix length</help> <valueHelp> <format>ipv6net</format> <description>Client IPv6 pool base address with optional prefix length (defaults: base = server subnet + 0x1000, prefix length = server prefix length)</description> </valueHelp> <constraint> <validator name="ipv6"/> </constraint> </properties> </leafNode> #include <include/generic-disable-node.xml.i> </children> </node> <leafNode name="domain-name"> <properties> <help>DNS suffix to be pushed to all clients</help> <valueHelp> <format>txt</format> <description>Domain Name Server suffix</description> </valueHelp> </properties> </leafNode> <leafNode name="max-connections"> <properties> <help>Number of maximum client connections</help> <valueHelp> <format>u32:1-4096</format> <description>Number of concurrent clients</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-4096"/> </constraint> </properties> </leafNode> #include <include/name-server-ipv4-ipv6.xml.i> <tagNode name="push-route"> <properties> <help>Route to be pushed to all clients</help> <valueHelp> <format>ipv4net</format> <description>IPv4 network and prefix length</description> </valueHelp> <valueHelp> <format>ipv6net</format> <description>IPv6 network and prefix length</description> </valueHelp> <constraint> <validator name="ip-prefix"/> </constraint> </properties> <children> <leafNode name="metric"> <properties> <help>Set metric for this route</help> <valueHelp> <format>u32:0-4294967295</format> <description>Metric for this route</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-4294967295"/> </constraint> </properties> <defaultValue>0</defaultValue> </leafNode> </children> </tagNode> <leafNode name="reject-unconfigured-clients"> <properties> <help>Reject connections from clients that are not explicitly configured</help> <valueless/> </properties> </leafNode> <leafNode name="subnet"> <properties> <help>Server-mode subnet (from which client IPs are allocated)</help> <valueHelp> <format>ipv4net</format> <description>IPv4 network and prefix length</description> </valueHelp> <valueHelp> <format>ipv6net</format> <description>IPv6 network and prefix length</description> </valueHelp> <constraint> <validator name="ip-prefix"/> </constraint> <multi/> </properties> </leafNode> <leafNode name="topology"> <properties> <help>Topology for clients</help> <completionHelp> <list>net30 point-to-point subnet</list> </completionHelp> <valueHelp> <format>net30</format> <description>net30 topology</description> </valueHelp> <valueHelp> <format>point-to-point</format> <description>Point-to-point topology</description> </valueHelp> <valueHelp> <format>subnet</format> <description>Subnet topology</description> </valueHelp> <constraint> <regex>(subnet|point-to-point|net30)</regex> </constraint> </properties> <defaultValue>net30</defaultValue> </leafNode> <node name="mfa"> <properties> <help>multi-factor authentication</help> </properties> <children> <node name="totp"> <properties> <help>Time-based one-time passwords</help> </properties> <children> <leafNode name="slop"> <properties> <help>Maximum allowed clock slop in seconds</help> <valueHelp> <format>1-65535</format> <description>Seconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> <defaultValue>180</defaultValue> </leafNode> <leafNode name="drift"> <properties> <help>Time drift in seconds</help> <valueHelp> <format>1-65535</format> <description>Seconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> <defaultValue>0</defaultValue> </leafNode> <leafNode name="step"> <properties> <help>Step value for totp in seconds</help> <valueHelp> <format>1-65535</format> <description>Seconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> <defaultValue>30</defaultValue> </leafNode> <leafNode name="digits"> <properties> <help>Number of digits to use for totp hash</help> <valueHelp> <format>1-65535</format> <description>Seconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> <defaultValue>6</defaultValue> </leafNode> <leafNode name="challenge"> <properties> <help>Expect password as result of a challenge response protocol</help> <completionHelp> <list>disable enable</list> </completionHelp> <valueHelp> <format>disable</format> <description>Disable challenge-response</description> </valueHelp> <valueHelp> <format>enable</format> <description>Enable chalenge-response</description> </valueHelp> <constraint> <regex>(disable|enable)</regex> </constraint> </properties> <defaultValue>enable</defaultValue> </leafNode> </children> </node> </children> </node> </children> </node> <leafNode name="shared-secret-key"> <properties> <help>Secret key shared with remote end of tunnel</help> <completionHelp> <path>pki openvpn shared-secret</path> </completionHelp> </properties> </leafNode> <node name="tls"> <properties> <help>Transport Layer Security (TLS) options</help> </properties> <children> <leafNode name="auth-key"> <properties> <help>TLS shared secret key for tls-auth</help> <completionHelp> <path>pki openvpn shared-secret</path> </completionHelp> </properties> </leafNode> #include <include/pki/certificate.xml.i> #include <include/pki/ca-certificate-multi.xml.i> <leafNode name="dh-params"> <properties> <help>Diffie Hellman parameters (server only)</help> <completionHelp> <path>pki dh</path> </completionHelp> </properties> </leafNode> <leafNode name="crypt-key"> <properties> <help>Static key to use to authenticate control channel</help> <completionHelp> <path>pki openvpn shared-secret</path> </completionHelp> </properties> </leafNode> <leafNode name="tls-version-min"> <properties> <help>Specify the minimum required TLS version</help> <completionHelp> <list>1.0 1.1 1.2 1.3</list> </completionHelp> <valueHelp> <format>1.0</format> <description>TLS v1.0</description> </valueHelp> <valueHelp> <format>1.1</format> <description>TLS v1.1</description> </valueHelp> <valueHelp> <format>1.2</format> <description>TLS v1.2</description> </valueHelp> <valueHelp> <format>1.3</format> <description>TLS v1.3</description> </valueHelp> <constraint> <regex>(1.0|1.1|1.2|1.3)</regex> </constraint> </properties> </leafNode> <leafNode name="role"> <properties> <help>TLS negotiation role</help> <completionHelp> <list>active passive</list> </completionHelp> <valueHelp> <format>active</format> <description>Initiate TLS negotiation actively</description> </valueHelp> <valueHelp> <format>passive</format> <description>Wait for incoming TLS connection</description> </valueHelp> <constraint> <regex>(active|passive)</regex> </constraint> </properties> </leafNode> </children> </node> <leafNode name="use-lzo-compression"> <properties> <help>Use fast LZO compression on this TUN/TAP interface</help> <valueless/> </properties> </leafNode> #include <include/interface/redirect.xml.i> #include <include/interface/vrf.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-pppoe.xml.in b/interface-definitions/interfaces-pppoe.xml.in index 35c4889ea..490f41471 100644 --- a/interface-definitions/interfaces-pppoe.xml.in +++ b/interface-definitions/interfaces-pppoe.xml.in @@ -1,113 +1,113 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="pppoe" owner="${vyos_conf_scripts_dir}/interfaces-pppoe.py"> <properties> <help>Point-to-Point Protocol over Ethernet (PPPoE) Interface</help> <priority>322</priority> <constraint> <regex>pppoe[0-9]+</regex> </constraint> <constraintErrorMessage>PPPoE interface must be named pppoeN</constraintErrorMessage> <valueHelp> <format>pppoeN</format> <description>PPPoE dialer interface name</description> </valueHelp> </properties> <children> #include <include/pppoe-access-concentrator.xml.i> #include <include/interface/authentication.xml.i> #include <include/interface/dial-on-demand.xml.i> #include <include/interface/no-default-route.xml.i> #include <include/interface/default-route-distance.xml.i> #include <include/interface/dhcpv6-options.xml.i> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> #include <include/interface/disable.xml.i> <leafNode name="idle-timeout"> <properties> <help>Delay before disconnecting idle session (in seconds)</help> <valueHelp> <format>u32:0-86400</format> <description>Idle timeout in seconds</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-86400"/> </constraint> <constraintErrorMessage>Timeout must be in range 0 to 86400</constraintErrorMessage> </properties> </leafNode> <node name="ip"> <properties> <help>IPv4 routing parameters</help> </properties> <children> #include <include/interface/adjust-mss.xml.i> #include <include/interface/disable-forwarding.xml.i> #include <include/interface/source-validation.xml.i> </children> </node> <node name="ipv6"> <properties> <help>IPv6 routing parameters</help> </properties> <children> <node name="address"> <properties> <help>IPv6 address configuration modes</help> </properties> <children> #include <include/interface/ipv6-address-autoconf.xml.i> </children> </node> #include <include/interface/adjust-mss.xml.i> #include <include/interface/disable-forwarding.xml.i> </children> </node> #include <include/source-interface.xml.i> <leafNode name="local-address"> <properties> <help>IPv4 address of local end of the PPPoE link</help> <valueHelp> <format>ipv4</format> <description>Address of local end of the PPPoE link</description> </valueHelp> <constraint> <validator name="ipv4-address"/> </constraint> </properties> </leafNode> #include <include/interface/mirror.xml.i> #include <include/interface/mtu-68-1500.xml.i> <leafNode name="mtu"> <defaultValue>1492</defaultValue> </leafNode> #include <include/interface/no-peer-dns.xml.i> <leafNode name="remote-address"> <properties> <help>IPv4 address of remote end of the PPPoE link</help> <valueHelp> <format>ipv4</format> <description>Address of remote end of the PPPoE link</description> </valueHelp> <constraint> <validator name="ipv4-address"/> </constraint> </properties> </leafNode> <leafNode name="service-name"> <properties> <help>Service name, only connect to access concentrators advertising this</help> <constraint> <regex>[a-zA-Z0-9]+</regex> </constraint> <constraintErrorMessage>Service name must be alphanumeric only</constraintErrorMessage> </properties> </leafNode> #include <include/interface/redirect.xml.i> #include <include/interface/vrf.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-pseudo-ethernet.xml.in b/interface-definitions/interfaces-pseudo-ethernet.xml.in index 2fe07ffd5..5c73825c3 100644 --- a/interface-definitions/interfaces-pseudo-ethernet.xml.in +++ b/interface-definitions/interfaces-pseudo-ethernet.xml.in @@ -1,68 +1,68 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="pseudo-ethernet" owner="${vyos_conf_scripts_dir}/interfaces-pseudo-ethernet.py"> <properties> <help>Pseudo Ethernet Interface (Macvlan)</help> <priority>321</priority> <constraint> <regex>peth[0-9]+</regex> </constraint> <constraintErrorMessage>Pseudo Ethernet interface must be named pethN</constraintErrorMessage> <valueHelp> <format>pethN</format> <description>Pseudo Ethernet interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface/description.xml.i> + #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/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/source-interface-ethernet.xml.i> #include <include/interface/mac.xml.i> #include <include/interface/mirror.xml.i> <leafNode name="mode"> <properties> <help>Receive mode (default: private)</help> <completionHelp> <list>private vepa bridge passthru</list> </completionHelp> <valueHelp> <format>private</format> <description>No communication with other pseudo-devices</description> </valueHelp> <valueHelp> <format>vepa</format> <description>Virtual Ethernet Port Aggregator reflective relay</description> </valueHelp> <valueHelp> <format>bridge</format> <description>Simple bridge between pseudo-devices</description> </valueHelp> <valueHelp> <format>passthru</format> <description>Promicious mode passthrough of underlying device</description> </valueHelp> <constraint> <regex>(private|vepa|bridge|passthru)</regex> </constraint> <constraintErrorMessage>mode must be private, vepa, bridge or passthru</constraintErrorMessage> </properties> <defaultValue>private</defaultValue> </leafNode> #include <include/interface/mtu-68-16000.xml.i> #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-sstpc.xml.in b/interface-definitions/interfaces-sstpc.xml.in index 30b55a9fa..b569e9bde 100644 --- a/interface-definitions/interfaces-sstpc.xml.in +++ b/interface-definitions/interfaces-sstpc.xml.in @@ -1,47 +1,47 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="sstpc" owner="${vyos_conf_scripts_dir}/interfaces-sstpc.py"> <properties> <help>Secure Socket Tunneling Protocol (SSTP) client Interface</help> <priority>460</priority> <constraint> <regex>sstpc[0-9]+</regex> </constraint> <constraintErrorMessage>Secure Socket Tunneling Protocol interface must be named sstpcN</constraintErrorMessage> <valueHelp> <format>sstpcN</format> <description>Secure Socket Tunneling Protocol interface name</description> </valueHelp> </properties> <children> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> #include <include/interface/disable.xml.i> #include <include/interface/authentication.xml.i> #include <include/interface/no-default-route.xml.i> #include <include/interface/default-route-distance.xml.i> #include <include/interface/no-peer-dns.xml.i> #include <include/interface/mtu-68-1500.xml.i> <leafNode name="mtu"> <defaultValue>1452</defaultValue> </leafNode> #include <include/server-ipv4-fqdn.xml.i> #include <include/port-number.xml.i> <leafNode name="port"> <defaultValue>443</defaultValue> </leafNode> <node name="ssl"> <properties> <help>Secure Sockets Layer (SSL) configuration</help> </properties> <children> #include <include/pki/ca-certificate.xml.i> </children> </node> #include <include/interface/vrf.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-tunnel.xml.in b/interface-definitions/interfaces-tunnel.xml.in index 333a5b178..17fe1e285 100644 --- a/interface-definitions/interfaces-tunnel.xml.in +++ b/interface-definitions/interfaces-tunnel.xml.in @@ -1,295 +1,295 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="tunnel" owner="${vyos_conf_scripts_dir}/interfaces-tunnel.py"> <properties> <help>Tunnel interface</help> <priority>380</priority> <constraint> <regex>tun[0-9]+</regex> </constraint> <constraintErrorMessage>tunnel interface must be named tunN</constraintErrorMessage> <valueHelp> <format>tunN</format> <description>Tunnel interface name</description> </valueHelp> </properties> <children> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> #include <include/interface/address-ipv4-ipv6.xml.i> #include <include/interface/disable.xml.i> #include <include/interface/disable-link-detect.xml.i> #include <include/interface/mtu-64-8024.xml.i> <leafNode name="mtu"> <defaultValue>1476</defaultValue> </leafNode> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/source-address-ipv4-ipv6.xml.i> #include <include/interface/tunnel-remote.xml.i> #include <include/source-interface.xml.i> <leafNode name="6rd-prefix"> <properties> <help>6rd network prefix</help> <valueHelp> <format>ipv6</format> <description>IPv6 address and prefix length</description> </valueHelp> <constraint> <validator name="ipv6-prefix"/> </constraint> </properties> </leafNode> <leafNode name="6rd-relay-prefix"> <properties> <help>6rd relay prefix</help> <valueHelp> <format>ipv4net</format> <description>IPv4 prefix of interface for 6rd</description> </valueHelp> <constraint> <validator name="ipv4-prefix"/> </constraint> </properties> </leafNode> <leafNode name="encapsulation"> <properties> <help>Encapsulation of this tunnel interface</help> <completionHelp> <list>erspan gre gretap ip6erspan ip6gre ip6gretap ip6ip6 ipip ipip6 sit</list> </completionHelp> <valueHelp> <format>erspan</format> <description>Encapsulated Remote Switched Port Analyzer</description> </valueHelp> <valueHelp> <format>gre</format> <description>Generic Routing Encapsulation (network layer)</description> </valueHelp> <valueHelp> <format>gretap</format> <description>Generic Routing Encapsulation (datalink layer)</description> </valueHelp> <valueHelp> <format>ip6erspan</format> <description>Encapsulated Remote Switched Port Analyzer over IPv6</description> </valueHelp> <valueHelp> <format>ip6gre</format> <description>GRE over IPv6 (network layer)</description> </valueHelp> <valueHelp> <format>ip6gretap</format> <description>GRE over IPv6 (datalink layer)</description> </valueHelp> <valueHelp> <format>ip6ip6</format> <description>IPv6 in IPv6 encapsulation</description> </valueHelp> <valueHelp> <format>ipip</format> <description>IPv4 in IPv4 encapsulation</description> </valueHelp> <valueHelp> <format>ipip6</format> <description>IPv4 in IP6 encapsulation</description> </valueHelp> <valueHelp> <format>sit</format> <description>Simple Internet Transition (IPv6 in IPv4)</description> </valueHelp> <constraint> <regex>(erspan|gre|gretap|ip6erspan|ip6gre|ip6gretap|ip6ip6|ipip|ipip6|sit)</regex> </constraint> <constraintErrorMessage>Invalid encapsulation, must be one of: erspan, gre, gretap, ip6erspan, ip6gre, ip6gretap, ipip, sit, ipip6 or ip6ip6</constraintErrorMessage> </properties> </leafNode> #include <include/interface/mirror.xml.i> <leafNode name="multicast"> <properties> <help>Multicast operation over tunnel</help> <completionHelp> <list>enable disable</list> </completionHelp> <valueHelp> <format>enable</format> <description>Enable multicast</description> </valueHelp> <valueHelp> <format>disable</format> <description>Disable multicast (default)</description> </valueHelp> <constraint> <regex>(enable|disable)</regex> </constraint> <constraintErrorMessage>Must be 'disable' or 'enable'</constraintErrorMessage> </properties> </leafNode> <node name="parameters"> <properties> <help>Tunnel parameters</help> </properties> <children> <node name="erspan"> <properties> <help>ERSPAN tunnel parameters</help> </properties> <children> <leafNode name="direction"> <properties> <help>Mirrored traffic direction</help> <completionHelp> <list>ingress egress</list> </completionHelp> <valueHelp> <format>ingress</format> <description>Mirror ingress traffic</description> </valueHelp> <valueHelp> <format>egress</format> <description>Mirror egress traffic</description> </valueHelp> <constraint> <regex>(ingress|egress)</regex> </constraint> </properties> </leafNode> <leafNode name="hw-id"> <properties> <help>Unique identifier of an ERSPAN engine within a system</help> <valueHelp> <format>u32:0-1048575</format> <description>Unique identifier of an ERSPAN engine</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-1048575"/> </constraint> </properties> </leafNode> <leafNode name="index"> <properties> <help>ERSPAN version 1 index field</help> <valueHelp> <format>u32:0-63</format> <description>Platform-depedent field for specifying port number and direction</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-63"/> </constraint> </properties> </leafNode> <leafNode name="version"> <properties> <help>Protocol version</help> <completionHelp> <list>1 2</list> </completionHelp> <valueHelp> <format>1</format> <description>ERSPAN Type II</description> </valueHelp> <valueHelp> <format>2</format> <description>ERSPAN Type III</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-2"/> </constraint> </properties> <defaultValue>1</defaultValue> </leafNode> </children> </node> <node name="ip"> <properties> <help>IPv4-specific tunnel parameters</help> </properties> <children> <leafNode name="no-pmtu-discovery"> <properties> <help>Disable path MTU discovery</help> <valueless/> </properties> </leafNode> <leafNode name="ignore-df"> <properties> <help>Ignore the DF (don't fragment) bit</help> <valueless/> </properties> </leafNode> #include <include/interface/parameters-key.xml.i> #include <include/interface/parameters-tos.xml.i> #include <include/interface/parameters-ttl.xml.i> <leafNode name="ttl"> <defaultValue>64</defaultValue> </leafNode> </children> </node> <node name="ipv6"> <properties> <help>IPv6-specific tunnel parameters</help> </properties> <children> <leafNode name="encaplimit"> <properties> <help>Set fixed encapsulation limit</help> <completionHelp> <list>none</list> </completionHelp> <valueHelp> <format>u32:0-255</format> <description>Encapsulation limit</description> </valueHelp> <valueHelp> <format>none</format> <description>Disable encapsulation limit</description> </valueHelp> <constraint> <regex>(none)</regex> <validator name="numeric" argument="--range 0-255"/> </constraint> <constraintErrorMessage>Tunnel encaplimit must be 0-255 or none</constraintErrorMessage> </properties> <defaultValue>4</defaultValue> </leafNode> #include <include/interface/parameters-flowlabel.xml.i> <leafNode name="hoplimit"> <properties> <help>Hoplimit</help> <valueHelp> <format>u32:0-255</format> <description>Hop limit</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-255"/> </constraint> <constraintErrorMessage>hop limit must be between 0-255</constraintErrorMessage> </properties> <defaultValue>64</defaultValue> </leafNode> <leafNode name="tclass"> <properties> <help>Traffic class (Tclass)</help> <valueHelp> <format>0x0-0x0fffff</format> <description>Traffic class, 'inherit' or hex value</description> </valueHelp> <constraint> <regex>(0x){0,1}(0?[0-9A-Fa-f]{1,2})</regex> </constraint> <constraintErrorMessage>Must be 'inherit' or a number</constraintErrorMessage> </properties> <defaultValue>inherit</defaultValue> </leafNode> </children> </node> </children> </node> #include <include/interface/vrf.xml.i> #include <include/interface/redirect.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-virtual-ethernet.xml.in b/interface-definitions/interfaces-virtual-ethernet.xml.in index 8059ec33b..864f658da 100644 --- a/interface-definitions/interfaces-virtual-ethernet.xml.in +++ b/interface-definitions/interfaces-virtual-ethernet.xml.in @@ -1,45 +1,45 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="virtual-ethernet" owner="${vyos_conf_scripts_dir}/interfaces-virtual-ethernet.py"> <properties> <help>Virtual Ethernet (veth) Interface</help> <priority>300</priority> <constraint> <regex>veth[0-9]+</regex> </constraint> <constraintErrorMessage>Virutal Ethernet interface must be named vethN</constraintErrorMessage> <valueHelp> <format>vethN</format> <description>Virtual Ethernet interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> #include <include/interface/dhcp-options.xml.i> #include <include/interface/dhcpv6-options.xml.i> #include <include/interface/disable.xml.i> #include <include/interface/vrf.xml.i> <leafNode name="peer-name"> <properties> <help>Virtual ethernet peer interface name</help> <completionHelp> <path>interfaces virtual-ethernet</path> </completionHelp> <valueHelp> <format>txt</format> <description>Name of peer interface</description> </valueHelp> <constraint> <regex>veth[0-9]+</regex> </constraint> <constraintErrorMessage>Virutal Ethernet interface must be named vethN</constraintErrorMessage> </properties> </leafNode> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-vti.xml.in b/interface-definitions/interfaces-vti.xml.in index 11f001dc0..b116f7386 100644 --- a/interface-definitions/interfaces-vti.xml.in +++ b/interface-definitions/interfaces-vti.xml.in @@ -1,32 +1,32 @@ <?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/interface/description.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> #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-vxlan.xml.in b/interface-definitions/interfaces-vxlan.xml.in index 331f930d3..fb60c93d0 100644 --- a/interface-definitions/interfaces-vxlan.xml.in +++ b/interface-definitions/interfaces-vxlan.xml.in @@ -1,108 +1,108 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="vxlan" owner="${vyos_conf_scripts_dir}/interfaces-vxlan.py"> <properties> <help>Virtual Extensible LAN (VXLAN) Interface</help> <priority>460</priority> <constraint> <regex>vxlan[0-9]+</regex> </constraint> <constraintErrorMessage>VXLAN interface must be named vxlanN</constraintErrorMessage> <valueHelp> <format>vxlanN</format> <description>VXLAN interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6.xml.i> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> #include <include/interface/disable.xml.i> <leafNode name="external"> <properties> <help>Use external control plane</help> <valueless/> </properties> </leafNode> <leafNode name="gpe"> <properties> <help>Enable Generic Protocol extension (VXLAN-GPE)</help> <valueless/> </properties> </leafNode> <leafNode name="group"> <properties> <help>Multicast group address for VXLAN interface</help> <valueHelp> <format>ipv4</format> <description>Multicast IPv4 group address</description> </valueHelp> <valueHelp> <format>ipv6</format> <description>Multicast IPv6 group address</description> </valueHelp> <constraint> <validator name="ipv4-multicast"/> <validator name="ipv6-multicast"/> </constraint> <constraintErrorMessage>Multicast IPv4/IPv6 address required</constraintErrorMessage> </properties> </leafNode> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/interface/mac.xml.i> #include <include/interface/mtu-1200-16000.xml.i> #include <include/interface/mirror.xml.i> <leafNode name="mtu"> <defaultValue>1450</defaultValue> </leafNode> <node name="parameters"> <properties> <help>VXLAN tunnel parameters</help> </properties> <children> <node name="ip"> <properties> <help>IPv4 specific tunnel parameters</help> </properties> <children> #include <include/interface/parameters-df.xml.i> #include <include/interface/parameters-tos.xml.i> #include <include/interface/parameters-ttl.xml.i> <leafNode name="ttl"> <defaultValue>16</defaultValue> </leafNode> </children> </node> <node name="ipv6"> <properties> <help>IPv6 specific tunnel parameters</help> </properties> <children> #include <include/interface/parameters-flowlabel.xml.i> </children> </node> <leafNode name="nolearning"> <properties> <help>Do not add unknown addresses into forwarding database</help> <valueless/> </properties> </leafNode> </children> </node> #include <include/port-number.xml.i> <leafNode name="port"> <defaultValue>8472</defaultValue> </leafNode> #include <include/source-address-ipv4-ipv6.xml.i> #include <include/source-interface.xml.i> #include <include/interface/tunnel-remote-multi.xml.i> #include <include/interface/redirect.xml.i> #include <include/interface/vrf.xml.i> #include <include/vni.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-wireguard.xml.in b/interface-definitions/interfaces-wireguard.xml.in index 35e223588..6342b21cf 100644 --- a/interface-definitions/interfaces-wireguard.xml.in +++ b/interface-definitions/interfaces-wireguard.xml.in @@ -1,127 +1,127 @@ <?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>459</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/interface/description.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/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> <regex>[0-9a-zA-Z\+/]{43}=</regex> </constraint> <constraintErrorMessage>Key is not valid 44-character (32-bytes) base64</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> <leafNode name="public-key"> <properties> <help>base64 encoded public key</help> <constraint> <regex>[0-9a-zA-Z\+/]{43}=</regex> </constraint> <constraintErrorMessage>Key is not valid 44-character (32-bytes) base64</constraintErrorMessage> </properties> </leafNode> <leafNode name="preshared-key"> <properties> <help>base64 encoded preshared key</help> <constraint> <regex>[0-9a-zA-Z\+/]{43}=</regex> </constraint> <constraintErrorMessage>Key is not valid 44-character (32-bytes) base64</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/vrf.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-wireless.xml.in b/interface-definitions/interfaces-wireless.xml.in index 5271df624..aff5071b2 100644 --- a/interface-definitions/interfaces-wireless.xml.in +++ b/interface-definitions/interfaces-wireless.xml.in @@ -1,788 +1,788 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="wireless" owner="${vyos_conf_scripts_dir}/interfaces-wireless.py"> <properties> <help>Wireless (WiFi/WLAN) Network Interface</help> <priority>318</priority> <completionHelp> <script>cd /sys/class/net; if compgen -G "wlan*" > /dev/null; then ls -d wlan*; fi</script> </completionHelp> <constraint> <regex>wlan[0-9]+</regex> </constraint> <constraintErrorMessage>Wireless interface must be named wlanN</constraintErrorMessage> <valueHelp> <format>wlanN</format> <description>Wireless (WiFi/WLAN) interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> <node name="capabilities"> <properties> <help>HT and VHT capabilities for your card</help> </properties> <children> <node name="ht"> <properties> <help>HT (High Throughput) settings</help> </properties> <children> <leafNode name="40mhz-incapable"> <properties> <help>40MHz intolerance, use 20MHz only!</help> <valueless/> </properties> </leafNode> <leafNode name="auto-powersave"> <properties> <help>Enable WMM-PS unscheduled automatic power aave delivery [U-APSD]</help> <valueless/> </properties> </leafNode> <leafNode name="channel-set-width"> <properties> <help>Supported channel set width</help> <completionHelp> <list>ht20 ht40+ ht40-</list> </completionHelp> <valueHelp> <format>ht20</format> <description>Supported channel set width both 20 MHz only</description> </valueHelp> <valueHelp> <format>ht40+</format> <description>Supported channel set width both 20 MHz and 40 MHz with secondary channel above primary channel</description> </valueHelp> <valueHelp> <format>ht40-</format> <description>Supported channel set width both 20 MHz and 40 MHz with secondary channel below primary channel</description> </valueHelp> <constraint> <regex>(ht20|ht40\+|ht40-)</regex> </constraint> <multi/> </properties> </leafNode> <leafNode name="delayed-block-ack"> <properties> <help>Enable HT-delayed block ack</help> <valueless/> </properties> </leafNode> <leafNode name="dsss-cck-40"> <properties> <help>Enable DSSS_CCK-40</help> <valueless/> </properties> </leafNode> <leafNode name="greenfield"> <properties> <help>Enable HT-greenfield</help> <valueless/> </properties> </leafNode> <leafNode name="ldpc"> <properties> <help>Enable LDPC coding capability</help> <valueless/> </properties> </leafNode> <leafNode name="lsig-protection"> <properties> <help>Enable L-SIG TXOP protection capability</help> <valueless/> </properties> </leafNode> <leafNode name="max-amsdu"> <properties> <help>Set maximum A-MSDU length</help> <completionHelp> <list>3839 7935</list> </completionHelp> <valueHelp> <format>3839</format> <description>Set maximum A-MSDU length to 3839 octets</description> </valueHelp> <valueHelp> <format>7935</format> <description>Set maximum A-MSDU length to 7935 octets</description> </valueHelp> <constraint> <regex>(3839|7935)</regex> </constraint> </properties> </leafNode> <leafNode name="short-gi"> <properties> <help>Short GI capabilities</help> <completionHelp> <list>20 40</list> </completionHelp> <valueHelp> <format>20</format> <description>Short GI for 20 MHz</description> </valueHelp> <valueHelp> <format>40</format> <description>Short GI for 40 MHz</description> </valueHelp> <constraint> <regex>(20|40)</regex> </constraint> <multi/> </properties> </leafNode> <leafNode name="smps"> <properties> <help>Spatial Multiplexing Power Save (SMPS) settings</help> <completionHelp> <list>static dynamic</list> </completionHelp> <valueHelp> <format>static</format> <description>STATIC Spatial Multiplexing (SM) Power Save</description> </valueHelp> <valueHelp> <format>dynamic</format> <description>DYNAMIC Spatial Multiplexing (SM) Power Save</description> </valueHelp> <constraint> <regex>(static|dynamic)</regex> </constraint> </properties> </leafNode> <node name="stbc"> <properties> <help>Support for sending and receiving PPDU using STBC (Space Time Block Coding)</help> </properties> <children> <leafNode name="rx"> <properties> <help>Enable receiving PPDU using STBC (Space Time Block Coding)</help> <valueHelp> <format>[1-3]+</format> <description>Number of spacial streams that can use RX STBC</description> </valueHelp> <constraint> <regex>[1-3]+</regex> </constraint> <constraintErrorMessage>Invalid capability item</constraintErrorMessage> </properties> </leafNode> <leafNode name="tx"> <properties> <help>Enable sending PPDU using STBC (Space Time Block Coding)</help> <valueless/> </properties> </leafNode> </children> </node> </children> </node> <leafNode name="require-ht"> <properties> <help>Require stations to support HT PHY (reject association if they do not)</help> <completionHelp> <script>echo If you reject non-HT, you also disable 802.11g</script> </completionHelp> <valueless/> </properties> </leafNode> <leafNode name="require-vht"> <properties> <help>Require stations to support VHT PHY (reject association if they do not)</help> <completionHelp> <script>echo If you reject non-VHT, you also disable 802.11n</script> </completionHelp> <valueless/> </properties> </leafNode> <node name="vht"> <properties> <help>VHT (Very High Throughput) settings</help> </properties> <children> <leafNode name="antenna-count"> <properties> <help>Number of antennas on this card</help> <valueHelp> <format>u32:1-8</format> <description>Number of antennas for this card</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-8"/> </constraint> </properties> </leafNode> <leafNode name="antenna-pattern-fixed"> <properties> <help>Set if antenna pattern does not change during the lifetime of an association</help> <valueless/> </properties> </leafNode> <leafNode name="beamform"> <properties> <help>Beamforming capabilities</help> <completionHelp> <list>single-user-beamformer single-user-beamformee multi-user-beamformer multi-user-beamformee</list> </completionHelp> <valueHelp> <format>single-user-beamformer</format> <description>Support for operation as single user beamformer</description> </valueHelp> <valueHelp> <format>single-user-beamformee</format> <description>Support for operation as single user beamformee</description> </valueHelp> <valueHelp> <format>multi-user-beamformer</format> <description>Support for operation as multi user beamformer</description> </valueHelp> <valueHelp> <format>multi-user-beamformee</format> <description>Support for operation as multi user beamformee</description> </valueHelp> <constraint> <regex>(single-user-beamformer|single-user-beamformee|multi-user-beamformer|multi-user-beamformee)</regex> </constraint> <multi/> </properties> </leafNode> <node name="center-channel-freq"> <properties> <help>VHT operating channel center frequency</help> </properties> <children> <leafNode name="freq-1"> <properties> <help>VHT operating channel center frequency - center freq 1 (for use with 80, 80+80 and 160 modes)</help> <valueHelp> <format>u32:34-173</format> <description>5Ghz (802.11 a/h/j/n/ac) center channel index (use 42 for primary 80MHz channel 36)</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 34-173"/> </constraint> <constraintErrorMessage>Channel center value must be between 34 and 173</constraintErrorMessage> </properties> </leafNode> <leafNode name="freq-2"> <properties> <help>VHT operating channel center frequency - center freq 2 (for use with the 80+80 mode)</help> <valueHelp> <format>u32:34-173</format> <description>5Ghz (802.11 a/h/j/n/ac) center channel index (use 58 for primary 80MHz channel 52)</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 34-173"/> </constraint> <constraintErrorMessage>Channel center value must be between 34 and 173</constraintErrorMessage> </properties> </leafNode> </children> </node> <leafNode name="channel-set-width"> <properties> <help>VHT operating Channel width</help> <completionHelp> <list>0 1 2 3</list> </completionHelp> <valueHelp> <format>0</format> <description>20 or 40 MHz channel width</description> </valueHelp> <valueHelp> <format>1</format> <description>80 MHz channel width</description> </valueHelp> <valueHelp> <format>2</format> <description>160 MHz channel width</description> </valueHelp> <valueHelp> <format>3</format> <description>80+80 MHz channel width</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-3"/> </constraint> </properties> </leafNode> <leafNode name="ldpc"> <properties> <help>Enable LDPC (Low Density Parity Check) coding capability</help> <valueless/> </properties> </leafNode> <leafNode name="link-adaptation"> <properties> <help>VHT link adaptation capabilities</help> <completionHelp> <list>unsolicited both</list> </completionHelp> <valueHelp> <format>unsolicited</format> <description>Station provides only unsolicited VHT MFB</description> </valueHelp> <valueHelp> <format>both</format> <description>Station can provide VHT MFB in response to VHT MRQ and unsolicited VHT MFB</description> </valueHelp> <constraint> <regex>(unsolicited|both)</regex> </constraint> <constraintErrorMessage>Invalid capability item</constraintErrorMessage> </properties> </leafNode> <leafNode name="max-mpdu-exp"> <properties> <help>Set the maximum length of A-MPDU pre-EOF padding that the station can receive</help> <valueHelp> <format>u32:0-7</format> <description>Maximum length of A-MPDU pre-EOF padding = 2 pow(13 + x) -1 octets</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-7"/> </constraint> </properties> </leafNode> <leafNode name="max-mpdu"> <properties> <help>Increase Maximum MPDU length to 7991 or 11454 octets (otherwise: 3895 octets)</help> <completionHelp> <list>7991 11454</list> </completionHelp> <valueHelp> <format>7991</format> <description>ncrease Maximum MPDU length to 7991 octets</description> </valueHelp> <valueHelp> <format>11454</format> <description>ncrease Maximum MPDU length to 11454 octets</description> </valueHelp> <constraint> <regex>(7991|11454)</regex> </constraint> </properties> </leafNode> <leafNode name="short-gi"> <properties> <help>Short GI capabilities</help> <completionHelp> <list>80 160</list> </completionHelp> <valueHelp> <format>80</format> <description>Short GI for 80 MHz</description> </valueHelp> <valueHelp> <format>160</format> <description>Short GI for 160 MHz</description> </valueHelp> <constraint> <regex>(80|160)</regex> </constraint> <multi/> </properties> </leafNode> <node name="stbc"> <properties> <help>Support for sending and receiving PPDU using STBC (Space Time Block Coding)</help> </properties> <children> <leafNode name="rx"> <properties> <help>Enable receiving PPDU using STBC (Space Time Block Coding)</help> <valueHelp> <format>[1-4]+</format> <description>Number of spacial streams that can use RX STBC</description> </valueHelp> <constraint> <regex>[1-4]+</regex> </constraint> <constraintErrorMessage>Invalid capability item</constraintErrorMessage> </properties> </leafNode> <leafNode name="tx"> <properties> <help>Enable sending PPDU using STBC (Space Time Block Coding)</help> <valueless/> </properties> </leafNode> </children> </node> <leafNode name="tx-powersave"> <properties> <help>Enable VHT TXOP Power Save Mode</help> <valueless/> </properties> </leafNode> <leafNode name="vht-cf"> <properties> <help>Station supports receiving VHT variant HT Control field</help> <valueless/> </properties> </leafNode> </children> </node> </children> </node> <leafNode name="channel"> <properties> <help>Wireless radio channel</help> <valueHelp> <format>0</format> <description>Automatic Channel Selection (ACS)</description> </valueHelp> <valueHelp> <format>u32:1-14</format> <description>2.4Ghz (802.11 b/g/n) Channel</description> </valueHelp> <valueHelp> <format>u32:34-173</format> <description>5Ghz (802.11 a/h/j/n/ac) Channel</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-0 --range 1-14 --range 34-173"/> </constraint> </properties> <defaultValue>0</defaultValue> </leafNode> <leafNode name="country-code"> <properties> <help>Indicate country in which device is operating</help> <completionHelp> <list>us eu jp de uk cn es fr ru</list> </completionHelp> <valueHelp> <format>txt</format> <description>ISO/IEC 3166-1 Country Code</description> </valueHelp> <constraint> <regex>[a-z][a-z]</regex> </constraint> <constraintErrorMessage>Invalid ISO/IEC 3166-1 Country Code</constraintErrorMessage> </properties> </leafNode> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> #include <include/interface/dhcp-options.xml.i> #include <include/interface/dhcpv6-options.xml.i> <leafNode name="disable-broadcast-ssid"> <properties> <help>Disable broadcast of SSID from access-point</help> <valueless/> </properties> </leafNode> #include <include/interface/disable-link-detect.xml.i> #include <include/interface/disable.xml.i> #include <include/interface/vrf.xml.i> <leafNode name="expunge-failing-stations"> <properties> <help>Disassociate stations based on excessive transmission failures</help> <valueless/> </properties> </leafNode> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/interface/hw-id.xml.i> <leafNode name="isolate-stations"> <properties> <help>Isolate stations on the AP so they cannot see each other</help> <valueless/> </properties> </leafNode> #include <include/interface/mac.xml.i> <leafNode name="max-stations"> <properties> <help>Maximum number of wireless radio stations. Excess stations will be rejected upon authentication request.</help> <valueHelp> <format>u32:1-2007</format> <description>Number of allowed stations</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 1-2007"/> </constraint> <constraintErrorMessage>Number of stations must be between 1 and 2007</constraintErrorMessage> </properties> </leafNode> <leafNode name="mgmt-frame-protection"> <properties> <help>Management Frame Protection (MFP) according to IEEE 802.11w</help> <completionHelp> <list>disabled optional required</list> </completionHelp> <valueHelp> <format>disabled</format> <description>no MFP</description> </valueHelp> <valueHelp> <format>optional</format> <description>MFP optional</description> </valueHelp> <valueHelp> <format>required</format> <description>MFP enforced</description> </valueHelp> <constraint> <regex>(disabled|optional|required)</regex> </constraint> </properties> <defaultValue>disabled</defaultValue> </leafNode> <leafNode name="mode"> <properties> <help>Wireless radio mode</help> <completionHelp> <list>a b g n ac</list> </completionHelp> <valueHelp> <format>a</format> <description>802.11a - 54 Mbits/sec</description> </valueHelp> <valueHelp> <format>b</format> <description>802.11b - 11 Mbits/sec</description> </valueHelp> <valueHelp> <format>g</format> <description>802.11g - 54 Mbits/sec</description> </valueHelp> <valueHelp> <format>n</format> <description>802.11n - 600 Mbits/sec</description> </valueHelp> <valueHelp> <format>ac</format> <description>802.11ac - 1300 Mbits/sec</description> </valueHelp> <constraint> <regex>(a|b|g|n|ac)</regex> </constraint> </properties> <defaultValue>g</defaultValue> </leafNode> #include <include/interface/mirror.xml.i> <leafNode name="physical-device"> <properties> <help>Wireless physical device</help> <completionHelp> <script>${vyos_completion_dir}/list_wireless_phys.sh</script> </completionHelp> <constraint> <validator name="wireless-phy"/> </constraint> </properties> <defaultValue>phy0</defaultValue> </leafNode> <leafNode name="reduce-transmit-power"> <properties> <help>Transmission power reduction in dBm</help> <valueHelp> <format>u32:0-255</format> <description>TX power reduction in dBm</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-255"/> </constraint> <constraintErrorMessage>dBm value must be between 0 and 255</constraintErrorMessage> </properties> </leafNode> <node name="security"> <properties> <help>Wireless security settings</help> </properties> <children> <node name="wep"> <properties> <help>Wired Equivalent Privacy (WEP) parameters</help> </properties> <children> <leafNode name="key"> <properties> <help>WEP encryption key</help> <valueHelp> <format>txt</format> <description>Wired Equivalent Privacy key</description> </valueHelp> <constraint> <regex>([a-fA-F0-9]{10}|[a-fA-F0-9]{26}|[a-fA-F0-9]{32})</regex> </constraint> <constraintErrorMessage>Invalid WEP key</constraintErrorMessage> <multi/> </properties> </leafNode> </children> </node> <node name="wpa"> <properties> <help>Wifi Protected Access (WPA) parameters</help> </properties> <children> <leafNode name="cipher"> <properties> <help>Cipher suite for WPA unicast packets</help> <completionHelp> <list>GCMP-256 GCMP CCMP-256 CCMP TKIP</list> </completionHelp> <valueHelp> <format>GCMP-256</format> <description>AES in Galois/counter mode with 256-bit key</description> </valueHelp> <valueHelp> <format>GCMP</format> <description>AES in Galois/counter mode with 128-bit key</description> </valueHelp> <valueHelp> <format>CCMP-256</format> <description>AES in Counter mode with CBC-MAC with 256-bit key</description> </valueHelp> <valueHelp> <format>CCMP</format> <description>AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0] (supported on all WPA2 APs)</description> </valueHelp> <valueHelp> <format>TKIP</format> <description>Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]</description> </valueHelp> <constraint> <regex>(GCMP-256|GCMP|CCMP-256|CCMP|TKIP)</regex> </constraint> <constraintErrorMessage>Invalid cipher selection</constraintErrorMessage> <multi/> </properties> </leafNode> <leafNode name="group-cipher"> <properties> <help>Cipher suite for WPA multicast and broadcast packets</help> <completionHelp> <list>GCMP-256 GCMP CCMP-256 CCMP TKIP</list> </completionHelp> <valueHelp> <format>GCMP-256</format> <description>AES in Galois/counter mode with 256-bit key</description> </valueHelp> <valueHelp> <format>GCMP</format> <description>AES in Galois/counter mode with 128-bit key</description> </valueHelp> <valueHelp> <format>CCMP-256</format> <description>AES in Counter mode with CBC-MAC with 256-bit key</description> </valueHelp> <valueHelp> <format>CCMP</format> <description>AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0] (supported on all WPA2 APs)</description> </valueHelp> <valueHelp> <format>TKIP</format> <description>Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]</description> </valueHelp> <constraint> <regex>(GCMP-256|GCMP|CCMP-256|CCMP|TKIP)</regex> </constraint> <constraintErrorMessage>Invalid group cipher selection</constraintErrorMessage> <multi/> </properties> </leafNode> <leafNode name="mode"> <properties> <help>WPA mode</help> <completionHelp> <list>wpa wpa2 wpa+wpa2 wpa3</list> </completionHelp> <valueHelp> <format>wpa</format> <description>WPA (IEEE 802.11i/D3.0)</description> </valueHelp> <valueHelp> <format>wpa2</format> <description>WPA2 (full IEEE 802.11i/RSN)</description> </valueHelp> <valueHelp> <format>wpa+wpa2</format> <description>Allow both WPA and WPA2</description> </valueHelp> <constraint> <regex>(wpa|wpa2|wpa\+wpa2|wpa3)</regex> </constraint> <constraintErrorMessage>Unknown WPA mode</constraintErrorMessage> </properties> <defaultValue>wpa+wpa2</defaultValue> </leafNode> <leafNode name="passphrase"> <properties> <help>WPA personal shared pass phrase. If you are using special characters in the WPA passphrase then single quotes are required.</help> <valueHelp> <format>txt</format> <description>Passphrase of at least 8 but not more than 63 printable characters</description> </valueHelp> <constraint> <regex>.{8,63}</regex> </constraint> <constraintErrorMessage>Invalid WPA pass phrase, must be 8 to 63 printable characters!</constraintErrorMessage> </properties> </leafNode> #include <include/radius-server-ipv4.xml.i> <node name="radius"> <children> <tagNode name="server"> <children> <leafNode name="accounting"> <properties> <help>Enable RADIUS server to receive accounting info</help> <valueless/> </properties> </leafNode> </children> </tagNode> </children> </node> </children> </node> </children> </node> <leafNode name="ssid"> <properties> <help>Wireless access-point service set identifier (SSID)</help> <constraint> <regex>.{1,32}</regex> </constraint> <constraintErrorMessage>Invalid SSID</constraintErrorMessage> </properties> </leafNode> <leafNode name="type"> <properties> <help>Wireless device type for this interface</help> <completionHelp> <list>access-point station monitor</list> </completionHelp> <valueHelp> <format>access-point</format> <description>Access-point forwards packets between other nodes</description> </valueHelp> <valueHelp> <format>station</format> <description>Connects to another access point</description> </valueHelp> <valueHelp> <format>monitor</format> <description>Passively monitor all packets on the frequency/channel</description> </valueHelp> <constraint> <regex>(access-point|station|monitor)</regex> </constraint> <constraintErrorMessage>Type must be access-point, station or monitor</constraintErrorMessage> </properties> <defaultValue>monitor</defaultValue> </leafNode> #include <include/interface/redirect.xml.i> #include <include/interface/vif.xml.i> #include <include/interface/vif-s.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/interfaces-wwan.xml.in b/interface-definitions/interfaces-wwan.xml.in index 758784540..5fa3be8db 100644 --- a/interface-definitions/interfaces-wwan.xml.in +++ b/interface-definitions/interfaces-wwan.xml.in @@ -1,48 +1,48 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="interfaces"> <children> <tagNode name="wwan" owner="${vyos_conf_scripts_dir}/interfaces-wwan.py"> <properties> <help>Wireless Modem (WWAN) Interface</help> <priority>350</priority> <completionHelp> <script>cd /sys/class/net; if compgen -G "wwan*" > /dev/null; then ls -d wwan*; fi</script> </completionHelp> <constraint> <regex>wwan[0-9]+</regex> </constraint> <constraintErrorMessage>Wireless Modem interface must be named wwanN</constraintErrorMessage> <valueHelp> <format>wwanN</format> <description>Wireless Wide Area Network interface name</description> </valueHelp> </properties> <children> #include <include/interface/address-ipv4-ipv6-dhcp.xml.i> <leafNode name="apn"> <properties> <help>Access Point Name (APN)</help> </properties> </leafNode> #include <include/interface/dhcp-options.xml.i> #include <include/interface/dhcpv6-options.xml.i> #include <include/interface/authentication.xml.i> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> #include <include/interface/disable.xml.i> #include <include/interface/disable-link-detect.xml.i> #include <include/interface/mirror.xml.i> #include <include/interface/mtu-68-1500.xml.i> <leafNode name="mtu"> <defaultValue>1430</defaultValue> </leafNode> #include <include/interface/ipv4-options.xml.i> #include <include/interface/ipv6-options.xml.i> #include <include/interface/dial-on-demand.xml.i> #include <include/interface/redirect.xml.i> #include <include/interface/vrf.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/netns.xml.in b/interface-definitions/netns.xml.in index 088985cb6..87880e96a 100644 --- a/interface-definitions/netns.xml.in +++ b/interface-definitions/netns.xml.in @@ -1,23 +1,23 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="netns" owner="${vyos_conf_scripts_dir}/netns.py"> <properties> <help>Network namespace</help> <priority>299</priority> </properties> <children> <tagNode name="name"> <properties> <help>Network namespace name</help> <constraint> <regex>[a-zA-Z0-9-_]{1,100}</regex> </constraint> <constraintErrorMessage>Netns name must be alphanumeric and can contain hyphens and underscores.</constraintErrorMessage> </properties> <children> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> </children> </tagNode> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/service-console-server.xml.in b/interface-definitions/service-console-server.xml.in index fb71538dd..fc6dbe954 100644 --- a/interface-definitions/service-console-server.xml.in +++ b/interface-definitions/service-console-server.xml.in @@ -1,100 +1,100 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="service"> <children> <node name="console-server" owner="${vyos_conf_scripts_dir}/service_console-server.py"> <properties> <help>Serial Console Server</help> </properties> <children> <tagNode name="device"> <properties> <help>System serial interface name (ttyS or ttyUSB)</help> <completionHelp> <script>ls -1 /dev | grep ttyS</script> <script>if [ -d /dev/serial/by-bus ]; then ls -1 /dev/serial/by-bus; fi</script> </completionHelp> <valueHelp> <format>ttySxxx</format> <description>Regular serial interface</description> </valueHelp> <valueHelp> <format>usbxbxpx</format> <description>USB based serial interface</description> </valueHelp> <constraint> <regex>(ttyS\d+|usb\d+b.*p.*)</regex> </constraint> </properties> <children> - #include <include/interface/description.xml.i> + #include <include/generic-description.xml.i> <leafNode name="alias"> <properties> <help>Human-readable name for this console</help> <constraint> <regex>[-_a-zA-Z0-9.]{1,128}</regex> </constraint> </properties> </leafNode> <leafNode name="speed"> <properties> <help>Serial port baud rate</help> <completionHelp> <list>300 1200 2400 4800 9600 19200 38400 57600 115200</list> </completionHelp> <constraint> <regex>(300|1200|2400|4800|9600|19200|38400|57600|115200)</regex> </constraint> </properties> </leafNode> <leafNode name="data-bits"> <properties> <help>Serial port data bits</help> <completionHelp> <list>7 8</list> </completionHelp> <constraint> <validator name="numeric" argument="--range 7-8"/> </constraint> </properties> <defaultValue>8</defaultValue> </leafNode> <leafNode name="stop-bits"> <properties> <help>Serial port stop bits</help> <completionHelp> <list>1 2</list> </completionHelp> <constraint> <validator name="numeric" argument="--range 1-2"/> </constraint> </properties> <defaultValue>1</defaultValue> </leafNode> <leafNode name="parity"> <properties> <help>Parity setting</help> <completionHelp> <list>even odd none</list> </completionHelp> <constraint> <regex>(even|odd|none)</regex> </constraint> </properties> <defaultValue>none</defaultValue> </leafNode> <node name="ssh"> <properties> <help>SSH remote access to this console</help> </properties> <children> #include <include/port-number.xml.i> </children> </node> </children> </tagNode> </children> </node> </children> </node> </interfaceDefinition> diff --git a/interface-definitions/vrf.xml.in b/interface-definitions/vrf.xml.in index 3604b41c8..96c6d8be2 100644 --- a/interface-definitions/vrf.xml.in +++ b/interface-definitions/vrf.xml.in @@ -1,140 +1,140 @@ <?xml version="1.0"?> <interfaceDefinition> <node name="vrf" owner="${vyos_conf_scripts_dir}/vrf.py"> <properties> <help>Virtual Routing and Forwarding</help> <!-- must be before any interface, check /opt/vyatta/sbin/priority.pl --> <priority>299</priority> </properties> <children> <leafNode name="bind-to-all"> <properties> <help>Enable binding services to all VRFs</help> <valueless/> </properties> </leafNode> <tagNode name="name"> <properties> <help>Virtual Routing and Forwarding instance</help> <constraint> <validator name="vrf-name"/> </constraint> <constraintErrorMessage>VRF instance name must be 15 characters or less and can not\nbe named as regular network interfaces.\nA name must starts from a letter.\n</constraintErrorMessage> <valueHelp> <format>txt</format> <description>VRF instance name</description> </valueHelp> </properties> <children> - #include <include/interface/description.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/disable-forwarding.xml.i> </children> </node> <node name="ipv6"> <properties> <help>IPv6 routing parameters</help> </properties> <children> #include <include/interface/disable-forwarding.xml.i> </children> </node> <node name="protocols"> <properties> <help>Routing protocol parameters</help> </properties> <children> <node name="bgp" owner="${vyos_conf_scripts_dir}/protocols_bgp.py $VAR(../../@)"> <properties> <help>Border Gateway Protocol (BGP)</help> <priority>821</priority> </properties> <children> #include <include/bgp/protocol-common-config.xml.i> </children> </node> <node name="eigrp" owner="${vyos_conf_scripts_dir}/protocols_eigrp.py $VAR(../../@)"> <properties> <help>Enhanced Interior Gateway Routing Protocol (EIGRP)</help> <priority>821</priority> </properties> <children> #include <include/eigrp/protocol-common-config.xml.i> </children> </node> <node name="isis" owner="${vyos_conf_scripts_dir}/protocols_isis.py $VAR(../../@)"> <properties> <help>Intermediate System to Intermediate System (IS-IS)</help> <priority>611</priority> </properties> <children> #include <include/isis/protocol-common-config.xml.i> </children> </node> <node name="ospf" owner="${vyos_conf_scripts_dir}/protocols_ospf.py $VAR(../../@)"> <properties> <help>Open Shortest Path First (OSPF)</help> <priority>621</priority> </properties> <children> #include <include/ospf/protocol-common-config.xml.i> </children> </node> <node name="ospfv3" owner="${vyos_conf_scripts_dir}/protocols_ospfv3.py $VAR(../../@)"> <properties> <help>Open Shortest Path First (OSPF) for IPv6</help> <priority>621</priority> </properties> <children> #include <include/ospfv3/protocol-common-config.xml.i> </children> </node> <node name="static" owner="${vyos_conf_scripts_dir}/protocols_static.py $VAR(../../@)"> <properties> <help>Static Routing</help> <priority>481</priority> </properties> <children> #include <include/static/static-route.xml.i> #include <include/static/static-route6.xml.i> </children> </node> </children> </node> <leafNode name="table"> <properties> <help>Routing table associated with this instance</help> <valueHelp> <format>u32:100-65535</format> <description>Routing table ID</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 100-65535"/> </constraint> <constraintErrorMessage>VRF routing table must be in range from 100 to 65535</constraintErrorMessage> </properties> </leafNode> <leafNode name="vni" owner="${vyos_conf_scripts_dir}/vrf_vni.py"> <properties> <help>Virtual Network Identifier</help> <!-- priority must be after BGP --> <priority>822</priority> <valueHelp> <format>u32:0-16777214</format> <description>VXLAN virtual network identifier</description> </valueHelp> <constraint> <validator name="numeric" argument="--range 0-16777214"/> </constraint> </properties> </leafNode> </children> </tagNode> </children> </node> </interfaceDefinition>