summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
Diffstat (limited to 'interface-definitions')
-rw-r--r--interface-definitions/dhcp-server.xml.in5
-rw-r--r--interface-definitions/dns-forwarding.xml.in13
-rw-r--r--interface-definitions/include/accel-ppp/client-ip-pool-subnet-single.xml.i15
-rw-r--r--interface-definitions/include/firewall/common-rule.xml.i6
-rw-r--r--interface-definitions/include/interface/traffic-policy.xml.i43
-rw-r--r--interface-definitions/include/interface/vif-s.xml.i4
-rw-r--r--interface-definitions/include/interface/vif.xml.i2
-rw-r--r--interface-definitions/include/isis/high-low-label-value.xml.i26
-rw-r--r--interface-definitions/include/isis/password.xml.i20
-rw-r--r--interface-definitions/include/isis/protocol-common-config.xml.i110
-rw-r--r--interface-definitions/include/version/system-version.xml.i2
-rw-r--r--interface-definitions/interfaces-bonding.xml.in1
-rw-r--r--interface-definitions/interfaces-bridge.xml.in1
-rw-r--r--interface-definitions/interfaces-dummy.xml.in2
-rw-r--r--interface-definitions/interfaces-ethernet.xml.in1
-rw-r--r--interface-definitions/interfaces-geneve.xml.in2
-rw-r--r--interface-definitions/interfaces-input.xml.in1
-rw-r--r--interface-definitions/interfaces-l2tpv3.xml.in2
-rw-r--r--interface-definitions/interfaces-loopback.xml.in2
-rw-r--r--interface-definitions/interfaces-macsec.xml.in2
-rw-r--r--interface-definitions/interfaces-openvpn.xml.in2
-rw-r--r--interface-definitions/interfaces-pppoe.xml.in2
-rw-r--r--interface-definitions/interfaces-pseudo-ethernet.xml.in2
-rw-r--r--interface-definitions/interfaces-tunnel.xml.in2
-rw-r--r--interface-definitions/interfaces-vti.xml.in2
-rw-r--r--interface-definitions/interfaces-vxlan.xml.in2
-rw-r--r--interface-definitions/interfaces-wireguard.xml.in2
-rw-r--r--interface-definitions/interfaces-wireless.xml.in5
-rw-r--r--interface-definitions/interfaces-wwan.xml.in4
-rw-r--r--interface-definitions/policy.xml.in2
-rw-r--r--interface-definitions/qos.xml.in1148
-rw-r--r--interface-definitions/service_ipoe-server.xml.in16
-rw-r--r--interface-definitions/system-ipv6.xml.in6
33 files changed, 739 insertions, 716 deletions
diff --git a/interface-definitions/dhcp-server.xml.in b/interface-definitions/dhcp-server.xml.in
index 312dcd2a0..4ea2d471d 100644
--- a/interface-definitions/dhcp-server.xml.in
+++ b/interface-definitions/dhcp-server.xml.in
@@ -142,6 +142,11 @@
boot file is to be loaded</help>
</properties>
</leafNode>
+ <leafNode name="bootfile-size">
+ <properties>
+ <help>Bootstrap file size in 512 byte blocks</help>
+ </properties>
+ </leafNode>
<leafNode name="client-prefix-length">
<properties>
<help>Specifies the clients subnet mask as per RFC 950. If unset, subnet declaration is used.</help>
diff --git a/interface-definitions/dns-forwarding.xml.in b/interface-definitions/dns-forwarding.xml.in
index a2e809da8..08501a4b5 100644
--- a/interface-definitions/dns-forwarding.xml.in
+++ b/interface-definitions/dns-forwarding.xml.in
@@ -598,6 +598,19 @@
</properties>
<defaultValue>3600</defaultValue>
</leafNode>
+ <leafNode name="timeout">
+ <properties>
+ <help>Number of milliseconds to wait for a remote authoritative server to respond</help>
+ <valueHelp>
+ <format>u32:10-60000</format>
+ <description>Network timeout in milliseconds</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 10-60000"/>
+ </constraint>
+ </properties>
+ <defaultValue>1500</defaultValue>
+ </leafNode>
#include <include/name-server-ipv4-ipv6.xml.i>
<leafNode name="source-address">
<properties>
diff --git a/interface-definitions/include/accel-ppp/client-ip-pool-subnet-single.xml.i b/interface-definitions/include/accel-ppp/client-ip-pool-subnet-single.xml.i
new file mode 100644
index 000000000..e5918b765
--- /dev/null
+++ b/interface-definitions/include/accel-ppp/client-ip-pool-subnet-single.xml.i
@@ -0,0 +1,15 @@
+<!-- include start from accel-ppp/client-ip-pool-subnet-single.xml.i -->
+<leafNode name="subnet">
+ <properties>
+ <help>Client IP subnet (CIDR notation)</help>
+ <valueHelp>
+ <format>ipv4net</format>
+ <description>IPv4 address and prefix length</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-prefix"/>
+ </constraint>
+ <constraintErrorMessage>Not a valid CIDR formatted prefix</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/firewall/common-rule.xml.i b/interface-definitions/include/firewall/common-rule.xml.i
index 353804990..cd80b7e28 100644
--- a/interface-definitions/include/firewall/common-rule.xml.i
+++ b/interface-definitions/include/firewall/common-rule.xml.i
@@ -66,11 +66,11 @@
<properties>
<help>Maximum average matching rate</help>
<valueHelp>
- <format>u32:0-4294967295</format>
- <description>Maximum average matching rate</description>
+ <format>txt</format>
+ <description>integer/unit (Example: 5/minute)</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-4294967295"/>
+ <regex>^\d+/(second|minute|hour|day)$</regex>
</constraint>
</properties>
</leafNode>
diff --git a/interface-definitions/include/interface/traffic-policy.xml.i b/interface-definitions/include/interface/traffic-policy.xml.i
deleted file mode 100644
index cd60b62a5..000000000
--- a/interface-definitions/include/interface/traffic-policy.xml.i
+++ /dev/null
@@ -1,43 +0,0 @@
-<!-- include start from interface/traffic-policy.xml.i -->
-<node name="traffic-policy">
- <properties>
- <help>Traffic-policy for interface</help>
- </properties>
- <children>
- <leafNode name="in">
- <properties>
- <help>Ingress traffic policy for interface</help>
- <completionHelp>
- <path>traffic-policy drop-tail</path>
- <path>traffic-policy fair-queue</path>
- <path>traffic-policy fq-codel</path>
- <path>traffic-policy limiter</path>
- <path>traffic-policy network-emulator</path>
- <path>traffic-policy priority-queue</path>
- <path>traffic-policy random-detect</path>
- <path>traffic-policy rate-control</path>
- <path>traffic-policy round-robin</path>
- <path>traffic-policy shaper</path>
- <path>traffic-policy shaper-hfsc</path>
- </completionHelp>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="out">
- <properties>
- <help>Egress traffic policy for interface</help>
- <completionHelp>
- <path>traffic-policy</path>
- </completionHelp>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- </properties>
- </leafNode>
- </children>
-</node>
-<!-- include end --> \ No newline at end of file
diff --git a/interface-definitions/include/interface/vif-s.xml.i b/interface-definitions/include/interface/vif-s.xml.i
index 59a47b5ff..3b305618e 100644
--- a/interface-definitions/include/interface/vif-s.xml.i
+++ b/interface-definitions/include/interface/vif-s.xml.i
@@ -44,6 +44,7 @@
#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>
@@ -63,16 +64,15 @@
#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/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
#include <include/interface/interface-firewall-vif-c.xml.i>
#include <include/interface/interface-policy-vif-c.xml.i>
</children>
</tagNode>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/include/interface/vif.xml.i b/interface-definitions/include/interface/vif.xml.i
index 8a1475711..4e7f9b3c2 100644
--- a/interface-definitions/include/interface/vif.xml.i
+++ b/interface-definitions/include/interface/vif.xml.i
@@ -49,9 +49,9 @@
#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/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/include/isis/high-low-label-value.xml.i b/interface-definitions/include/isis/high-low-label-value.xml.i
new file mode 100644
index 000000000..adc28417d
--- /dev/null
+++ b/interface-definitions/include/isis/high-low-label-value.xml.i
@@ -0,0 +1,26 @@
+<!-- include start from isis/high-low-label-value.xml.i -->
+<leafNode name="low-label-value">
+ <properties>
+ <help>MPLS label lower bound</help>
+ <valueHelp>
+ <format>u32:16-1048575</format>
+ <description>Label value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 16-1048575"/>
+ </constraint>
+ </properties>
+</leafNode>
+<leafNode name="high-label-value">
+ <properties>
+ <help>MPLS label upper bound</help>
+ <valueHelp>
+ <format>u32:16-1048575</format>
+ <description>Label value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 16-1048575"/>
+ </constraint>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/isis/password.xml.i b/interface-definitions/include/isis/password.xml.i
new file mode 100644
index 000000000..27c3b0fa0
--- /dev/null
+++ b/interface-definitions/include/isis/password.xml.i
@@ -0,0 +1,20 @@
+<!-- include start from isis/password.xml.i -->
+<leafNode name="plaintext-password">
+ <properties>
+ <help>Plain-text authentication type</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Circuit password</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<leafNode name="md5">
+ <properties>
+ <help>MD5 authentication type</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Level-wide password</description>
+ </valueHelp>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/isis/protocol-common-config.xml.i b/interface-definitions/include/isis/protocol-common-config.xml.i
index 8ffa14a19..75a0355d4 100644
--- a/interface-definitions/include/isis/protocol-common-config.xml.i
+++ b/interface-definitions/include/isis/protocol-common-config.xml.i
@@ -4,24 +4,7 @@
<help>Configure the authentication password for an area</help>
</properties>
<children>
- <leafNode name="plaintext-password">
- <properties>
- <help>Plain-text authentication type</help>
- <valueHelp>
- <format>txt</format>
- <description>Level-wide password</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="md5">
- <properties>
- <help>MD5 authentication type</help>
- <valueHelp>
- <format>txt</format>
- <description>Level-wide password</description>
- </valueHelp>
- </properties>
- </leafNode>
+ #include <include/isis/password.xml.i>
</children>
</node>
<node name="default-information">
@@ -59,24 +42,7 @@
<help>Set the authentication password for a routing domain</help>
</properties>
<children>
- <leafNode name="plaintext-password">
- <properties>
- <help>Plain-text authentication type</help>
- <valueHelp>
- <format>txt</format>
- <description>Level-wide password</description>
- </valueHelp>
- </properties>
- </leafNode>
- <leafNode name="md5">
- <properties>
- <help>MD5 authentication type</help>
- <valueHelp>
- <format>txt</format>
- <description>Level-wide password</description>
- </valueHelp>
- </properties>
- </leafNode>
+ #include <include/isis/password.xml.i>
</children>
</node>
<leafNode name="dynamic-hostname">
@@ -104,7 +70,7 @@
<description>Act as an area router</description>
</valueHelp>
<constraint>
- <regex>^(level-1|level-1-2|level-2)$</regex>
+ <regex>(level-1|level-1-2|level-2)</regex>
</constraint>
</properties>
</leafNode>
@@ -182,7 +148,7 @@
<description>Use new style of TLVs to carry wider metric</description>
</valueHelp>
<constraint>
- <regex>^(narrow|transition|wide)$</regex>
+ <regex>(narrow|transition|wide)</regex>
</constraint>
</properties>
</leafNode>
@@ -275,68 +241,20 @@
</leafNode>
<node name="global-block">
<properties>
- <help>Global block label range</help>
+ <help>Segment Routing Global Block label range</help>
</properties>
<children>
- <leafNode name="low-label-value">
- <properties>
- <help>The lower bound of the global block</help>
- <valueHelp>
- <format>u32:16-1048575</format>
- <description>MPLS label value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 16-1048575"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="high-label-value">
- <properties>
- <help>The upper bound of the global block</help>
- <valueHelp>
- <format>u32:16-1048575</format>
- <description>MPLS label value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 16-1048575"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/isis/high-low-label-value.xml.i>
</children>
</node>
-<!--
<node name="local-block">
<properties>
- <help>Local Block label range</help>
+ <help>Segment Routing Local Block label range</help>
</properties>
<children>
- <leafNode name="low-label-value">
- <properties>
- <help>The lower bound of the local block</help>
- <valueHelp>
- <format>u32:16-1048575</format>
- <description>MPLS label value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument=" range 16-1048575"/>
- </constraint>
- </properties>
- </leafNode>
- <leafNode name="high-label-value">
- <properties>
- <help>The upper bound of the local block</help>
- <valueHelp>
- <format>u32:16-1048575</format>
- <description>MPLS label value</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument=" range 16-1048575"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/isis/high-low-label-value.xml.i>
</children>
</node>
--->
<leafNode name="maximum-label-depth">
<properties>
<help>Maximum MPLS labels allowed for this router</help>
@@ -668,7 +586,7 @@
<description>Level-2 only adjacencies are formed</description>
</valueHelp>
<constraint>
- <regex>^(level-1|level-1-2|level-2-only)$</regex>
+ <regex>(level-1|level-1-2|level-2-only)</regex>
</constraint>
</properties>
</leafNode>
@@ -722,15 +640,7 @@
<help>Configure the authentication password for a circuit</help>
</properties>
<children>
- <leafNode name="plaintext-password">
- <properties>
- <help>Plain-text authentication type</help>
- <valueHelp>
- <format>txt</format>
- <description>Circuit password</description>
- </valueHelp>
- </properties>
- </leafNode>
+ #include <include/isis/password.xml.i>
</children>
</node>
<leafNode name="priority">
diff --git a/interface-definitions/include/version/system-version.xml.i b/interface-definitions/include/version/system-version.xml.i
index fb4629bf1..19591256d 100644
--- a/interface-definitions/include/version/system-version.xml.i
+++ b/interface-definitions/include/version/system-version.xml.i
@@ -1,3 +1,3 @@
<!-- include start from include/version/system-version.xml.i -->
-<syntaxVersion component='system' version='22'></syntaxVersion>
+<syntaxVersion component='system' version='23'></syntaxVersion>
<!-- include end -->
diff --git a/interface-definitions/interfaces-bonding.xml.in b/interface-definitions/interfaces-bonding.xml.in
index 20ece5137..5ae67a672 100644
--- a/interface-definitions/interfaces-bonding.xml.in
+++ b/interface-definitions/interfaces-bonding.xml.in
@@ -208,7 +208,6 @@
</properties>
</leafNode>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vif-s.xml.i>
#include <include/interface/vif.xml.i>
#include <include/interface/xdp.xml.i>
diff --git a/interface-definitions/interfaces-bridge.xml.in b/interface-definitions/interfaces-bridge.xml.in
index 6957067cd..be4c92583 100644
--- a/interface-definitions/interfaces-bridge.xml.in
+++ b/interface-definitions/interfaces-bridge.xml.in
@@ -211,7 +211,6 @@
</properties>
</leafNode>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vif.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/interfaces-dummy.xml.in b/interface-definitions/interfaces-dummy.xml.in
index 109ed1b50..7f9ae90e5 100644
--- a/interface-definitions/interfaces-dummy.xml.in
+++ b/interface-definitions/interfaces-dummy.xml.in
@@ -29,9 +29,9 @@
#include <include/interface/source-validation.xml.i>
</children>
</node>
+ #include <include/interface/mirror.xml.i>
#include <include/interface/netns.xml.i>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/interfaces-ethernet.xml.in b/interface-definitions/interfaces-ethernet.xml.in
index 7d28912c0..7fa07e9ec 100644
--- a/interface-definitions/interfaces-ethernet.xml.in
+++ b/interface-definitions/interfaces-ethernet.xml.in
@@ -197,7 +197,6 @@
</children>
</node>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vif-s.xml.i>
#include <include/interface/vif.xml.i>
#include <include/interface/vrf.xml.i>
diff --git a/interface-definitions/interfaces-geneve.xml.in b/interface-definitions/interfaces-geneve.xml.in
index aa5809e60..fa5a78be5 100644
--- a/interface-definitions/interfaces-geneve.xml.in
+++ b/interface-definitions/interfaces-geneve.xml.in
@@ -50,8 +50,8 @@
</node>
</children>
</node>
+ #include <include/interface/mirror.xml.i>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/tunnel-remote.xml.i>
#include <include/vni.xml.i>
</children>
diff --git a/interface-definitions/interfaces-input.xml.in b/interface-definitions/interfaces-input.xml.in
index f2eb01c58..2164bfa4e 100644
--- a/interface-definitions/interfaces-input.xml.in
+++ b/interface-definitions/interfaces-input.xml.in
@@ -22,7 +22,6 @@
#include <include/interface/interface-firewall.xml.i>
#include <include/interface/interface-policy.xml.i>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/interfaces-l2tpv3.xml.in b/interface-definitions/interfaces-l2tpv3.xml.in
index 680170b0f..1f23a89a5 100644
--- a/interface-definitions/interfaces-l2tpv3.xml.in
+++ b/interface-definitions/interfaces-l2tpv3.xml.in
@@ -58,6 +58,7 @@
#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>
@@ -124,7 +125,6 @@
</constraint>
</properties>
</leafNode>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/interfaces-loopback.xml.in b/interface-definitions/interfaces-loopback.xml.in
index ffffc0220..7ac0545c6 100644
--- a/interface-definitions/interfaces-loopback.xml.in
+++ b/interface-definitions/interfaces-loopback.xml.in
@@ -26,8 +26,8 @@
#include <include/interface/source-validation.xml.i>
</children>
</node>
+ #include <include/interface/mirror.xml.i>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/interfaces-macsec.xml.in b/interface-definitions/interfaces-macsec.xml.in
index 311e95c2f..cb3c489aa 100644
--- a/interface-definitions/interfaces-macsec.xml.in
+++ b/interface-definitions/interfaces-macsec.xml.in
@@ -23,6 +23,7 @@
#include <include/interface/ipv6-options.xml.i>
#include <include/interface/interface-firewall.xml.i>
#include <include/interface/interface-policy.xml.i>
+ #include <include/interface/mirror.xml.i>
<node name="security">
<properties>
<help>Security/Encryption Settings</help>
@@ -123,7 +124,6 @@
</leafNode>
#include <include/source-interface-ethernet.xml.i>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/interfaces-openvpn.xml.in b/interface-definitions/interfaces-openvpn.xml.in
index 73e30e590..c917b9312 100644
--- a/interface-definitions/interfaces-openvpn.xml.in
+++ b/interface-definitions/interfaces-openvpn.xml.in
@@ -168,6 +168,7 @@
</children>
</node>
#include <include/interface/ipv6-options.xml.i>
+ #include <include/interface/mirror.xml.i>
<leafNode name="hash">
<properties>
<help>Hashing Algorithm</help>
@@ -817,7 +818,6 @@
</properties>
</leafNode>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/interfaces-pppoe.xml.in b/interface-definitions/interfaces-pppoe.xml.in
index 1d888236e..3a0b7a40c 100644
--- a/interface-definitions/interfaces-pppoe.xml.in
+++ b/interface-definitions/interfaces-pppoe.xml.in
@@ -102,6 +102,7 @@
</constraint>
</properties>
</leafNode>
+ #include <include/interface/mirror.xml.i>
#include <include/interface/mtu-68-1500.xml.i>
<leafNode name="mtu">
<defaultValue>1492</defaultValue>
@@ -134,7 +135,6 @@
</properties>
</leafNode>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/interfaces-pseudo-ethernet.xml.in b/interface-definitions/interfaces-pseudo-ethernet.xml.in
index 7baeac537..5f5e9fdef 100644
--- a/interface-definitions/interfaces-pseudo-ethernet.xml.in
+++ b/interface-definitions/interfaces-pseudo-ethernet.xml.in
@@ -27,6 +27,7 @@
#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>
#include <include/interface/interface-firewall.xml.i>
#include <include/interface/interface-policy.xml.i>
<leafNode name="mode">
@@ -60,7 +61,6 @@
</leafNode>
#include <include/interface/mtu-68-16000.xml.i>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vif-s.xml.i>
#include <include/interface/vif.xml.i>
</children>
diff --git a/interface-definitions/interfaces-tunnel.xml.in b/interface-definitions/interfaces-tunnel.xml.in
index bc9297c86..42ec62775 100644
--- a/interface-definitions/interfaces-tunnel.xml.in
+++ b/interface-definitions/interfaces-tunnel.xml.in
@@ -107,6 +107,7 @@
<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>
@@ -289,7 +290,6 @@
</node>
#include <include/interface/vrf.xml.i>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
</children>
</tagNode>
</children>
diff --git a/interface-definitions/interfaces-vti.xml.in b/interface-definitions/interfaces-vti.xml.in
index 538194c2b..5893e4c4c 100644
--- a/interface-definitions/interfaces-vti.xml.in
+++ b/interface-definitions/interfaces-vti.xml.in
@@ -34,8 +34,8 @@
#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/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
#include <include/interface/interface-firewall.xml.i>
#include <include/interface/interface-policy.xml.i>
diff --git a/interface-definitions/interfaces-vxlan.xml.in b/interface-definitions/interfaces-vxlan.xml.in
index 18abf9f20..9747b1816 100644
--- a/interface-definitions/interfaces-vxlan.xml.in
+++ b/interface-definitions/interfaces-vxlan.xml.in
@@ -53,6 +53,7 @@
#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>
#include <include/interface/interface-firewall.xml.i>
#include <include/interface/interface-policy.xml.i>
<leafNode name="mtu">
@@ -100,7 +101,6 @@
#include <include/source-interface.xml.i>
#include <include/interface/tunnel-remote-multi.xml.i>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
#include <include/vni.xml.i>
</children>
diff --git a/interface-definitions/interfaces-wireguard.xml.in b/interface-definitions/interfaces-wireguard.xml.in
index 2f130c6f2..eb0892f07 100644
--- a/interface-definitions/interfaces-wireguard.xml.in
+++ b/interface-definitions/interfaces-wireguard.xml.in
@@ -23,6 +23,7 @@
#include <include/interface/mtu-68-16000.xml.i>
#include <include/interface/interface-firewall.xml.i>
#include <include/interface/interface-policy.xml.i>
+ #include <include/interface/mirror.xml.i>
<leafNode name="mtu">
<defaultValue>1420</defaultValue>
</leafNode>
@@ -120,7 +121,6 @@
</children>
</tagNode>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/interfaces-wireless.xml.in b/interface-definitions/interfaces-wireless.xml.in
index eebe8f841..db01657eb 100644
--- a/interface-definitions/interfaces-wireless.xml.in
+++ b/interface-definitions/interfaces-wireless.xml.in
@@ -6,6 +6,9 @@
<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>
@@ -563,6 +566,7 @@
</properties>
<defaultValue>g</defaultValue>
</leafNode>
+ #include <include/interface/mirror.xml.i>
<leafNode name="physical-device">
<properties>
<help>Wireless physical device</help>
@@ -779,7 +783,6 @@
<defaultValue>monitor</defaultValue>
</leafNode>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vif.xml.i>
#include <include/interface/vif-s.xml.i>
</children>
diff --git a/interface-definitions/interfaces-wwan.xml.in b/interface-definitions/interfaces-wwan.xml.in
index 7007a67ae..3cb1645c4 100644
--- a/interface-definitions/interfaces-wwan.xml.in
+++ b/interface-definitions/interfaces-wwan.xml.in
@@ -7,7 +7,7 @@
<help>Wireless Modem (WWAN) Interface</help>
<priority>350</priority>
<completionHelp>
- <script>cd /sys/class/net; ls -d wwan*</script>
+ <script>cd /sys/class/net; if compgen -G "wwan*" > /dev/null; then ls -d wwan*; fi</script>
</completionHelp>
<constraint>
<regex>^wwan[0-9]+$</regex>
@@ -31,6 +31,7 @@
#include <include/interface/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>
@@ -41,7 +42,6 @@
#include <include/interface/interface-firewall.xml.i>
#include <include/interface/interface-policy.xml.i>
#include <include/interface/redirect.xml.i>
- #include <include/interface/traffic-policy.xml.i>
#include <include/interface/vrf.xml.i>
</children>
</tagNode>
diff --git a/interface-definitions/policy.xml.in b/interface-definitions/policy.xml.in
index 5e037b558..1a4781397 100644
--- a/interface-definitions/policy.xml.in
+++ b/interface-definitions/policy.xml.in
@@ -1086,7 +1086,7 @@
<description>Based on a router-id IP address</description>
</valueHelp>
<constraint>
- <regex>^((?:[0-9]{1,3}\.){3}[0-9]{1,3}|\d+):\d+$</regex>
+ <regex>^(((\b(?:(?:2(?:[0-4][0-9]|5[0-5])|[0-1]?[0-9]?[0-9])\.){3}(?:(?:2([0-4][0-9]|5[0-5])|[0-1]?[0-9]?[0-9]))\b)|(\d+)):(\d+) ?)+$</regex>
</constraint>
<constraintErrorMessage>Should be in form: ASN:NN or IPADDR:NN where ASN is autonomous system number</constraintErrorMessage>
</properties>
diff --git a/interface-definitions/qos.xml.in b/interface-definitions/qos.xml.in
index d4468543c..e8f575a1e 100644
--- a/interface-definitions/qos.xml.in
+++ b/interface-definitions/qos.xml.in
@@ -1,721 +1,789 @@
<?xml version="1.0"?>
<interfaceDefinition>
- <node name="traffic-policy" owner="${vyos_conf_scripts_dir}/qos.py">
+ <node name="qos" owner="${vyos_conf_scripts_dir}/qos.py">
<properties>
- <help>Quality of Service (QOS) policy type</help>
- <priority>900</priority>
+ <help>Quality of Service (QoS)</help>
</properties>
<children>
- <tagNode name="drop-tail">
+ <tagNode name="interface">
<properties>
- <help>Packet limited First In, First Out queue</help>
+ <help>Interface to apply QoS policy</help>
+ <completionHelp>
+ <script>${vyos_completion_dir}/list_interfaces.py</script>
+ </completionHelp>
<valueHelp>
<format>txt</format>
- <description>Policy name</description>
+ <description>Interface name</description>
</valueHelp>
<constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
+ <validator name="interface-name"/>
</constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
</properties>
<children>
- #include <include/generic-description.xml.i>
- #include <include/qos/queue-limit-1-4294967295.xml.i>
- </children>
- </tagNode>
- <tagNode name="fair-queue">
- <properties>
- <help>Stochastic Fairness Queueing</help>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- <constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
- </constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
- </properties>
- <children>
- #include <include/generic-description.xml.i>
- <leafNode name="hash-interval">
+ <leafNode name="ingress">
<properties>
- <help>Interval in seconds for queue algorithm perturbation</help>
- <valueHelp>
- <format>u32:0</format>
- <description>No perturbation</description>
- </valueHelp>
+ <help>Interface ingress traffic policy</help>
+ <completionHelp>
+ <path>traffic-policy drop-tail</path>
+ <path>traffic-policy fair-queue</path>
+ <path>traffic-policy fq-codel</path>
+ <path>traffic-policy limiter</path>
+ <path>traffic-policy network-emulator</path>
+ <path>traffic-policy priority-queue</path>
+ <path>traffic-policy random-detect</path>
+ <path>traffic-policy rate-control</path>
+ <path>traffic-policy round-robin</path>
+ <path>traffic-policy shaper</path>
+ <path>traffic-policy shaper-hfsc</path>
+ </completionHelp>
<valueHelp>
- <format>u32:1-127</format>
- <description>Interval in seconds for queue algorithm perturbation (advised: 10)</description>
+ <format>txt</format>
+ <description>QoS Policy name</description>
</valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-127"/>
- </constraint>
- <constraintErrorMessage>Interval must be in range 0 to 127</constraintErrorMessage>
</properties>
- <defaultValue>0</defaultValue>
</leafNode>
- <leafNode name="queue-limit">
+ <leafNode name="egress">
<properties>
- <help>Upper limit of the SFQ</help>
+ <help>Interface egress traffic policy</help>
+ <completionHelp>
+ <path>traffic-policy drop-tail</path>
+ <path>traffic-policy fair-queue</path>
+ <path>traffic-policy fq-codel</path>
+ <path>traffic-policy limiter</path>
+ <path>traffic-policy network-emulator</path>
+ <path>traffic-policy priority-queue</path>
+ <path>traffic-policy random-detect</path>
+ <path>traffic-policy rate-control</path>
+ <path>traffic-policy round-robin</path>
+ <path>traffic-policy shaper</path>
+ <path>traffic-policy shaper-hfsc</path>
+ </completionHelp>
<valueHelp>
- <format>u32:2-127</format>
- <description>Queue size in packets</description>
+ <format>txt</format>
+ <description>QoS Policy name</description>
</valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 2-127"/>
- </constraint>
- <constraintErrorMessage>Queue limit must greater than 1 and less than 128</constraintErrorMessage>
</properties>
- <defaultValue>127</defaultValue>
</leafNode>
</children>
</tagNode>
- <tagNode name="fq-codel">
+ <node name="policy" owner="${vyos_conf_scripts_dir}/qos.py">
<properties>
- <help>Fair Queuing Controlled Delay</help>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- <constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
- </constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
+ <help>Service Policy definitions</help>
+ <priority>900</priority>
</properties>
<children>
- #include <include/generic-description.xml.i>
- #include <include/qos/codel-quantum.xml.i>
- #include <include/qos/flows.xml.i>
- #include <include/qos/interval.xml.i>
- #include <include/qos/queue-limit-2-10999.xml.i>
- #include <include/qos/target.xml.i>
- </children>
- </tagNode>
- <tagNode name="limiter">
- <properties>
- <help>Traffic input limiting policy</help>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- <constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
- </constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
- </properties>
- <children>
- <tagNode name="class">
+ <tagNode name="drop-tail">
<properties>
- <help>Class ID</help>
+ <help>Packet limited First In, First Out queue</help>
<valueHelp>
- <format>u32:1-4090</format>
- <description>Class Identifier</description>
+ <format>txt</format>
+ <description>Policy name</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 1-4090"/>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
</constraint>
- <constraintErrorMessage>Class identifier must be between 1 and 4090</constraintErrorMessage>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
+ </properties>
+ <children>
+ #include <include/generic-description.xml.i>
+ #include <include/qos/queue-limit-1-4294967295.xml.i>
+ </children>
+ </tagNode>
+ <tagNode name="fair-queue">
+ <properties>
+ <help>Stochastic Fairness Queueing</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Policy name</description>
+ </valueHelp>
+ <constraint>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
+ </constraint>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
</properties>
<children>
- #include <include/qos/bandwidth.xml.i>
- #include <include/qos/burst.xml.i>
#include <include/generic-description.xml.i>
- #include <include/qos/match.xml.i>
- <leafNode name="priority">
+ <leafNode name="hash-interval">
+ <properties>
+ <help>Interval in seconds for queue algorithm perturbation</help>
+ <valueHelp>
+ <format>u32:0</format>
+ <description>No perturbation</description>
+ </valueHelp>
+ <valueHelp>
+ <format>u32:1-127</format>
+ <description>Interval in seconds for queue algorithm perturbation (advised: 10)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-127"/>
+ </constraint>
+ <constraintErrorMessage>Interval must be in range 0 to 127</constraintErrorMessage>
+ </properties>
+ <defaultValue>0</defaultValue>
+ </leafNode>
+ <leafNode name="queue-limit">
<properties>
- <help>Priority for rule evaluation</help>
+ <help>Upper limit of the SFQ</help>
<valueHelp>
- <format>u32:0-20</format>
- <description>Priority for match rule evaluation</description>
+ <format>u32:2-127</format>
+ <description>Queue size in packets</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-20"/>
+ <validator name="numeric" argument="--range 2-127"/>
</constraint>
- <constraintErrorMessage>Priority must be between 0 and 20</constraintErrorMessage>
+ <constraintErrorMessage>Queue limit must greater than 1 and less than 128</constraintErrorMessage>
</properties>
- <defaultValue>20</defaultValue>
+ <defaultValue>127</defaultValue>
</leafNode>
</children>
</tagNode>
- <node name="default">
- <properties>
- <help>Default policy</help>
- </properties>
- <children>
- #include <include/qos/bandwidth.xml.i>
- #include <include/qos/burst.xml.i>
- </children>
- </node>
- #include <include/generic-description.xml.i>
- </children>
- </tagNode>
- <tagNode name="network-emulator">
- <properties>
- <help>Network emulator policy</help>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- <constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
- </constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
- </properties>
- <children>
- #include <include/qos/bandwidth.xml.i>
- #include <include/qos/burst.xml.i>
- #include <include/generic-description.xml.i>
- <leafNode name="network-delay">
- <properties>
- <help>Adds delay to packets outgoing to chosen network interface</help>
- <valueHelp>
- <format>&lt;number&gt;</format>
- <description>Time in milliseconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-65535"/>
- </constraint>
- <constraintErrorMessage>Priority must be between 0 and 65535</constraintErrorMessage>
- </properties>
- </leafNode>
- <leafNode name="packet-corruption">
- <properties>
- <help>Introducing error in a random position for chosen percent of packets</help>
- <valueHelp>
- <format>&lt;number&gt;</format>
- <description>Percentage of packets affected</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-100"/>
- </constraint>
- <constraintErrorMessage>Priority must be between 0 and 100</constraintErrorMessage>
- </properties>
- </leafNode>
- <leafNode name="packet-loss">
- <properties>
- <help>Add independent loss probability to the packets outgoing to chosen network interface</help>
- <valueHelp>
- <format>&lt;number&gt;</format>
- <description>Percentage of packets affected</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-100"/>
- </constraint>
- <constraintErrorMessage>Must be between 0 and 100</constraintErrorMessage>
- </properties>
- </leafNode>
- <leafNode name="packet-loss">
+ <tagNode name="fq-codel">
<properties>
- <help>Add independent loss probability to the packets outgoing to chosen network interface</help>
+ <help>Fair Queuing Controlled Delay</help>
<valueHelp>
- <format>&lt;number&gt;</format>
- <description>Percentage of packets affected</description>
+ <format>txt</format>
+ <description>Policy name</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-100"/>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
</constraint>
- <constraintErrorMessage>Must be between 0 and 100</constraintErrorMessage>
- </properties>
- </leafNode>
- <leafNode name="packet-loss">
- <properties>
- <help>Packet reordering percentage</help>
- <valueHelp>
- <format>&lt;number&gt;</format>
- <description>Percentage of packets affected</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-100"/>
- </constraint>
- <constraintErrorMessage>Must be between 0 and 100</constraintErrorMessage>
- </properties>
- </leafNode>
- #include <include/qos/queue-limit-1-4294967295.xml.i>
- </children>
- </tagNode>
- <tagNode name="priority-queue">
- <properties>
- <help>Priority queuing based policy</help>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- <constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
- </constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
- </properties>
- <children>
- <tagNode name="class">
- <properties>
- <help>Class Handle</help>
- <valueHelp>
- <format>u32:1-7</format>
- <description>Priority</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-7"/>
- </constraint>
- <constraintErrorMessage>Class handle must be between 1 and 7</constraintErrorMessage>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
</properties>
<children>
#include <include/generic-description.xml.i>
#include <include/qos/codel-quantum.xml.i>
#include <include/qos/flows.xml.i>
#include <include/qos/interval.xml.i>
- #include <include/qos/match.xml.i>
#include <include/qos/queue-limit-2-10999.xml.i>
#include <include/qos/target.xml.i>
- #include <include/qos/queue-type.xml.i>
</children>
</tagNode>
- <node name="default">
+ <tagNode name="limiter">
<properties>
- <help>Default policy</help>
+ <help>Traffic input limiting policy</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Policy name</description>
+ </valueHelp>
+ <constraint>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
+ </constraint>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
</properties>
<children>
+ <tagNode name="class">
+ <properties>
+ <help>Class ID</help>
+ <valueHelp>
+ <format>u32:1-4090</format>
+ <description>Class Identifier</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4090"/>
+ </constraint>
+ <constraintErrorMessage>Class identifier must be between 1 and 4090</constraintErrorMessage>
+ </properties>
+ <children>
+ #include <include/qos/bandwidth.xml.i>
+ #include <include/qos/burst.xml.i>
+ #include <include/generic-description.xml.i>
+ #include <include/qos/match.xml.i>
+ <leafNode name="priority">
+ <properties>
+ <help>Priority for rule evaluation</help>
+ <valueHelp>
+ <format>u32:0-20</format>
+ <description>Priority for match rule evaluation</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-20"/>
+ </constraint>
+ <constraintErrorMessage>Priority must be between 0 and 20</constraintErrorMessage>
+ </properties>
+ <defaultValue>20</defaultValue>
+ </leafNode>
+ </children>
+ </tagNode>
+ <node name="default">
+ <properties>
+ <help>Default policy</help>
+ </properties>
+ <children>
+ #include <include/qos/bandwidth.xml.i>
+ #include <include/qos/burst.xml.i>
+ </children>
+ </node>
#include <include/generic-description.xml.i>
- #include <include/qos/codel-quantum.xml.i>
- #include <include/qos/flows.xml.i>
- #include <include/qos/interval.xml.i>
- #include <include/qos/queue-limit-2-10999.xml.i>
- #include <include/qos/target.xml.i>
- #include <include/qos/queue-type.xml.i>
</children>
- </node>
- #include <include/generic-description.xml.i>
- </children>
- </tagNode>
- <tagNode name="random-detect">
- <properties>
- <help>Priority queuing based policy</help>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- <constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
- </constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
- </properties>
- <children>
- #include <include/qos/bandwidth.xml.i>
- <leafNode name="bandwidth">
- <defaultValue>auto</defaultValue>
- </leafNode>
- #include <include/generic-description.xml.i>
- <tagNode name="precedence">
+ </tagNode>
+ <tagNode name="network-emulator">
<properties>
- <help>IP precedence</help>
+ <help>Network emulator policy</help>
<valueHelp>
- <format>u32:0-7</format>
- <description>IP precedence value</description>
+ <format>txt</format>
+ <description>Policy name</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-7"/>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
</constraint>
- <constraintErrorMessage>IP precedence value must be between 0 and 7</constraintErrorMessage>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
</properties>
<children>
- #include <include/qos/queue-limit-1-4294967295.xml.i>
- <leafNode name="average-packet">
+ #include <include/qos/bandwidth.xml.i>
+ #include <include/qos/burst.xml.i>
+ #include <include/generic-description.xml.i>
+ <leafNode name="network-delay">
<properties>
- <help>Average packet size (bytes)</help>
+ <help>Adds delay to packets outgoing to chosen network interface</help>
<valueHelp>
- <format>u32:16-10240</format>
- <description>Average packet size in bytes</description>
+ <format>&lt;number&gt;</format>
+ <description>Time in milliseconds</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-100"/>
+ <validator name="numeric" argument="--range 0-65535"/>
</constraint>
- <constraintErrorMessage>Average packet size must be between 16 and 10240</constraintErrorMessage>
+ <constraintErrorMessage>Priority must be between 0 and 65535</constraintErrorMessage>
</properties>
- <defaultValue>1024</defaultValue>
</leafNode>
- <leafNode name="mark-probability">
+ <leafNode name="packet-corruption">
<properties>
- <help>Mark probability for this precedence</help>
+ <help>Introducing error in a random position for chosen percent of packets</help>
<valueHelp>
<format>&lt;number&gt;</format>
- <description>Numeric value (1/N)</description>
+ <description>Percentage of packets affected</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--positive"/>
+ <validator name="numeric" argument="--range 0-100"/>
</constraint>
- <constraintErrorMessage>Mark probability must be greater than 0</constraintErrorMessage>
+ <constraintErrorMessage>Priority must be between 0 and 100</constraintErrorMessage>
</properties>
</leafNode>
- <leafNode name="maximum-threshold">
+ <leafNode name="packet-loss">
<properties>
- <help>Maximum threshold for random detection</help>
+ <help>Add independent loss probability to the packets outgoing to chosen network interface</help>
<valueHelp>
- <format>u32:0-4096</format>
- <description>Maximum Threshold in packets</description>
+ <format>&lt;number&gt;</format>
+ <description>Percentage of packets affected</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-4096"/>
+ <validator name="numeric" argument="--range 0-100"/>
</constraint>
- <constraintErrorMessage>Threshold must be between 0 and 4096</constraintErrorMessage>
+ <constraintErrorMessage>Must be between 0 and 100</constraintErrorMessage>
</properties>
</leafNode>
- <leafNode name="minimum-threshold">
+ <leafNode name="packet-loss">
<properties>
- <help>Minimum threshold for random detection</help>
+ <help>Add independent loss probability to the packets outgoing to chosen network interface</help>
<valueHelp>
- <format>u32:0-4096</format>
- <description>Maximum Threshold in packets</description>
+ <format>&lt;number&gt;</format>
+ <description>Percentage of packets affected</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-4096"/>
+ <validator name="numeric" argument="--range 0-100"/>
</constraint>
- <constraintErrorMessage>Threshold must be between 0 and 4096</constraintErrorMessage>
+ <constraintErrorMessage>Must be between 0 and 100</constraintErrorMessage>
</properties>
</leafNode>
- </children>
- </tagNode>
- </children>
- </tagNode>
- <tagNode name="rate-control">
- <properties>
- <help>Rate limiting policy (Token Bucket Filter)</help>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- <constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
- </constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
- </properties>
- <children>
- #include <include/qos/bandwidth.xml.i>
- #include <include/generic-description.xml.i>
- #include <include/qos/burst.xml.i>
- <leafNode name="latency">
- <properties>
- <help>Maximum latency</help>
- <valueHelp>
- <format>&lt;number&gt;</format>
- <description>Time in milliseconds</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 0-4096"/>
- </constraint>
- <constraintErrorMessage>Threshold must be between 0 and 4096</constraintErrorMessage>
- </properties>
- <defaultValue>50</defaultValue>
- </leafNode>
- </children>
- </tagNode>
- <tagNode name="round-robin">
- <properties>
- <help>Round-Robin based policy</help>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- <constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
- </constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
- </properties>
- <children>
- #include <include/generic-description.xml.i>
- <tagNode name="class">
- <properties>
- <help>Class ID</help>
- <valueHelp>
- <format>u32:1-4095</format>
- <description>Class Identifier</description>
- </valueHelp>
- <constraint>
- <validator name="numeric" argument="--range 1-4095"/>
- </constraint>
- <constraintErrorMessage>Class identifier must be between 1 and 4095</constraintErrorMessage>
- </properties>
- <children>
- #include <include/qos/codel-quantum.xml.i>
- #include <include/generic-description.xml.i>
- #include <include/qos/flows.xml.i>
- #include <include/qos/interval.xml.i>
- #include <include/qos/match.xml.i>
- <leafNode name="quantum">
+ <leafNode name="packet-loss">
<properties>
- <help>Packet scheduling quantum</help>
+ <help>Packet reordering percentage</help>
<valueHelp>
- <format>u32:1-4294967295</format>
- <description>Packet scheduling quantum (bytes)</description>
+ <format>&lt;number&gt;</format>
+ <description>Percentage of packets affected</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 1-4294967295"/>
+ <validator name="numeric" argument="--range 0-100"/>
</constraint>
- <constraintErrorMessage>Quantum must be in range 1 to 4294967295</constraintErrorMessage>
+ <constraintErrorMessage>Must be between 0 and 100</constraintErrorMessage>
</properties>
</leafNode>
#include <include/qos/queue-limit-1-4294967295.xml.i>
- #include <include/qos/queue-type.xml.i>
- #include <include/qos/target.xml.i>
</children>
</tagNode>
- </children>
- </tagNode>
- <tagNode name="shaper-hfsc">
- <properties>
- <help>Hierarchical Fair Service Curve's policy</help>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- <constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
- </constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
- </properties>
- <children>
- #include <include/qos/bandwidth.xml.i>
- <leafNode name="bandwidth">
- <defaultValue>auto</defaultValue>
- </leafNode>
- #include <include/generic-description.xml.i>
- <tagNode name="class">
+ <tagNode name="priority-queue">
<properties>
- <help>Class ID</help>
+ <help>Priority queuing based policy</help>
<valueHelp>
- <format>u32:1-4095</format>
- <description>Class Identifier</description>
+ <format>txt</format>
+ <description>Policy name</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 1-4095"/>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
</constraint>
- <constraintErrorMessage>Class identifier must be between 1 and 4095</constraintErrorMessage>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
</properties>
<children>
- #include <include/generic-description.xml.i>
- <node name="linkshare">
+ <tagNode name="class">
<properties>
- <help>Linkshare class settings</help>
- </properties>
- <children>
- #include <include/qos/hfsc-d.xml.i>
- #include <include/qos/hfsc-m1.xml.i>
- #include <include/qos/hfsc-m2.xml.i>
- </children>
- </node>
- #include <include/qos/match.xml.i>
- <node name="realtime">
- <properties>
- <help>Realtime class settings</help>
+ <help>Class Handle</help>
+ <valueHelp>
+ <format>u32:1-7</format>
+ <description>Priority</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-7"/>
+ </constraint>
+ <constraintErrorMessage>Class handle must be between 1 and 7</constraintErrorMessage>
</properties>
<children>
- #include <include/qos/hfsc-d.xml.i>
- #include <include/qos/hfsc-m1.xml.i>
- #include <include/qos/hfsc-m2.xml.i>
+ #include <include/generic-description.xml.i>
+ #include <include/qos/codel-quantum.xml.i>
+ #include <include/qos/flows.xml.i>
+ #include <include/qos/interval.xml.i>
+ #include <include/qos/match.xml.i>
+ #include <include/qos/queue-limit-2-10999.xml.i>
+ #include <include/qos/target.xml.i>
+ #include <include/qos/queue-type.xml.i>
</children>
- </node>
- <node name="upperlimit">
+ </tagNode>
+ <node name="default">
<properties>
- <help>Upperlimit class settings</help>
+ <help>Default policy</help>
</properties>
<children>
- #include <include/qos/hfsc-d.xml.i>
- #include <include/qos/hfsc-m1.xml.i>
- #include <include/qos/hfsc-m2.xml.i>
+ #include <include/generic-description.xml.i>
+ #include <include/qos/codel-quantum.xml.i>
+ #include <include/qos/flows.xml.i>
+ #include <include/qos/interval.xml.i>
+ #include <include/qos/queue-limit-2-10999.xml.i>
+ #include <include/qos/target.xml.i>
+ #include <include/qos/queue-type.xml.i>
</children>
</node>
+ #include <include/generic-description.xml.i>
</children>
</tagNode>
- <node name="default">
+ <tagNode name="random-detect">
<properties>
- <help>Default policy</help>
+ <help>Priority queuing based policy</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Policy name</description>
+ </valueHelp>
+ <constraint>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
+ </constraint>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
</properties>
<children>
- <node name="linkshare">
- <properties>
- <help>Linkshare class settings</help>
- </properties>
- <children>
- #include <include/qos/hfsc-d.xml.i>
- #include <include/qos/hfsc-m1.xml.i>
- #include <include/qos/hfsc-m2.xml.i>
- </children>
- </node>
- <node name="realtime">
- <properties>
- <help>Realtime class settings</help>
- </properties>
- <children>
- #include <include/qos/hfsc-d.xml.i>
- #include <include/qos/hfsc-m1.xml.i>
- #include <include/qos/hfsc-m2.xml.i>
- </children>
- </node>
- <node name="upperlimit">
+ #include <include/qos/bandwidth.xml.i>
+ <leafNode name="bandwidth">
+ <defaultValue>auto</defaultValue>
+ </leafNode>
+ #include <include/generic-description.xml.i>
+ <tagNode name="precedence">
<properties>
- <help>Upperlimit class settings</help>
+ <help>IP precedence</help>
+ <valueHelp>
+ <format>u32:0-7</format>
+ <description>IP precedence value</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-7"/>
+ </constraint>
+ <constraintErrorMessage>IP precedence value must be between 0 and 7</constraintErrorMessage>
</properties>
<children>
- #include <include/qos/hfsc-d.xml.i>
- #include <include/qos/hfsc-m1.xml.i>
- #include <include/qos/hfsc-m2.xml.i>
+ #include <include/qos/queue-limit-1-4294967295.xml.i>
+ <leafNode name="average-packet">
+ <properties>
+ <help>Average packet size (bytes)</help>
+ <valueHelp>
+ <format>u32:16-10240</format>
+ <description>Average packet size in bytes</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-100"/>
+ </constraint>
+ <constraintErrorMessage>Average packet size must be between 16 and 10240</constraintErrorMessage>
+ </properties>
+ <defaultValue>1024</defaultValue>
+ </leafNode>
+ <leafNode name="mark-probability">
+ <properties>
+ <help>Mark probability for this precedence</help>
+ <valueHelp>
+ <format>&lt;number&gt;</format>
+ <description>Numeric value (1/N)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--positive"/>
+ </constraint>
+ <constraintErrorMessage>Mark probability must be greater than 0</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="maximum-threshold">
+ <properties>
+ <help>Maximum threshold for random detection</help>
+ <valueHelp>
+ <format>u32:0-4096</format>
+ <description>Maximum Threshold in packets</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4096"/>
+ </constraint>
+ <constraintErrorMessage>Threshold must be between 0 and 4096</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ <leafNode name="minimum-threshold">
+ <properties>
+ <help>Minimum threshold for random detection</help>
+ <valueHelp>
+ <format>u32:0-4096</format>
+ <description>Maximum Threshold in packets</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4096"/>
+ </constraint>
+ <constraintErrorMessage>Threshold must be between 0 and 4096</constraintErrorMessage>
+ </properties>
+ </leafNode>
</children>
- </node>
+ </tagNode>
</children>
- </node>
- </children>
- </tagNode>
- <tagNode name="shaper">
- <properties>
- <help>Traffic shaping based policy (Hierarchy Token Bucket)</help>
- <valueHelp>
- <format>txt</format>
- <description>Policy name</description>
- </valueHelp>
- <constraint>
- <regex>[[:alnum:]][-_[:alnum:]]*</regex>
- </constraint>
- <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
- </properties>
- <children>
- #include <include/qos/bandwidth.xml.i>
- <leafNode name="bandwidth">
- <defaultValue>auto</defaultValue>
- </leafNode>
- <tagNode name="class">
+ </tagNode>
+ <tagNode name="rate-control">
<properties>
- <help>Class ID</help>
+ <help>Rate limiting policy (Token Bucket Filter)</help>
<valueHelp>
- <format>u32:2-4095</format>
- <description>Class Identifier</description>
+ <format>txt</format>
+ <description>Policy name</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 2-4095"/>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
</constraint>
- <constraintErrorMessage>Class identifier must be between 2 and 4095</constraintErrorMessage>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
</properties>
<children>
#include <include/qos/bandwidth.xml.i>
- <leafNode name="bandwidth">
- <defaultValue>100%</defaultValue>
- </leafNode>
+ #include <include/generic-description.xml.i>
#include <include/qos/burst.xml.i>
- <leafNode name="ceiling">
+ <leafNode name="latency">
<properties>
- <help>Bandwidth limit for this class</help>
+ <help>Maximum latency</help>
<valueHelp>
<format>&lt;number&gt;</format>
- <description>Rate in kbit (kilobit per second)</description>
- </valueHelp>
- <valueHelp>
- <format>&lt;number&gt;%%</format>
- <description>Percentage of overall rate</description>
- </valueHelp>
- <valueHelp>
- <format>&lt;number&gt;bit</format>
- <description>bit(1), kbit(10^3), mbit(10^6), gbit, tbit</description>
- </valueHelp>
- <valueHelp>
- <format>&lt;number&gt;ibit</format>
- <description>kibit(1024), mibit(1024^2), gibit(1024^3), tbit(1024^4)</description>
- </valueHelp>
- <valueHelp>
- <format>&lt;number&gt;ibps</format>
- <description>kibps(1024*8), mibps(1024^2*8), gibps, tibps - Byte/sec</description>
- </valueHelp>
- <valueHelp>
- <format>&lt;number&gt;bps</format>
- <description>bps(8),kbps(8*10^3),mbps(8*10^6), gbps, tbps - Byte/sec</description>
+ <description>Time in milliseconds</description>
</valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-4096"/>
+ </constraint>
+ <constraintErrorMessage>Threshold must be between 0 and 4096</constraintErrorMessage>
</properties>
+ <defaultValue>50</defaultValue>
</leafNode>
- #include <include/qos/codel-quantum.xml.i>
+ </children>
+ </tagNode>
+ <tagNode name="round-robin">
+ <properties>
+ <help>Round-Robin based policy</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Policy name</description>
+ </valueHelp>
+ <constraint>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
+ </constraint>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
+ </properties>
+ <children>
#include <include/generic-description.xml.i>
- #include <include/qos/flows.xml.i>
- #include <include/qos/interval.xml.i>
- #include <include/qos/match.xml.i>
- <leafNode name="priority">
+ <tagNode name="class">
<properties>
- <help>Priority for usage of excess bandwidth</help>
+ <help>Class ID</help>
<valueHelp>
- <format>u32:0-7</format>
- <description>Priority order for bandwidth pool</description>
+ <format>u32:1-4095</format>
+ <description>Class Identifier</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-7"/>
+ <validator name="numeric" argument="--range 1-4095"/>
</constraint>
- <constraintErrorMessage>Priority must be between 0 and 7</constraintErrorMessage>
+ <constraintErrorMessage>Class identifier must be between 1 and 4095</constraintErrorMessage>
</properties>
- <defaultValue>20</defaultValue>
- </leafNode>
- #include <include/qos/queue-limit-1-4294967295.xml.i>
- #include <include/qos/queue-type.xml.i>
- #include <include/qos/set-dscp.xml.i>
- #include <include/qos/target.xml.i>
+ <children>
+ #include <include/qos/codel-quantum.xml.i>
+ #include <include/generic-description.xml.i>
+ #include <include/qos/flows.xml.i>
+ #include <include/qos/interval.xml.i>
+ #include <include/qos/match.xml.i>
+ <leafNode name="quantum">
+ <properties>
+ <help>Packet scheduling quantum</help>
+ <valueHelp>
+ <format>u32:1-4294967295</format>
+ <description>Packet scheduling quantum (bytes)</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4294967295"/>
+ </constraint>
+ <constraintErrorMessage>Quantum must be in range 1 to 4294967295</constraintErrorMessage>
+ </properties>
+ </leafNode>
+ #include <include/qos/queue-limit-1-4294967295.xml.i>
+ #include <include/qos/queue-type.xml.i>
+ #include <include/qos/target.xml.i>
+ </children>
+ </tagNode>
</children>
</tagNode>
- #include <include/generic-description.xml.i>
- <node name="default">
+ <tagNode name="shaper-hfsc">
<properties>
- <help>Default policy</help>
+ <help>Hierarchical Fair Service Curve's policy</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Policy name</description>
+ </valueHelp>
+ <constraint>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
+ </constraint>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
</properties>
<children>
#include <include/qos/bandwidth.xml.i>
- #include <include/qos/burst.xml.i>
- <leafNode name="ceiling">
+ <leafNode name="bandwidth">
+ <defaultValue>auto</defaultValue>
+ </leafNode>
+ #include <include/generic-description.xml.i>
+ <tagNode name="class">
<properties>
- <help>Bandwidth limit for this class</help>
- <valueHelp>
- <format>&lt;number&gt;</format>
- <description>Rate in kbit (kilobit per second)</description>
- </valueHelp>
- <valueHelp>
- <format>&lt;number&gt;%%</format>
- <description>Percentage of overall rate</description>
- </valueHelp>
+ <help>Class ID</help>
<valueHelp>
- <format>&lt;number&gt;bit</format>
- <description>bit(1), kbit(10^3), mbit(10^6), gbit, tbit</description>
- </valueHelp>
- <valueHelp>
- <format>&lt;number&gt;ibit</format>
- <description>kibit(1024), mibit(1024^2), gibit(1024^3), tbit(1024^4)</description>
- </valueHelp>
- <valueHelp>
- <format>&lt;number&gt;ibps</format>
- <description>kibps(1024*8), mibps(1024^2*8), gibps, tibps - Byte/sec</description>
- </valueHelp>
- <valueHelp>
- <format>&lt;number&gt;bps</format>
- <description>bps(8),kbps(8*10^3),mbps(8*10^6), gbps, tbps - Byte/sec</description>
+ <format>u32:1-4095</format>
+ <description>Class Identifier</description>
</valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 1-4095"/>
+ </constraint>
+ <constraintErrorMessage>Class identifier must be between 1 and 4095</constraintErrorMessage>
+ </properties>
+ <children>
+ #include <include/generic-description.xml.i>
+ <node name="linkshare">
+ <properties>
+ <help>Linkshare class settings</help>
+ </properties>
+ <children>
+ #include <include/qos/hfsc-d.xml.i>
+ #include <include/qos/hfsc-m1.xml.i>
+ #include <include/qos/hfsc-m2.xml.i>
+ </children>
+ </node>
+ #include <include/qos/match.xml.i>
+ <node name="realtime">
+ <properties>
+ <help>Realtime class settings</help>
+ </properties>
+ <children>
+ #include <include/qos/hfsc-d.xml.i>
+ #include <include/qos/hfsc-m1.xml.i>
+ #include <include/qos/hfsc-m2.xml.i>
+ </children>
+ </node>
+ <node name="upperlimit">
+ <properties>
+ <help>Upperlimit class settings</help>
+ </properties>
+ <children>
+ #include <include/qos/hfsc-d.xml.i>
+ #include <include/qos/hfsc-m1.xml.i>
+ #include <include/qos/hfsc-m2.xml.i>
+ </children>
+ </node>
+ </children>
+ </tagNode>
+ <node name="default">
+ <properties>
+ <help>Default policy</help>
</properties>
+ <children>
+ <node name="linkshare">
+ <properties>
+ <help>Linkshare class settings</help>
+ </properties>
+ <children>
+ #include <include/qos/hfsc-d.xml.i>
+ #include <include/qos/hfsc-m1.xml.i>
+ #include <include/qos/hfsc-m2.xml.i>
+ </children>
+ </node>
+ <node name="realtime">
+ <properties>
+ <help>Realtime class settings</help>
+ </properties>
+ <children>
+ #include <include/qos/hfsc-d.xml.i>
+ #include <include/qos/hfsc-m1.xml.i>
+ #include <include/qos/hfsc-m2.xml.i>
+ </children>
+ </node>
+ <node name="upperlimit">
+ <properties>
+ <help>Upperlimit class settings</help>
+ </properties>
+ <children>
+ #include <include/qos/hfsc-d.xml.i>
+ #include <include/qos/hfsc-m1.xml.i>
+ #include <include/qos/hfsc-m2.xml.i>
+ </children>
+ </node>
+ </children>
+ </node>
+ </children>
+ </tagNode>
+ <tagNode name="shaper">
+ <properties>
+ <help>Traffic shaping based policy (Hierarchy Token Bucket)</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Policy name</description>
+ </valueHelp>
+ <constraint>
+ <regex>[[:alnum:]][-_[:alnum:]]*</regex>
+ </constraint>
+ <constraintErrorMessage>Only alpha-numeric policy name allowed</constraintErrorMessage>
+ </properties>
+ <children>
+ #include <include/qos/bandwidth.xml.i>
+ <leafNode name="bandwidth">
+ <defaultValue>auto</defaultValue>
</leafNode>
- #include <include/qos/codel-quantum.xml.i>
- #include <include/generic-description.xml.i>
- #include <include/qos/flows.xml.i>
- #include <include/qos/interval.xml.i>
- <leafNode name="priority">
+ <tagNode name="class">
<properties>
- <help>Priority for usage of excess bandwidth</help>
+ <help>Class ID</help>
<valueHelp>
- <format>u32:0-7</format>
- <description>Priority order for bandwidth pool</description>
+ <format>u32:2-4095</format>
+ <description>Class Identifier</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-7"/>
+ <validator name="numeric" argument="--range 2-4095"/>
</constraint>
- <constraintErrorMessage>Priority must be between 0 and 7</constraintErrorMessage>
+ <constraintErrorMessage>Class identifier must be between 2 and 4095</constraintErrorMessage>
</properties>
- <defaultValue>20</defaultValue>
- </leafNode>
- #include <include/qos/queue-limit-1-4294967295.xml.i>
- #include <include/qos/queue-type.xml.i>
- #include <include/qos/set-dscp.xml.i>
- #include <include/qos/target.xml.i>
+ <children>
+ #include <include/qos/bandwidth.xml.i>
+ <leafNode name="bandwidth">
+ <defaultValue>100%</defaultValue>
+ </leafNode>
+ #include <include/qos/burst.xml.i>
+ <leafNode name="ceiling">
+ <properties>
+ <help>Bandwidth limit for this class</help>
+ <valueHelp>
+ <format>&lt;number&gt;</format>
+ <description>Rate in kbit (kilobit per second)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;number&gt;%%</format>
+ <description>Percentage of overall rate</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;number&gt;bit</format>
+ <description>bit(1), kbit(10^3), mbit(10^6), gbit, tbit</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;number&gt;ibit</format>
+ <description>kibit(1024), mibit(1024^2), gibit(1024^3), tbit(1024^4)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;number&gt;ibps</format>
+ <description>kibps(1024*8), mibps(1024^2*8), gibps, tibps - Byte/sec</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;number&gt;bps</format>
+ <description>bps(8),kbps(8*10^3),mbps(8*10^6), gbps, tbps - Byte/sec</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ #include <include/qos/codel-quantum.xml.i>
+ #include <include/generic-description.xml.i>
+ #include <include/qos/flows.xml.i>
+ #include <include/qos/interval.xml.i>
+ #include <include/qos/match.xml.i>
+ <leafNode name="priority">
+ <properties>
+ <help>Priority for usage of excess bandwidth</help>
+ <valueHelp>
+ <format>u32:0-7</format>
+ <description>Priority order for bandwidth pool</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-7"/>
+ </constraint>
+ <constraintErrorMessage>Priority must be between 0 and 7</constraintErrorMessage>
+ </properties>
+ <defaultValue>20</defaultValue>
+ </leafNode>
+ #include <include/qos/queue-limit-1-4294967295.xml.i>
+ #include <include/qos/queue-type.xml.i>
+ #include <include/qos/set-dscp.xml.i>
+ #include <include/qos/target.xml.i>
+ </children>
+ </tagNode>
+ #include <include/generic-description.xml.i>
+ <node name="default">
+ <properties>
+ <help>Default policy</help>
+ </properties>
+ <children>
+ #include <include/qos/bandwidth.xml.i>
+ #include <include/qos/burst.xml.i>
+ <leafNode name="ceiling">
+ <properties>
+ <help>Bandwidth limit for this class</help>
+ <valueHelp>
+ <format>&lt;number&gt;</format>
+ <description>Rate in kbit (kilobit per second)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;number&gt;%%</format>
+ <description>Percentage of overall rate</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;number&gt;bit</format>
+ <description>bit(1), kbit(10^3), mbit(10^6), gbit, tbit</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;number&gt;ibit</format>
+ <description>kibit(1024), mibit(1024^2), gibit(1024^3), tbit(1024^4)</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;number&gt;ibps</format>
+ <description>kibps(1024*8), mibps(1024^2*8), gibps, tibps - Byte/sec</description>
+ </valueHelp>
+ <valueHelp>
+ <format>&lt;number&gt;bps</format>
+ <description>bps(8),kbps(8*10^3),mbps(8*10^6), gbps, tbps - Byte/sec</description>
+ </valueHelp>
+ </properties>
+ </leafNode>
+ #include <include/qos/codel-quantum.xml.i>
+ #include <include/generic-description.xml.i>
+ #include <include/qos/flows.xml.i>
+ #include <include/qos/interval.xml.i>
+ <leafNode name="priority">
+ <properties>
+ <help>Priority for usage of excess bandwidth</help>
+ <valueHelp>
+ <format>u32:0-7</format>
+ <description>Priority order for bandwidth pool</description>
+ </valueHelp>
+ <constraint>
+ <validator name="numeric" argument="--range 0-7"/>
+ </constraint>
+ <constraintErrorMessage>Priority must be between 0 and 7</constraintErrorMessage>
+ </properties>
+ <defaultValue>20</defaultValue>
+ </leafNode>
+ #include <include/qos/queue-limit-1-4294967295.xml.i>
+ #include <include/qos/queue-type.xml.i>
+ #include <include/qos/set-dscp.xml.i>
+ #include <include/qos/target.xml.i>
+ </children>
+ </node>
</children>
- </node>
+ </tagNode>
</children>
- </tagNode>
+ </node>
</children>
</node>
</interfaceDefinition>
diff --git a/interface-definitions/service_ipoe-server.xml.in b/interface-definitions/service_ipoe-server.xml.in
index b19acab56..1325ba10d 100644
--- a/interface-definitions/service_ipoe-server.xml.in
+++ b/interface-definitions/service_ipoe-server.xml.in
@@ -112,6 +112,22 @@
</children>
</tagNode>
#include <include/name-server-ipv4-ipv6.xml.i>
+ <node name="client-ip-pool">
+ <properties>
+ <help>Client IP pools and gateway setting</help>
+ </properties>
+ <children>
+ <tagNode name="name">
+ <properties>
+ <help>Pool name</help>
+ </properties>
+ <children>
+ #include <include/accel-ppp/gateway-address.xml.i>
+ #include <include/accel-ppp/client-ip-pool-subnet-single.xml.i>
+ </children>
+ </tagNode>
+ </children>
+ </node>
#include <include/accel-ppp/client-ipv6-pool.xml.i>
<node name="authentication">
<properties>
diff --git a/interface-definitions/system-ipv6.xml.in b/interface-definitions/system-ipv6.xml.in
index af4dcdb0f..63260d00c 100644
--- a/interface-definitions/system-ipv6.xml.in
+++ b/interface-definitions/system-ipv6.xml.in
@@ -15,12 +15,6 @@
<valueless/>
</properties>
</leafNode>
- <leafNode name="disable">
- <properties>
- <help>Disable assignment of IPv6 addresses on all interfaces</help>
- <valueless/>
- </properties>
- </leafNode>
<node name="multipath">
<properties>
<help>IPv6 multipath settings</help>