From 87794a3d5ddb55af9cc298ec97b2892918e657d4 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen.hemminger@vyatta.com>
Date: Sat, 23 May 2009 08:57:19 -0700
Subject: Reimplementation of WRED

Make a simpler version of WRED that acts more like Cisco.
Use Diffserv on Linux paper for example of how to use DSMARK and GRED
to achieve similar result.
---
 templates/qos-policy/random-detect/node.def            |  8 ++++++++
 .../random-detect/node.tag/bandwidth/node.def          | 11 +++++++++++
 .../random-detect/node.tag/description/node.def        |  2 ++
 .../random-detect/node.tag/precedence/node.def         |  6 ++++++
 .../precedence/node.tag/mark-probability/node.def      |  5 +++++
 .../precedence/node.tag/maximum-threshold/node.def     |  5 +++++
 .../precedence/node.tag/minimum-threshold/node.def     |  5 +++++
 templates/qos-policy/weighted-random/node.def          |  8 --------
 .../weighted-random/node.tag/bandwidth/node.def        | 11 -----------
 .../qos-policy/weighted-random/node.tag/class/node.def |  6 ------
 .../node.tag/class/node.tag/bandwidth/node.def         | 10 ----------
 .../node.tag/class/node.tag/burst/node.def             |  7 -------
 .../node.tag/class/node.tag/description/node.def       |  2 --
 .../node.tag/class/node.tag/latency/node.def           |  8 --------
 .../node.tag/class/node.tag/match/node.def             |  4 ----
 .../class/node.tag/match/node.tag/description/node.def |  2 --
 .../node.tag/match/node.tag/ether/destination/node.def |  2 --
 .../node.tag/match/node.tag/ether/protocol/node.def    |  3 ---
 .../node.tag/match/node.tag/ether/source/node.def      |  2 --
 .../class/node.tag/match/node.tag/interface/node.def   |  7 -------
 .../match/node.tag/ip/destination/address/node.def     |  2 --
 .../node.tag/match/node.tag/ip/destination/node.def    |  1 -
 .../match/node.tag/ip/destination/port/node.def        |  3 ---
 .../class/node.tag/match/node.tag/ip/dscp/node.def     | 18 ------------------
 .../class/node.tag/match/node.tag/ip/protocol/node.def | 17 -----------------
 .../node.tag/match/node.tag/ip/source/address/node.def |  2 --
 .../class/node.tag/match/node.tag/ip/source/node.def   |  1 -
 .../node.tag/match/node.tag/ip/source/port/node.def    |  3 ---
 .../match/node.tag/ipv6/destination/address/node.def   |  2 --
 .../node.tag/match/node.tag/ipv6/destination/node.def  |  1 -
 .../match/node.tag/ipv6/destination/port/node.def      |  3 ---
 .../class/node.tag/match/node.tag/ipv6/dscp/node.def   | 18 ------------------
 .../node.tag/match/node.tag/ipv6/protocol/node.def     | 17 -----------------
 .../match/node.tag/ipv6/source/address/node.def        |  2 --
 .../class/node.tag/match/node.tag/ipv6/source/node.def |  1 -
 .../node.tag/match/node.tag/ipv6/source/port/node.def  |  3 ---
 .../class/node.tag/match/node.tag/vif/node.def         |  5 -----
 .../node.tag/class/node.tag/packet-length/node.def     |  5 -----
 .../node.tag/class/node.tag/priority/node.def          |  5 -----
 .../node.tag/class/node.tag/queue-limit/node.def       |  2 --
 .../node.tag/default/bandwidth/node.def                | 10 ----------
 .../weighted-random/node.tag/default/burst/node.def    |  7 -------
 .../weighted-random/node.tag/default/latency/node.def  |  8 --------
 .../node.tag/default/packet-length/node.def            |  5 -----
 .../weighted-random/node.tag/default/priority/node.def |  5 -----
 .../node.tag/default/queue-limit/node.def              |  2 --
 .../weighted-random/node.tag/description/node.def      |  2 --
 47 files changed, 42 insertions(+), 222 deletions(-)
 create mode 100644 templates/qos-policy/random-detect/node.def
 create mode 100644 templates/qos-policy/random-detect/node.tag/bandwidth/node.def
 create mode 100644 templates/qos-policy/random-detect/node.tag/description/node.def
 create mode 100644 templates/qos-policy/random-detect/node.tag/precedence/node.def
 create mode 100644 templates/qos-policy/random-detect/node.tag/precedence/node.tag/mark-probability/node.def
 create mode 100644 templates/qos-policy/random-detect/node.tag/precedence/node.tag/maximum-threshold/node.def
 create mode 100644 templates/qos-policy/random-detect/node.tag/precedence/node.tag/minimum-threshold/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/bandwidth/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/bandwidth/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/burst/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/description/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/latency/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/description/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/source/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/interface/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/vif/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/packet-length/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/priority/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/class/node.tag/queue-limit/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/default/bandwidth/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/default/burst/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/default/latency/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/default/packet-length/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/default/priority/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/default/queue-limit/node.def
 delete mode 100644 templates/qos-policy/weighted-random/node.tag/description/node.def

(limited to 'templates')

diff --git a/templates/qos-policy/random-detect/node.def b/templates/qos-policy/random-detect/node.def
new file mode 100644
index 0000000..02911a1
--- /dev/null
+++ b/templates/qos-policy/random-detect/node.def
@@ -0,0 +1,8 @@
+tag:
+type: txt
+help: Set Weighted Random Early Detect policy
+syntax:expression: pattern $VAR(@) "^[[:alnum:]][-_[:alnum:]]*$"
+                   ; "only alpha-numeric policy name allowed"
+create: /opt/vyatta/sbin/vyatta-qos.pl --create-policy "$VAR(.)" "$VAR(@)"
+delete: /opt/vyatta/sbin/vyatta-qos.pl --delete-policy "$VAR(@)"
+end: /opt/vyatta/sbin/vyatta-qos.pl --apply-policy "$VAR(@)"
diff --git a/templates/qos-policy/random-detect/node.tag/bandwidth/node.def b/templates/qos-policy/random-detect/node.tag/bandwidth/node.def
new file mode 100644
index 0000000..76fa6e2
--- /dev/null
+++ b/templates/qos-policy/random-detect/node.tag/bandwidth/node.def
@@ -0,0 +1,11 @@
+type: txt
+help: Set the available bandwidth for this policy
+default: "auto"
+syntax:expression: exec "[[ \"$VAR(@)\" == \"auto\" ]] || \
+	      /opt/vyatta/sbin/vyatta-qos-util.pl --rate \"$VAR(@)\""
+comp_help: Allowed values:
+ auto              Set bandwidth based on interface speed (default)
+ <number>          Bandwidth in Kbps
+ <number><suffix>  Value with scaling suffix
+                   bits per sec (kbit, mbit, gbit)
+                   bytes per sec (kbps, mbps, gbps)
diff --git a/templates/qos-policy/random-detect/node.tag/description/node.def b/templates/qos-policy/random-detect/node.tag/description/node.def
new file mode 100644
index 0000000..1e8e64f
--- /dev/null
+++ b/templates/qos-policy/random-detect/node.tag/description/node.def
@@ -0,0 +1,2 @@
+type: txt
+help: Set description for this queuing policy
diff --git a/templates/qos-policy/random-detect/node.tag/precedence/node.def b/templates/qos-policy/random-detect/node.tag/precedence/node.def
new file mode 100644
index 0000000..ac63dd6
--- /dev/null
+++ b/templates/qos-policy/random-detect/node.tag/precedence/node.def
@@ -0,0 +1,6 @@
+tag:
+type: u32
+help: Set precedence values
+syntax:expression: $VAR(@) >= 0 && $VAR(@) < 8; "IP precedence value must be between 0 and 7"
+comp_help: possible completions
+ <0-7> IP precedence number
diff --git a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/mark-probability/node.def b/templates/qos-policy/random-detect/node.tag/precedence/node.tag/mark-probability/node.def
new file mode 100644
index 0000000..8ce98a6
--- /dev/null
+++ b/templates/qos-policy/random-detect/node.tag/precedence/node.tag/mark-probability/node.def
@@ -0,0 +1,5 @@
+type: u32
+help: Set the mark probability for this precedence
+syntax:expression: $VAR(@) >= 0 ; "Mark probability must be greater than 0"
+comp_help: Allowed values:
+ <number>          Numeric value ( 1 / N )
diff --git a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/maximum-threshold/node.def b/templates/qos-policy/random-detect/node.tag/precedence/node.tag/maximum-threshold/node.def
new file mode 100644
index 0000000..3032d80
--- /dev/null
+++ b/templates/qos-policy/random-detect/node.tag/precedence/node.tag/maximum-threshold/node.def
@@ -0,0 +1,5 @@
+type: u32
+help: Set the maximum threshold for random detection
+syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 4096; "Threshold must be between 0 and 4096"
+comp_help: Allowed values:
+  <number>	  Threshold in packets
diff --git a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/minimum-threshold/node.def b/templates/qos-policy/random-detect/node.tag/precedence/node.tag/minimum-threshold/node.def
new file mode 100644
index 0000000..fe86423
--- /dev/null
+++ b/templates/qos-policy/random-detect/node.tag/precedence/node.tag/minimum-threshold/node.def
@@ -0,0 +1,5 @@
+type: u32
+help: Set the minimum threshold for random detection
+syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 4096; "Threshold must be between 0 and 4096"
+comp_help: Allowed values:
+  <number>	  Threshold in packets
diff --git a/templates/qos-policy/weighted-random/node.def b/templates/qos-policy/weighted-random/node.def
deleted file mode 100644
index 02911a1..0000000
--- a/templates/qos-policy/weighted-random/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-tag:
-type: txt
-help: Set Weighted Random Early Detect policy
-syntax:expression: pattern $VAR(@) "^[[:alnum:]][-_[:alnum:]]*$"
-                   ; "only alpha-numeric policy name allowed"
-create: /opt/vyatta/sbin/vyatta-qos.pl --create-policy "$VAR(.)" "$VAR(@)"
-delete: /opt/vyatta/sbin/vyatta-qos.pl --delete-policy "$VAR(@)"
-end: /opt/vyatta/sbin/vyatta-qos.pl --apply-policy "$VAR(@)"
diff --git a/templates/qos-policy/weighted-random/node.tag/bandwidth/node.def b/templates/qos-policy/weighted-random/node.tag/bandwidth/node.def
deleted file mode 100644
index 76fa6e2..0000000
--- a/templates/qos-policy/weighted-random/node.tag/bandwidth/node.def
+++ /dev/null
@@ -1,11 +0,0 @@
-type: txt
-help: Set the available bandwidth for this policy
-default: "auto"
-syntax:expression: exec "[[ \"$VAR(@)\" == \"auto\" ]] || \
-	      /opt/vyatta/sbin/vyatta-qos-util.pl --rate \"$VAR(@)\""
-comp_help: Allowed values:
- auto              Set bandwidth based on interface speed (default)
- <number>          Bandwidth in Kbps
- <number><suffix>  Value with scaling suffix
-                   bits per sec (kbit, mbit, gbit)
-                   bytes per sec (kbps, mbps, gbps)
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.def
deleted file mode 100644
index ae4177d..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-tag:
-type: u32
-help: Set class handle
-syntax:expression: $VAR(@) >= 1 && $VAR(@) < 16; "Class identifier must be between 1 and 15"
-comp_help: possible completions
- <1-15>	Class ID
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/bandwidth/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/bandwidth/node.def
deleted file mode 100644
index 6f15037..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/bandwidth/node.def
+++ /dev/null
@@ -1,10 +0,0 @@
-type: txt
-default: "100%"
-help: Set the bandwidth used for this class
-syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --percent-or-rate \"$VAR(@)\""
-comp_help: Allowed values:
- <number>          Bandwidth in Kbps
- <number>%%        Percentage of overall rate (default 100%%)
- <number><suffix>  Value with scaling suffix
-                   bits per sec (kbit, mbit, gbit)
-                   bytes per sec (kbps, mbps, gbps)
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/burst/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/burst/node.def
deleted file mode 100644
index 54ae4f3..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/burst/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: txt
-help: Set the burst size for this class (default: 15kb)
-default: "15k"
-syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --burst \"$VAR(@)\""
-comp_help: Allowed values:
- <number>		Burst size in bytes
- <number><suffix>	Size with scaling suffix (kb, mb, gb)
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/description/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/description/node.def
deleted file mode 100644
index d4241e7..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/description/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: txt
-help: Set description for this traffic class
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/latency/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/latency/node.def
deleted file mode 100644
index 97501c5..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/latency/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-help: Set maximum desired latency
-default: "100ms"
-syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --time \"$VAR(@)\""
-comp_help: Define maximum desired latency in milliseconds
-  <number>         Latency in milliseconds
-  <number><suffix> Time with suffx (secs, ms, us)
-
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.def
deleted file mode 100644
index 2a5d021..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-tag:
-type: txt
-syntax:expression: pattern $VAR(@) "^[^-]" ; "Match queue name cannot start with \"-\""
-help: Set class matching rule name
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/description/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/description/node.def
deleted file mode 100644
index a56c59c..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/description/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: txt
-help: Set description for this match
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/destination/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
deleted file mode 100644
index e8be347..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: macaddr
-help: Set the Ethernet destination address for this match
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
deleted file mode 100644
index 05d6511..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: u32
-help: Set Ethernet protocol for this match
-syntax:expression: ($VAR(@) >= 0 && $VAR(@) < 65536) ; "protocol must be between 0 and 65535"
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/source/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/source/node.def
deleted file mode 100644
index b993af6..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ether/source/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: macaddr
-help: Set the Ethernet source address for this match
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/interface/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/interface/node.def
deleted file mode 100644
index bb0c1e3..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/interface/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: txt
-help: Set interface name for this match
-syntax:expression: exec "[ -f /sys/class/net/$VAR(@)/ifindex ]" ; "Interface must already exist"
-allowed: local -a array
-	 array=( /sys/class/net/* )
-         echo -n ${array[@]##*/}
-
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
deleted file mode 100644
index ccd2d14..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4net
-help: Set IP destination address for this match
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
deleted file mode 100644
index 54eef5b..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Match on destination port or address
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
deleted file mode 100644
index 561899c..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: u32
-help: Set IP destination port for this match
-syntax:expression: ($VAR(@) > 0 && $VAR(@) < 65536) ; "port must be between 1 and 65535"
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def
deleted file mode 100644
index 4f3f18e..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def
+++ /dev/null
@@ -1,18 +0,0 @@
-type: txt
-help: Match on Differentiated Services Codepoint (DSCP)
-syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --dscp \"$VAR(@)\""
-allowed: awk '
-	/^#/ { next }
-	     { printf "%s ", $2 }' </etc/iproute2/rt_dsfield
-comp_help: <0-63> Differentiated Services Codepoint (DSCP) value
-    default  		match DSCP (000000)
-    reliability		match DSCP (000001)
-    throughput		match DSCP (000010)
-    lowdelay		match DSCP (000100)
-    priority		match DSCP (001000)
-    immediate		match DSCP (010000)
-    flash       	match DSCP (011000)
-    flash-override 	match DSCP (100000)
-    critical 		match DSCP (101000)
-    internet		match DSCP (110000)
-    network		match DSCP (111000)
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
deleted file mode 100644
index 1938d04..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
+++ /dev/null
@@ -1,17 +0,0 @@
-type: txt
-help: Match IP protocol name or number
-syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --protocol \"$VAR(@)\"" 
-allowed: awk '
-	/^#/ { next }
-	     { printf "%s ", $1 }' </etc/protocols
-comp_help: <0-255> IP protocol value or name
-Common names:
-	icmp	 Internet Control Message Protocol
-	igmp	 Internet Group Management Protocol
-	ggp	 Gateway-Gateway protocol
-	tcp	 Transmission Control Protocol
-	egp	 Exterior Gateway Protocol
-	udp	 User Datagram Protocol
-	gre	 General Routing Encapsulation
-	ospf	 Open Shortest Path First IGP
-	sctp	 Stream Control Transmission Protocol
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
deleted file mode 100644
index 0bc690a..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4net
-help: Set IP source address for this match
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/node.def
deleted file mode 100644
index 4271b94..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Match on source port or address
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
deleted file mode 100644
index ecd96ab..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: u32
-help: Set IP source port for this match
-syntax:expression: ($VAR(@) > 0 && $VAR(@) < 65536) ; "port must be between 1 and 65535"
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
deleted file mode 100644
index 2f608f8..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv6net
-help: Set IP destination address for this match
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
deleted file mode 100644
index 54eef5b..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Match on destination port or address
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
deleted file mode 100644
index 561899c..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: u32
-help: Set IP destination port for this match
-syntax:expression: ($VAR(@) > 0 && $VAR(@) < 65536) ; "port must be between 1 and 65535"
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def
deleted file mode 100644
index 4f3f18e..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def
+++ /dev/null
@@ -1,18 +0,0 @@
-type: txt
-help: Match on Differentiated Services Codepoint (DSCP)
-syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --dscp \"$VAR(@)\""
-allowed: awk '
-	/^#/ { next }
-	     { printf "%s ", $2 }' </etc/iproute2/rt_dsfield
-comp_help: <0-63> Differentiated Services Codepoint (DSCP) value
-    default  		match DSCP (000000)
-    reliability		match DSCP (000001)
-    throughput		match DSCP (000010)
-    lowdelay		match DSCP (000100)
-    priority		match DSCP (001000)
-    immediate		match DSCP (010000)
-    flash       	match DSCP (011000)
-    flash-override 	match DSCP (100000)
-    critical 		match DSCP (101000)
-    internet		match DSCP (110000)
-    network		match DSCP (111000)
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
deleted file mode 100644
index 1938d04..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
+++ /dev/null
@@ -1,17 +0,0 @@
-type: txt
-help: Match IP protocol name or number
-syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --protocol \"$VAR(@)\"" 
-allowed: awk '
-	/^#/ { next }
-	     { printf "%s ", $1 }' </etc/protocols
-comp_help: <0-255> IP protocol value or name
-Common names:
-	icmp	 Internet Control Message Protocol
-	igmp	 Internet Group Management Protocol
-	ggp	 Gateway-Gateway protocol
-	tcp	 Transmission Control Protocol
-	egp	 Exterior Gateway Protocol
-	udp	 User Datagram Protocol
-	gre	 General Routing Encapsulation
-	ospf	 Open Shortest Path First IGP
-	sctp	 Stream Control Transmission Protocol
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
deleted file mode 100644
index 23c96c2..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv6net
-help: Set IP source address for this match
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
deleted file mode 100644
index 4271b94..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Match on source port or address
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
deleted file mode 100644
index ecd96ab..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: u32
-help: Set IP source port for this match
-syntax:expression: ($VAR(@) > 0 && $VAR(@) < 65536) ; "port must be between 1 and 65535"
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/vif/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/vif/node.def
deleted file mode 100644
index e22250d..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/match/node.tag/vif/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: u32
-help: Set Virtual Local Area Network (VLAN) ID for this match
-syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 4095; "VLAN ID must be between 0 and 4095"
-comp_help: possible completions:
- <0-4095>           Set VLAN ID
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/packet-length/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/packet-length/node.def
deleted file mode 100644
index 60e4f35..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/packet-length/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: u32
-help: Set average packet length
-default: 1024
-comp_help: Define average packet length in bytes for bandwidth calculation
-   (default 1024)
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/priority/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/priority/node.def
deleted file mode 100644
index db3f1ec..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/priority/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: u32
-help: Set priority 
-syntax:expression: $VAR(@) >= 0 && $VAR(@) < 8 ; "priority must be between 0 than 7"
-comp_help: Priority
- <0-7> (default 0)
diff --git a/templates/qos-policy/weighted-random/node.tag/class/node.tag/queue-limit/node.def b/templates/qos-policy/weighted-random/node.tag/class/node.tag/queue-limit/node.def
deleted file mode 100644
index 49c47b4..0000000
--- a/templates/qos-policy/weighted-random/node.tag/class/node.tag/queue-limit/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: u32
-help: Set maximum queue size (packets)
diff --git a/templates/qos-policy/weighted-random/node.tag/default/bandwidth/node.def b/templates/qos-policy/weighted-random/node.tag/default/bandwidth/node.def
deleted file mode 100644
index 4d454d4..0000000
--- a/templates/qos-policy/weighted-random/node.tag/default/bandwidth/node.def
+++ /dev/null
@@ -1,10 +0,0 @@
-type: txt
-help: Set the bandwidth used for default traffic
-syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --percent-or-rate \"$VAR(@)\""
-comp_help: Allowed values:
- <number>	   Bandwidth in Kbps per second
- <number>%%        Percentage of overall rate
- <number><suffix>  Value with scaling suffix
-                   bits per sec (kbit, mbit, gbit)
-                   bytes per sec (kbps, mbps, gbps)
-
diff --git a/templates/qos-policy/weighted-random/node.tag/default/burst/node.def b/templates/qos-policy/weighted-random/node.tag/default/burst/node.def
deleted file mode 100644
index 81e468a..0000000
--- a/templates/qos-policy/weighted-random/node.tag/default/burst/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: txt
-help: Set the burst size for default traffic
-default: "15k"
-syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --burst \"$VAR(@)\""
-comp_help: Allowed values:
- <number>		Burst size in bytes
- <number><suffix>	Size with scaling suffix (kb, mb, gb)
diff --git a/templates/qos-policy/weighted-random/node.tag/default/latency/node.def b/templates/qos-policy/weighted-random/node.tag/default/latency/node.def
deleted file mode 100644
index 97501c5..0000000
--- a/templates/qos-policy/weighted-random/node.tag/default/latency/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-help: Set maximum desired latency
-default: "100ms"
-syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --time \"$VAR(@)\""
-comp_help: Define maximum desired latency in milliseconds
-  <number>         Latency in milliseconds
-  <number><suffix> Time with suffx (secs, ms, us)
-
diff --git a/templates/qos-policy/weighted-random/node.tag/default/packet-length/node.def b/templates/qos-policy/weighted-random/node.tag/default/packet-length/node.def
deleted file mode 100644
index 60e4f35..0000000
--- a/templates/qos-policy/weighted-random/node.tag/default/packet-length/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: u32
-help: Set average packet length
-default: 1024
-comp_help: Define average packet length in bytes for bandwidth calculation
-   (default 1024)
diff --git a/templates/qos-policy/weighted-random/node.tag/default/priority/node.def b/templates/qos-policy/weighted-random/node.tag/default/priority/node.def
deleted file mode 100644
index db3f1ec..0000000
--- a/templates/qos-policy/weighted-random/node.tag/default/priority/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: u32
-help: Set priority 
-syntax:expression: $VAR(@) >= 0 && $VAR(@) < 8 ; "priority must be between 0 than 7"
-comp_help: Priority
- <0-7> (default 0)
diff --git a/templates/qos-policy/weighted-random/node.tag/default/queue-limit/node.def b/templates/qos-policy/weighted-random/node.tag/default/queue-limit/node.def
deleted file mode 100644
index 49c47b4..0000000
--- a/templates/qos-policy/weighted-random/node.tag/default/queue-limit/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: u32
-help: Set maximum queue size (packets)
diff --git a/templates/qos-policy/weighted-random/node.tag/description/node.def b/templates/qos-policy/weighted-random/node.tag/description/node.def
deleted file mode 100644
index 1e8e64f..0000000
--- a/templates/qos-policy/weighted-random/node.tag/description/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: txt
-help: Set description for this queuing policy
-- 
cgit v1.2.3