summaryrefslogtreecommitdiff
path: root/interface-definitions/qos.xml.in
diff options
context:
space:
mode:
Diffstat (limited to 'interface-definitions/qos.xml.in')
-rw-r--r--interface-definitions/qos.xml.in156
1 files changed, 92 insertions, 64 deletions
diff --git a/interface-definitions/qos.xml.in b/interface-definitions/qos.xml.in
index 8f9ae3fa6..c6ecb742e 100644
--- a/interface-definitions/qos.xml.in
+++ b/interface-definitions/qos.xml.in
@@ -85,78 +85,67 @@
<children>
#include <include/generic-description.xml.i>
#include <include/qos/bandwidth.xml.i>
- <node name="flow-isolation">
+ <leafNode name="flow-isolation">
<properties>
<help>Flow isolation settings</help>
+ <completionHelp>
+ <list>blind src-host dst-host host flow dual-src-host dual-dst-host triple-isolate</list>
+ </completionHelp>
+ <valueHelp>
+ <format>blind</format>
+ <description>Disables flow isolation, all traffic passes through a single queue</description>
+ </valueHelp>
+ <valueHelp>
+ <format>src-host</format>
+ <description>Flows are defined only by source address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>dst-host</format>
+ <description>Flows are defined only by destination address</description>
+ </valueHelp>
+ <valueHelp>
+ <format>host</format>
+ <description>Flows are defined by source-destination host pairs</description>
+ </valueHelp>
+ <valueHelp>
+ <format>flow</format>
+ <description>Flows are defined by the entire 5-tuple</description>
+ </valueHelp>
+ <valueHelp>
+ <format>dual-src-host</format>
+ <description>Flows are defined by the 5-tuple, fairness is applied first over source addresses, then over individual flows</description>
+ </valueHelp>
+ <valueHelp>
+ <format>dual-dst-host</format>
+ <description>Flows are defined by the 5-tuple, fairness is applied first over destination addresses, then over individual flows</description>
+ </valueHelp>
+ <valueHelp>
+ <format>triple-isolate</format>
+ <description>Flows are defined by the 5-tuple, fairness is applied over source and destination addresses and also over individual flows (default)</description>
+ </valueHelp>
+ <constraint>
+ <regex>(blind|src-host|dst-host|host|flow|dual-src-host|dual-dst-host|triple-isolate)</regex>
+ </constraint>
</properties>
- <children>
- <leafNode name="blind">
- <properties>
- <help>Disables flow isolation, all traffic passes through a single queue</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="src-host">
- <properties>
- <help>Flows are defined only by source address</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="dst-host">
- <properties>
- <help>Flows are defined only by destination address</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="host">
- <properties>
- <help>Flows are defined by source-destination host pairs</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="flow">
- <properties>
- <help>Flows are defined by the entire 5-tuple</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="dual-src-host">
- <properties>
- <help>Flows are defined by the 5-tuple, fairness is applied first over source addresses, then over individual flows</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="dual-dst-host">
- <properties>
- <help>Flows are defined by the 5-tuple, fairness is applied first over destination addresses, then over individual flows</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="triple-isolate">
- <properties>
- <help>Flows are defined by the 5-tuple, fairness is applied over source and destination addresses and also over individual flows (default)</help>
- <valueless/>
- </properties>
- </leafNode>
- <leafNode name="nat">
- <properties>
- <help>Perform NAT lookup before applying flow-isolation rules</help>
- <valueless/>
- </properties>
- </leafNode>
- </children>
- </node>
+ <defaultValue>triple-isolate</defaultValue>
+ </leafNode>
+ <leafNode name="flow-isolation-nat">
+ <properties>
+ <help>Perform NAT lookup before applying flow-isolation rules</help>
+ <valueless/>
+ </properties>
+ </leafNode>
<leafNode name="rtt">
<properties>
<help>Round-Trip-Time for Active Queue Management (AQM)</help>
<valueHelp>
- <format>u32:1-3600000</format>
+ <format>u32:1-1000000000</format>
<description>RTT in ms</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 1-3600000"/>
+ <validator name="numeric" argument="--range 1-1000000000"/>
</constraint>
- <constraintErrorMessage>RTT must be in range 1 to 3600000 milli-seconds</constraintErrorMessage>
+ <constraintErrorMessage>RTT must be in range 1 to 1000000000 milli-seconds</constraintErrorMessage>
</properties>
<defaultValue>100</defaultValue>
</leafNode>
@@ -201,13 +190,13 @@
<description>No perturbation</description>
</valueHelp>
<valueHelp>
- <format>u32:1-127</format>
+ <format>u32:1-2147483647</format>
<description>Interval in seconds for queue algorithm perturbation (advised: 10)</description>
</valueHelp>
<constraint>
- <validator name="numeric" argument="--range 0-127"/>
+ <validator name="numeric" argument="--range 0-2147483647"/>
</constraint>
- <constraintErrorMessage>Interval must be in range 0 to 127</constraintErrorMessage>
+ <constraintErrorMessage>Interval must be in range 0 to 2147483647</constraintErrorMessage>
</properties>
<defaultValue>0</defaultValue>
</leafNode>
@@ -281,6 +270,7 @@
#include <include/qos/mtu.xml.i>
#include <include/qos/class-police-exceed.xml.i>
#include <include/qos/class-match.xml.i>
+ #include <include/qos/class-match-group.xml.i>
#include <include/qos/class-priority.xml.i>
<leafNode name="priority">
<defaultValue>20</defaultValue>
@@ -415,6 +405,7 @@
#include <include/qos/flows.xml.i>
#include <include/qos/interval.xml.i>
#include <include/qos/class-match.xml.i>
+ #include <include/qos/class-match-group.xml.i>
#include <include/qos/queue-limit-1-4294967295.xml.i>
#include <include/qos/queue-type.xml.i>
<leafNode name="queue-type">
@@ -542,6 +533,8 @@
#include <include/qos/flows.xml.i>
#include <include/qos/interval.xml.i>
#include <include/qos/class-match.xml.i>
+ #include <include/qos/class-match-group.xml.i>
+
<leafNode name="quantum">
<properties>
<help>Packet scheduling quantum</help>
@@ -645,6 +638,7 @@
#include <include/qos/flows.xml.i>
#include <include/qos/interval.xml.i>
#include <include/qos/class-match.xml.i>
+ #include <include/qos/class-match-group.xml.i>
#include <include/qos/class-priority.xml.i>
#include <include/qos/queue-average-packet.xml.i>
#include <include/qos/queue-maximum-threshold.xml.i>
@@ -767,6 +761,7 @@
</children>
</node>
#include <include/qos/class-match.xml.i>
+ #include <include/qos/class-match-group.xml.i>
<node name="realtime">
<properties>
<help>Realtime class settings</help>
@@ -830,6 +825,39 @@
</tagNode>
</children>
</node>
+ <tagNode name="traffic-match-group">
+ <properties>
+ <help>Filter group for QoS policy</help>
+ <valueHelp>
+ <format>txt</format>
+ <description>Match group name</description>
+ </valueHelp>
+ <constraint>
+ <regex>[^-].*</regex>
+ </constraint>
+ <constraintErrorMessage>Match group name cannot start with hyphen</constraintErrorMessage>
+ </properties>
+ <children>
+ #include <include/generic-description.xml.i>
+ <tagNode name="match">
+ <properties>
+ <help>Class matching rule name</help>
+ <constraint>
+ <regex>[^-].*</regex>
+ </constraint>
+ <constraintErrorMessage>Match queue name cannot start with hyphen</constraintErrorMessage>
+ </properties>
+ <children>
+ #include <include/generic-description.xml.i>
+ #include <include/qos/class-match-ipv4.xml.i>
+ #include <include/qos/class-match-ipv6.xml.i>
+ #include <include/qos/class-match-mark.xml.i>
+ #include <include/qos/class-match-vif.xml.i>
+ </children>
+ </tagNode>
+ #include <include/qos/class-match-group.xml.i>
+ </children>
+ </tagNode>
</children>
</node>
</interfaceDefinition>