summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2015-03-25 23:11:09 +0500
committerDaniil Baturin <daniil@baturin.org>2015-03-25 23:11:09 +0500
commit6ac211677f1053d1b79c00f102202942c5878445 (patch)
treedf41940b413c2f45f43cd9cbd8c0179d1395d2f1
parente89ecdf103790bde37737377e04b867771aad5f9 (diff)
parent0ca79b8de754d36f4c666a51ca321f7186ca7110 (diff)
downloadvyatta-cfg-qos-6ac211677f1053d1b79c00f102202942c5878445.tar.gz
vyatta-cfg-qos-6ac211677f1053d1b79c00f102202942c5878445.zip
Merge pull request #3 from kouak/u32match
Bug #513 : TCP SYN, TCP ACK, max-len matching
-rw-r--r--Makefile.am1
-rwxr-xr-xgen-interface-templates.pl2
-rwxr-xr-xgen-qos-match-templates.pl76
-rw-r--r--lib/Vyatta/Qos/Match.pm47
-rw-r--r--templates-skeleton/interface-templates/redirect/node.def (renamed from interface-templates/redirect/node.def)0
-rw-r--r--templates-skeleton/interface-templates/traffic-policy/in/node.def (renamed from interface-templates/traffic-policy/in/node.def)0
-rw-r--r--templates-skeleton/interface-templates/traffic-policy/node.def (renamed from interface-templates/traffic-policy/node.def)0
-rw-r--r--templates-skeleton/interface-templates/traffic-policy/out/node.def (renamed from interface-templates/traffic-policy/out/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/description/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/description/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/destination/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/destination/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/protocol/node.def (renamed from templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/source/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/source/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/interface/node.def (renamed from templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/interface/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/destination/address/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/destination/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/destination/port/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/dscp/node.def (renamed from templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/max-length/node.def5
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/protocol/node.def (renamed from templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/source/address/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/source/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/source/port/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/ack/node.def1
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/node.def1
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/syn/node.def1
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/destination/address/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/destination/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/destination/port/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/dscp/node.def (renamed from templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/max-length/node.def5
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/protocol/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/source/address/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/source/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/source/port/node.def (renamed from templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/ack/node.def1
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/node.def1
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/syn/node.def1
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/mark/node.def (renamed from templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/mark/node.def)0
-rw-r--r--templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/vif/node.def (renamed from templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/vif/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def14
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def19
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def19
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def17
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/vif/node.def5
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.def4
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/description/node.def2
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/destination/node.def2
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/node.def1
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/source/node.def2
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def2
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/node.def1
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def5
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/node.def2
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def2
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/node.def1
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def6
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def2
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def1
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def5
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/node.def1
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def16
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def2
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def1
-rw-r--r--templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def6
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.def4
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/description/node.def2
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/destination/node.def2
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/node.def1
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def14
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/source/node.def2
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/interface/node.def7
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def2
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/node.def1
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def5
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def18
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/node.def2
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def16
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def2
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/node.def1
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def6
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def2
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def1
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def5
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def18
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/node.def1
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def16
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def2
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def1
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def6
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/mark/node.def2
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/vif/node.def5
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.def4
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/description/node.def2
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/destination/node.def2
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/node.def1
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def15
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/source/node.def2
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/interface/node.def7
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def2
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/node.def1
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def5
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def18
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/node.def2
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def16
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def2
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/node.def1
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def6
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def2
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def1
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def5
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def18
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/node.def1
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def16
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def2
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def1
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def6
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/mark/node.def2
-rw-r--r--templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/vif/node.def5
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.def4
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/description/node.def2
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/destination/node.def2
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/node.def1
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def15
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/source/node.def2
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/interface/node.def7
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def2
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/node.def1
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def5
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def18
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/node.def2
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def16
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def2
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/node.def1
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def6
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def2
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def1
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def5
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def18
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/node.def1
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def16
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def2
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def1
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def6
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/mark/node.def2
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/vif/node.def5
149 files changed, 139 insertions, 575 deletions
diff --git a/Makefile.am b/Makefile.am
index 2f83537..c18e814 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -34,6 +34,7 @@ cpiop = find . ! -regex '\(.*~\|.*\.bak\|.*\.swp\|.*\#.*\#\)' -print0 | \
all-local:
rm -rf $(gentmpdir)
./gen-interface-templates.pl $(gentmpdir)
+ ./gen-qos-match-templates.pl $(gentmpdir)
clean-local:
rm -rf $(gentmpdir)
diff --git a/gen-interface-templates.pl b/gen-interface-templates.pl
index 9c9c4d9..879303e 100755
--- a/gen-interface-templates.pl
+++ b/gen-interface-templates.pl
@@ -133,7 +133,7 @@ sub mkdir_p {
}
foreach my $if_tree ( keys %interface_hash ) {
- my $inpath = "interface-templates";
+ my $inpath = "templates-skeleton/interface-templates";
my $outpath = "$outdir/interfaces/$if_tree";
( -d $outpath )
or mkdir_p($outpath)
diff --git a/gen-qos-match-templates.pl b/gen-qos-match-templates.pl
new file mode 100755
index 0000000..bd2a640
--- /dev/null
+++ b/gen-qos-match-templates.pl
@@ -0,0 +1,76 @@
+#!/usr/bin/perl
+#
+# **** License ****
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# This code was originally developed by Vyatta, Inc.
+# Portions created by Vyatta are Copyright (C) 2009 Vyatta, Inc.
+# All Rights Reserved.
+#
+# Author: Stephen Hemminger
+# Date: March 2009
+# Description: Script to automatically generate per-interface qos templates.
+#
+# **** End License ****
+
+use strict;
+use warnings;
+
+# set DEBUG in environment to test script
+my $debug = $ENV{'DEBUG'};
+
+my @qos_array = (
+ 'limiter',
+ 'round-robin',
+ 'shaper-hfsc',
+ 'priority-queue',
+ 'shaper'
+);
+
+sub gen_template {
+ my ( $inpath, $outpath, $qos_tree ) = @_;
+
+ # Open output path
+ print $outpath, "\n" if ($debug);
+ opendir my $d, $inpath
+ or die "Can't open: $inpath:$!";
+
+ print "cp -R $inpath/* $outpath\n";
+ system("cp -R $inpath/* $outpath");
+
+ closedir $d;
+}
+
+die "Usage: $0 output_directory\n" if ( $#ARGV < 0 );
+
+my $outdir = $ARGV[0];
+
+sub mkdir_p {
+ my $path = shift;
+
+ return 1 if ( mkdir($path) );
+
+ my $pos = rindex( $path, "/" );
+ return unless $pos != -1;
+ return unless mkdir_p( substr( $path, 0, $pos ) );
+ return mkdir($path);
+}
+
+# Loop through templates array
+foreach my $qos_tree ( @qos_array ) {
+ my $inpath = "templates-skeleton/qos-match-templates";
+ my $outpath = "$outdir/traffic-policy/$qos_tree/node.tag";
+ ( -d $outpath )
+ or mkdir_p($outpath)
+ or die "Can't create $outpath:$!";
+
+ gen_template( $inpath, $outpath, $qos_tree );
+
+}
diff --git a/lib/Vyatta/Qos/Match.pm b/lib/Vyatta/Qos/Match.pm
index 176748c..c8078b6 100644
--- a/lib/Vyatta/Qos/Match.pm
+++ b/lib/Vyatta/Qos/Match.pm
@@ -67,13 +67,25 @@ sub new {
my $dst = $config->returnValue("$af destination address");
my $sport = $config->returnValue("$af source port");
my $dport = $config->returnValue("$af destination port");
-
+ my $maxlen = $config->returnValue("$af max-length");
+ my $tcpsyn = $config->exists("$af tcp syn");
+ my $tcpack = $config->exists("$af tcp ack");
+
$fields{dsfield} = getDsfield($dsfield) if $dsfield;
$fields{protocol} = getProtocol($ipprot) if $ipprot;
$fields{src} = $src if $src;
$fields{dst} = $dst if $dst;
$fields{sport} = getPort( $sport, $ipprot ) if $sport;
$fields{dport} = getPort( $dport, $ipprot ) if $dport;
+ $fields{maxlen} = $maxlen if $maxlen;
+ $fields{tcpsyn} = $tcpsyn;
+ $fields{tcpack} = $tcpack;
+
+ # Reject any protocol apart from tcp if tcp syn or tcp ack are set
+ if($tcpsyn or $tcpack) {
+ die "Protocol cannot be different from tcp" if defined $fields{protocol} and $fields{protocol} ne getProtocol('tcp');
+ $fields{protocol} = getProtocol('tcp');
+ }
}
# if the hash is empty then we didn't generate a match rule
@@ -141,7 +153,7 @@ sub filter {
my $type = $$p{protocol};
$type = 'all' unless $type;
- print " protocol $type u32";
+ print " protocol $type u32";
if ( defined( $$p{src} ) || defined( $$p{dst} ) ) {
print " match ether src $$p{src}" if $$p{src};
print " match ether dst $$p{dst}" if $$p{dst};
@@ -166,6 +178,37 @@ sub filter {
print " match $sel sport $$p{sport} 0xffff" if $$p{sport};
print " match $sel dst $$p{dst}" if $$p{dst};
print " match $sel dport $$p{dport} 0xffff" if $$p{dport};
+ # Max Length :
+ # Will match against total length of an IPv4 packet and payload length of an IPv6 packet.
+ # IPv4 : match u16 0x0000 ~MAXLEN at 2
+ # IPv6 : match u16 0x0000 ~MAXLEN at 4
+ if ($$p{maxlen}) {
+ if ( $proto eq 'ip' ) {
+ printf " match u16 0x0000 %#.4x at 2", (hex('0xFFFF') & ~($$p{maxlen}));
+ } elsif ( $proto eq 'ipv6' ) {
+ printf " match u16 0x0000 %#.4x at 4", (hex('0xFFFF') & ~($$p{maxlen}));
+ }
+ }
+ # TCP Flags :
+ # Will match against specific TCP flags
+ # We will assume the IPv4 header length is 20 bytes
+ # We will assume the IPv6 packet is not using extension headers (hence a ip header length of 40 bytes)
+ # TCP Flags are set on byte 13 of the TCP header.
+ # IPv4 : match u8 X X at 33
+ # IPv6 : match u8 X X at 53
+ # with X = 0x02 for SYN and X = 0x10 for ACK
+ if ($$p{tcpsyn} or $$p{tcpack}) {
+ # Let's build the binary mask
+ my $mask = 0;
+ $mask |= 0x02 if $$p{tcpsyn};
+ $mask |= 0x10 if $$p{tcpack};
+
+ if ( $proto eq 'ip' ) {
+ printf " match u8 %#.2x %#.2x at 33", $mask, $mask;
+ } elsif ( $proto eq 'ipv6' ) {
+ printf " match u8 %#.2x %#.2x at 53", $mask, $mask;
+ }
+ }
}
print " match mark $fwmark 0xff" if $fwmark;
diff --git a/interface-templates/redirect/node.def b/templates-skeleton/interface-templates/redirect/node.def
index daff346..daff346 100644
--- a/interface-templates/redirect/node.def
+++ b/templates-skeleton/interface-templates/redirect/node.def
diff --git a/interface-templates/traffic-policy/in/node.def b/templates-skeleton/interface-templates/traffic-policy/in/node.def
index 61cdc0a..61cdc0a 100644
--- a/interface-templates/traffic-policy/in/node.def
+++ b/templates-skeleton/interface-templates/traffic-policy/in/node.def
diff --git a/interface-templates/traffic-policy/node.def b/templates-skeleton/interface-templates/traffic-policy/node.def
index 2b2cf68..2b2cf68 100644
--- a/interface-templates/traffic-policy/node.def
+++ b/templates-skeleton/interface-templates/traffic-policy/node.def
diff --git a/interface-templates/traffic-policy/out/node.def b/templates-skeleton/interface-templates/traffic-policy/out/node.def
index 37eaa5b..37eaa5b 100644
--- a/interface-templates/traffic-policy/out/node.def
+++ b/templates-skeleton/interface-templates/traffic-policy/out/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.def
index cde128f..cde128f 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/description/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/description/node.def
index 903f260..903f260 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/description/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/description/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/destination/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/destination/node.def
index 92fb9a9..92fb9a9 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/destination/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/node.def
index 454c1ed..454c1ed 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/node.def
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/protocol/node.def
index 9da50a6..9da50a6 100644
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/protocol/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/source/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/source/node.def
index 3094167..3094167 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/source/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ether/source/node.def
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/interface/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/interface/node.def
index f12c59c..f12c59c 100644
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/interface/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/interface/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/destination/address/node.def
index 8d02285..8d02285 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/destination/address/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/destination/node.def
index 54eef5b..54eef5b 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/destination/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/destination/port/node.def
index fc85c5f..fc85c5f 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/destination/port/node.def
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/dscp/node.def
index 224b002..224b002 100644
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/dscp/node.def
diff --git a/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/max-length/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/max-length/node.def
new file mode 100644
index 0000000..35bc356
--- /dev/null
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/max-length/node.def
@@ -0,0 +1,5 @@
+type: u32
+help: Maximum packet length (ipv4)
+syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 65535; \
+ "Maximum IPv4 total packet length is 65535"
+val_help: u32:0-65535; Maximum packet/payload length
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/node.def
index 517dc71..517dc71 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/node.def
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/protocol/node.def
index b0ef59f..b0ef59f 100644
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/protocol/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/source/address/node.def
index 6053344..6053344 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/source/address/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/source/node.def
index 4271b94..4271b94 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/source/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/source/port/node.def
index 6d211d1..6d211d1 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/source/port/node.def
diff --git a/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/ack/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/ack/node.def
new file mode 100644
index 0000000..8ba48e0
--- /dev/null
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/ack/node.def
@@ -0,0 +1 @@
+help: Match TCP ACK
diff --git a/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/node.def
new file mode 100644
index 0000000..983f832
--- /dev/null
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/node.def
@@ -0,0 +1 @@
+help: TCP Flags matching
diff --git a/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/syn/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/syn/node.def
new file mode 100644
index 0000000..f6b37dc
--- /dev/null
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ip/tcp/syn/node.def
@@ -0,0 +1 @@
+help: Match TCP SYN
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/destination/address/node.def
index 3fbbc31..3fbbc31 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/destination/address/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/destination/node.def
index 54eef5b..54eef5b 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/destination/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/destination/port/node.def
index fc85c5f..fc85c5f 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/destination/port/node.def
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/dscp/node.def
index 224b002..224b002 100644
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/dscp/node.def
diff --git a/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/max-length/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/max-length/node.def
new file mode 100644
index 0000000..8e4416f
--- /dev/null
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/max-length/node.def
@@ -0,0 +1,5 @@
+type: u32
+help: Maximum payload length
+syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 65535; \
+ "Maximum payload length must be >= 0 and < 65535"
+val_help: u32:0-65535; Maximum packet/payload length
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/node.def
index 8ff47bb..8ff47bb 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/protocol/node.def
index 355c6a6..355c6a6 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/protocol/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/source/address/node.def
index 9071a74..9071a74 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/source/address/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/source/node.def
index 4271b94..4271b94 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/source/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/source/port/node.def
index 6d211d1..6d211d1 100644
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/source/port/node.def
diff --git a/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/ack/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/ack/node.def
new file mode 100644
index 0000000..8ba48e0
--- /dev/null
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/ack/node.def
@@ -0,0 +1 @@
+help: Match TCP ACK
diff --git a/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/node.def
new file mode 100644
index 0000000..983f832
--- /dev/null
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/node.def
@@ -0,0 +1 @@
+help: TCP Flags matching
diff --git a/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/syn/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/syn/node.def
new file mode 100644
index 0000000..f6b37dc
--- /dev/null
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/ipv6/tcp/syn/node.def
@@ -0,0 +1 @@
+help: Match TCP SYN
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/mark/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/mark/node.def
index a3a805e..a3a805e 100644
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/mark/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/mark/node.def
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/vif/node.def b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/vif/node.def
index d975074..d975074 100644
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/vif/node.def
+++ b/templates-skeleton/qos-match-templates/class/node.tag/match/node.tag/vif/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
deleted file mode 100644
index ceadb5b..0000000
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
+++ /dev/null
@@ -1,14 +0,0 @@
-type: txt
-help: Ethernet protocol for this match
-allowed: echo \
- all 802.1Q 802_2 802_3 aarp aoe arp atalk \
- dec ip ipv6 ipx lat localtalk rarp snap x25
-val_help: u32:0-65535; Ethernet protocol number
-val_help: txt; Ethernet protocol name
-val_help: all; Any protocol
-val_help: ip; Internet IP (IPv4)
-val_help: _ipv6; Internet IP (IPv6)
-val_help: arp; Address Resolution Protocol
-val_help: atalk; Appletalk
-val_help: ipx; Novell Internet Packet Exchange
-val_help: 802.1Q; 802.1Q VLAN tag
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def
deleted file mode 100644
index c55127c..0000000
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def
+++ /dev/null
@@ -1,19 +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
-
-val_help: u32:0-63;Differentiated Services Codepoint (DSCP) value
-val_help: default; match DSCP (000000)
-val_help: reliability; match; DSCP (000001)
-val_help: throughput; match; DSCP (000010)
-val_help: lowdelay; match; DSCP (000100)
-val_help: priority; match; DSCP (001000)
-val_help: immediate; match; DSCP (010000)
-val_help: flash; match DSCP (011000)
-val_help: flash-override; match DSCP (100000)
-val_help: critical; match DSCP (101000)
-val_help: internet; match; DSCP (110000)
-val_help: network; match; DSCP (111000)
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def
deleted file mode 100644
index f358023..0000000
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def
+++ /dev/null
@@ -1,19 +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
-
-val_help: u32:0-63; Differentiated Services Codepoint (DSCP) value
-val_help: default; match DSCP (000000)
-val_help: reliability; match DSCP (000001)
-val_help: throughput; match DSCP (000010)
-val_help: lowdelay; match DSCP (000100)
-val_help: priority; match DSCP (001000)
-val_help: immediate; match DSCP (010000)
-val_help: flash; match DSCP (011000)
-val_help: flash; -override match DSCP (100000)
-val_help: critical; match DSCP (101000)
-val_help: internet; match DSCP (110000)
-val_help: network; match DSCP (111000)
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
deleted file mode 100644
index 66451c8..0000000
--- a/templates/traffic-policy/limiter/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
-
-val_help: u32:0-255; IP protocol value
-val_help: icmp; Internet Control Message Protocol
-val_help: igmp; Internet Group Management Protocol
-val_help: ggp; Gateway-Gateway protocol
-val_help: tcp; Transmission Control Protocol
-val_help: egp; Exterior Gateway Protocol
-val_help: udp; User Datagram Protocol
-val_help: gre; General Routing Encapsulation
-val_help: ospf; Open Shortest Path First IGP
-val_help: sctp; Stream Control Transmission Protocol
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/vif/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/vif/node.def
deleted file mode 100644
index be93225..0000000
--- a/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/vif/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: u32
-help: Virtual Local Area Network (VLAN) ID for this match
-syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 4095; "VLAN ID must be between 0 and 4095"
-
-val_help: u32:0-4095; Virtual Local Area Network (VLAN) tag
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.def
deleted file mode 100644
index cde128f..0000000
--- a/templates/traffic-policy/priority-queue/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: Class matching rule name
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/description/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/description/node.def
deleted file mode 100644
index 903f260..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/description/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: txt
-help: Description for this match
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/destination/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
deleted file mode 100644
index 92fb9a9..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: macaddr
-help: Ethernet destination address for this match
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/node.def
deleted file mode 100644
index 454c1ed..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Ethernet header match
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/source/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/source/node.def
deleted file mode 100644
index 3094167..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ether/source/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: macaddr
-help: Ethernet source address for this match
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
deleted file mode 100644
index 8d02285..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4net
-help: IP destination address for this match
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
deleted file mode 100644
index 54eef5b..0000000
--- a/templates/traffic-policy/priority-queue/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/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
deleted file mode 100644
index fc85c5f..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: txt
-help: TCP (or UDP) destination port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/node.def
deleted file mode 100644
index 517dc71..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Match IP protocol header
-
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
deleted file mode 100644
index 6053344..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4net
-help: IP source address for this match
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/node.def
deleted file mode 100644
index 4271b94..0000000
--- a/templates/traffic-policy/priority-queue/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/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
deleted file mode 100644
index 6d211d1..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: TCP (or UDP) source port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
-
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
deleted file mode 100644
index 3fbbc31..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv6net
-help: IP destination address for this match
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
deleted file mode 100644
index 54eef5b..0000000
--- a/templates/traffic-policy/priority-queue/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/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
deleted file mode 100644
index fc85c5f..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: txt
-help: TCP (or UDP) destination port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/node.def
deleted file mode 100644
index 8ff47bb..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Match IPV6 header
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
deleted file mode 100644
index 355c6a6..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
+++ /dev/null
@@ -1,16 +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
-val_help: u32:0-255; IP protocol value
-val_help: icmp; Internet Control Message Protocol
-val_help: igmp; Internet Group Management Protocol
-val_help: ggp; Gateway-Gateway protocol
-val_help: tcp; Transmission Control Protocol
-val_help: egp; Exterior Gateway Protocol
-val_help: udp; User Datagram Protocol
-val_help: gre; General Routing Encapsulation
-val_help: ospf; Open Shortest Path First IGP
-val_help: sctp; Stream Control Transmission Protocol
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
deleted file mode 100644
index 9071a74..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv6net
-help: IP source address for this match
diff --git a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
deleted file mode 100644
index 4271b94..0000000
--- a/templates/traffic-policy/priority-queue/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/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def b/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
deleted file mode 100644
index 6d211d1..0000000
--- a/templates/traffic-policy/priority-queue/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: TCP (or UDP) source port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
-
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.def
deleted file mode 100644
index cde128f..0000000
--- a/templates/traffic-policy/round-robin/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: Class matching rule name
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/description/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/description/node.def
deleted file mode 100644
index 903f260..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/description/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: txt
-help: Description for this match
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/destination/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
deleted file mode 100644
index 92fb9a9..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: macaddr
-help: Ethernet destination address for this match
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/node.def
deleted file mode 100644
index 454c1ed..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Ethernet header match
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
deleted file mode 100644
index ceadb5b..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
+++ /dev/null
@@ -1,14 +0,0 @@
-type: txt
-help: Ethernet protocol for this match
-allowed: echo \
- all 802.1Q 802_2 802_3 aarp aoe arp atalk \
- dec ip ipv6 ipx lat localtalk rarp snap x25
-val_help: u32:0-65535; Ethernet protocol number
-val_help: txt; Ethernet protocol name
-val_help: all; Any protocol
-val_help: ip; Internet IP (IPv4)
-val_help: _ipv6; Internet IP (IPv6)
-val_help: arp; Address Resolution Protocol
-val_help: atalk; Appletalk
-val_help: ipx; Novell Internet Packet Exchange
-val_help: 802.1Q; 802.1Q VLAN tag
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/source/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/source/node.def
deleted file mode 100644
index 3094167..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/source/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: macaddr
-help: Ethernet source address for this match
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/interface/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/interface/node.def
deleted file mode 100644
index f12c59c..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/interface/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: txt
-help: 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/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
deleted file mode 100644
index 8d02285..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4net
-help: IP destination address for this match
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
deleted file mode 100644
index 54eef5b..0000000
--- a/templates/traffic-policy/round-robin/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/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
deleted file mode 100644
index fc85c5f..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: txt
-help: TCP (or UDP) destination port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def
deleted file mode 100644
index 27d880b..0000000
--- a/templates/traffic-policy/round-robin/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
-val_help:u32:0-63;Differentiated Services Codepoint (DSCP) value
-val_help:default; match DSCP (000000)
-val_help:reliability; match; DSCP (000001)
-val_help:throughput; match; DSCP (000010)
-val_help:lowdelay; match; DSCP (000100)
-val_help:priority; match; DSCP (001000)
-val_help:immediate; match; DSCP (010000)
-val_help:flash; match DSCP (011000)
-val_help:flash-override; match DSCP (100000)
-val_help:critical; match DSCP (101000)
-val_help:internet; match; DSCP (110000)
-val_help:network; match; DSCP (111000)
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/node.def
deleted file mode 100644
index 517dc71..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Match IP protocol header
-
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
deleted file mode 100644
index 355c6a6..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
+++ /dev/null
@@ -1,16 +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
-val_help: u32:0-255; IP protocol value
-val_help: icmp; Internet Control Message Protocol
-val_help: igmp; Internet Group Management Protocol
-val_help: ggp; Gateway-Gateway protocol
-val_help: tcp; Transmission Control Protocol
-val_help: egp; Exterior Gateway Protocol
-val_help: udp; User Datagram Protocol
-val_help: gre; General Routing Encapsulation
-val_help: ospf; Open Shortest Path First IGP
-val_help: sctp; Stream Control Transmission Protocol
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
deleted file mode 100644
index 6053344..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4net
-help: IP source address for this match
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/node.def
deleted file mode 100644
index 4271b94..0000000
--- a/templates/traffic-policy/round-robin/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/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
deleted file mode 100644
index 6d211d1..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: TCP (or UDP) source port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
-
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
deleted file mode 100644
index 3fbbc31..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv6net
-help: IP destination address for this match
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
deleted file mode 100644
index 54eef5b..0000000
--- a/templates/traffic-policy/round-robin/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/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
deleted file mode 100644
index fc85c5f..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: txt
-help: TCP (or UDP) destination port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def
deleted file mode 100644
index 224b002..0000000
--- a/templates/traffic-policy/round-robin/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
-val_help: u32:0-63;Differentiated Services Codepoint (DSCP) value
-val_help: default; match DSCP (000000)
-val_help: reliability; match; DSCP (000001)
-val_help: throughput; match; DSCP (000010)
-val_help: lowdelay; match; DSCP (000100)
-val_help: priority; match; DSCP (001000)
-val_help: immediate; match; DSCP (010000)
-val_help: flash; match DSCP (011000)
-val_help: flash-override; match DSCP (100000)
-val_help: critical; match DSCP (101000)
-val_help: internet; match; DSCP (110000)
-val_help: network; match; DSCP (111000)
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/node.def
deleted file mode 100644
index 8ff47bb..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Match IPV6 header
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
deleted file mode 100644
index 355c6a6..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
+++ /dev/null
@@ -1,16 +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
-val_help: u32:0-255; IP protocol value
-val_help: icmp; Internet Control Message Protocol
-val_help: igmp; Internet Group Management Protocol
-val_help: ggp; Gateway-Gateway protocol
-val_help: tcp; Transmission Control Protocol
-val_help: egp; Exterior Gateway Protocol
-val_help: udp; User Datagram Protocol
-val_help: gre; General Routing Encapsulation
-val_help: ospf; Open Shortest Path First IGP
-val_help: sctp; Stream Control Transmission Protocol
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
deleted file mode 100644
index 9071a74..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv6net
-help: IP source address for this match
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
deleted file mode 100644
index 4271b94..0000000
--- a/templates/traffic-policy/round-robin/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/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
deleted file mode 100644
index 6d211d1..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: TCP (or UDP) source port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
-
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/mark/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/mark/node.def
deleted file mode 100644
index a3a805e..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/mark/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: u32
-help: Match on mark applied by firewall
diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/vif/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/vif/node.def
deleted file mode 100644
index 6d9f82f..0000000
--- a/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/vif/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: u32
-help: Virtual Local Area Network (VLAN) ID for this match
-syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 4095; \
- "VLAN ID must be between 0 and 4095"
-val_help: u32:0-4095; Virtual Local Area Network (VLAN) tag
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.def
deleted file mode 100644
index cde128f..0000000
--- a/templates/traffic-policy/shaper-hfsc/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: Class matching rule name
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/description/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/description/node.def
deleted file mode 100644
index 903f260..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/description/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: txt
-help: Description for this match
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/destination/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
deleted file mode 100644
index 92fb9a9..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: macaddr
-help: Ethernet destination address for this match
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/node.def
deleted file mode 100644
index 454c1ed..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Ethernet header match
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
deleted file mode 100644
index 9da50a6..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
+++ /dev/null
@@ -1,15 +0,0 @@
-type: txt
-help: Ethernet protocol for this match
-allowed: echo \
- all 802.1Q 802_2 802_3 aarp aoe arp atalk \
- dec ip ipv6 ipx lat localtalk rarp snap x25
-
-val_help: u32:0-65535; Ethernet protocol number
-val_help: txt; Ethernet protocol name
-val_help: all; Any protocol
-val_help: ip; Internet IP (IPv4)
-val_help: _ipv6; Internet IP (IPv6)
-val_help: arp; Address Resolution Protocol
-val_help: atalk; Appletalk
-val_help: ipx; Novell Internet Packet Exchange
-val_help: 802.1Q; 802.1Q VLAN tag
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/source/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/source/node.def
deleted file mode 100644
index 3094167..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ether/source/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: macaddr
-help: Ethernet source address for this match
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/interface/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/interface/node.def
deleted file mode 100644
index f12c59c..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/interface/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: txt
-help: 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/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
deleted file mode 100644
index 8d02285..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4net
-help: IP destination address for this match
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
deleted file mode 100644
index 54eef5b..0000000
--- a/templates/traffic-policy/shaper-hfsc/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/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
deleted file mode 100644
index fc85c5f..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: txt
-help: TCP (or UDP) destination port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def
deleted file mode 100644
index 224b002..0000000
--- a/templates/traffic-policy/shaper-hfsc/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
-val_help: u32:0-63;Differentiated Services Codepoint (DSCP) value
-val_help: default; match DSCP (000000)
-val_help: reliability; match; DSCP (000001)
-val_help: throughput; match; DSCP (000010)
-val_help: lowdelay; match; DSCP (000100)
-val_help: priority; match; DSCP (001000)
-val_help: immediate; match; DSCP (010000)
-val_help: flash; match DSCP (011000)
-val_help: flash-override; match DSCP (100000)
-val_help: critical; match DSCP (101000)
-val_help: internet; match; DSCP (110000)
-val_help: network; match; DSCP (111000)
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/node.def
deleted file mode 100644
index 517dc71..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Match IP protocol header
-
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
deleted file mode 100644
index b0ef59f..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
+++ /dev/null
@@ -1,16 +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 }
- { if($1 != "ip") printf "%s ", $1 }' </etc/protocols
-val_help: u32:0-255; IP protocol value
-val_help: icmp; Internet Control Message Protocol
-val_help: igmp; Internet Group Management Protocol
-val_help: ggp; Gateway-Gateway protocol
-val_help: tcp; Transmission Control Protocol
-val_help: egp; Exterior Gateway Protocol
-val_help: udp; User Datagram Protocol
-val_help: gre; General Routing Encapsulation
-val_help: ospf; Open Shortest Path First IGP
-val_help: sctp; Stream Control Transmission Protocol
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
deleted file mode 100644
index 6053344..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4net
-help: IP source address for this match
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/node.def
deleted file mode 100644
index 4271b94..0000000
--- a/templates/traffic-policy/shaper-hfsc/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/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
deleted file mode 100644
index 6d211d1..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: TCP (or UDP) source port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
-
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
deleted file mode 100644
index 3fbbc31..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv6net
-help: IP destination address for this match
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
deleted file mode 100644
index 54eef5b..0000000
--- a/templates/traffic-policy/shaper-hfsc/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/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
deleted file mode 100644
index fc85c5f..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: txt
-help: TCP (or UDP) destination port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def
deleted file mode 100644
index 224b002..0000000
--- a/templates/traffic-policy/shaper-hfsc/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
-val_help: u32:0-63;Differentiated Services Codepoint (DSCP) value
-val_help: default; match DSCP (000000)
-val_help: reliability; match; DSCP (000001)
-val_help: throughput; match; DSCP (000010)
-val_help: lowdelay; match; DSCP (000100)
-val_help: priority; match; DSCP (001000)
-val_help: immediate; match; DSCP (010000)
-val_help: flash; match DSCP (011000)
-val_help: flash-override; match DSCP (100000)
-val_help: critical; match DSCP (101000)
-val_help: internet; match; DSCP (110000)
-val_help: network; match; DSCP (111000)
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/node.def
deleted file mode 100644
index 8ff47bb..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Match IPV6 header
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
deleted file mode 100644
index 355c6a6..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
+++ /dev/null
@@ -1,16 +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
-val_help: u32:0-255; IP protocol value
-val_help: icmp; Internet Control Message Protocol
-val_help: igmp; Internet Group Management Protocol
-val_help: ggp; Gateway-Gateway protocol
-val_help: tcp; Transmission Control Protocol
-val_help: egp; Exterior Gateway Protocol
-val_help: udp; User Datagram Protocol
-val_help: gre; General Routing Encapsulation
-val_help: ospf; Open Shortest Path First IGP
-val_help: sctp; Stream Control Transmission Protocol
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
deleted file mode 100644
index 9071a74..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv6net
-help: IP source address for this match
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
deleted file mode 100644
index 4271b94..0000000
--- a/templates/traffic-policy/shaper-hfsc/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/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
deleted file mode 100644
index 6d211d1..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: TCP (or UDP) source port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
-
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/mark/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/mark/node.def
deleted file mode 100644
index a3a805e..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/mark/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: u32
-help: Match on mark applied by firewall
diff --git a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/vif/node.def b/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/vif/node.def
deleted file mode 100644
index d975074..0000000
--- a/templates/traffic-policy/shaper-hfsc/node.tag/class/node.tag/match/node.tag/vif/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: u32
-help: Virtual Local Area Network (VLAN) ID for this match
-syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 4095; \
- "VLAN ID must be between 0 and 4095"
-val_help: u32:0-4095; Virtual Local Area Network (VLAN) tag
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.def
deleted file mode 100644
index cde128f..0000000
--- a/templates/traffic-policy/shaper/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: Class matching rule name
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/description/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/description/node.def
deleted file mode 100644
index 903f260..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/description/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: txt
-help: Description for this match
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/destination/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
deleted file mode 100644
index 92fb9a9..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: macaddr
-help: Ethernet destination address for this match
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/node.def
deleted file mode 100644
index 454c1ed..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Ethernet header match
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
deleted file mode 100644
index 9da50a6..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def
+++ /dev/null
@@ -1,15 +0,0 @@
-type: txt
-help: Ethernet protocol for this match
-allowed: echo \
- all 802.1Q 802_2 802_3 aarp aoe arp atalk \
- dec ip ipv6 ipx lat localtalk rarp snap x25
-
-val_help: u32:0-65535; Ethernet protocol number
-val_help: txt; Ethernet protocol name
-val_help: all; Any protocol
-val_help: ip; Internet IP (IPv4)
-val_help: _ipv6; Internet IP (IPv6)
-val_help: arp; Address Resolution Protocol
-val_help: atalk; Appletalk
-val_help: ipx; Novell Internet Packet Exchange
-val_help: 802.1Q; 802.1Q VLAN tag
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/source/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/source/node.def
deleted file mode 100644
index 3094167..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/source/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: macaddr
-help: Ethernet source address for this match
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/interface/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/interface/node.def
deleted file mode 100644
index f12c59c..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/interface/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: txt
-help: 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/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
deleted file mode 100644
index 8d02285..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4net
-help: IP destination address for this match
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
deleted file mode 100644
index 54eef5b..0000000
--- a/templates/traffic-policy/shaper/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/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
deleted file mode 100644
index fc85c5f..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: txt
-help: TCP (or UDP) destination port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def
deleted file mode 100644
index 224b002..0000000
--- a/templates/traffic-policy/shaper/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
-val_help: u32:0-63;Differentiated Services Codepoint (DSCP) value
-val_help: default; match DSCP (000000)
-val_help: reliability; match; DSCP (000001)
-val_help: throughput; match; DSCP (000010)
-val_help: lowdelay; match; DSCP (000100)
-val_help: priority; match; DSCP (001000)
-val_help: immediate; match; DSCP (010000)
-val_help: flash; match DSCP (011000)
-val_help: flash-override; match DSCP (100000)
-val_help: critical; match DSCP (101000)
-val_help: internet; match; DSCP (110000)
-val_help: network; match; DSCP (111000)
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/node.def
deleted file mode 100644
index 517dc71..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Match IP protocol header
-
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
deleted file mode 100644
index b0ef59f..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
+++ /dev/null
@@ -1,16 +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 }
- { if($1 != "ip") printf "%s ", $1 }' </etc/protocols
-val_help: u32:0-255; IP protocol value
-val_help: icmp; Internet Control Message Protocol
-val_help: igmp; Internet Group Management Protocol
-val_help: ggp; Gateway-Gateway protocol
-val_help: tcp; Transmission Control Protocol
-val_help: egp; Exterior Gateway Protocol
-val_help: udp; User Datagram Protocol
-val_help: gre; General Routing Encapsulation
-val_help: ospf; Open Shortest Path First IGP
-val_help: sctp; Stream Control Transmission Protocol
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
deleted file mode 100644
index 6053344..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4net
-help: IP source address for this match
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/node.def
deleted file mode 100644
index 4271b94..0000000
--- a/templates/traffic-policy/shaper/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/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
deleted file mode 100644
index 6d211d1..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: TCP (or UDP) source port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
-
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
deleted file mode 100644
index 3fbbc31..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv6net
-help: IP destination address for this match
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
deleted file mode 100644
index 54eef5b..0000000
--- a/templates/traffic-policy/shaper/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/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
deleted file mode 100644
index fc85c5f..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: txt
-help: TCP (or UDP) destination port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def
deleted file mode 100644
index 224b002..0000000
--- a/templates/traffic-policy/shaper/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
-val_help: u32:0-63;Differentiated Services Codepoint (DSCP) value
-val_help: default; match DSCP (000000)
-val_help: reliability; match; DSCP (000001)
-val_help: throughput; match; DSCP (000010)
-val_help: lowdelay; match; DSCP (000100)
-val_help: priority; match; DSCP (001000)
-val_help: immediate; match; DSCP (010000)
-val_help: flash; match DSCP (011000)
-val_help: flash-override; match DSCP (100000)
-val_help: critical; match DSCP (101000)
-val_help: internet; match; DSCP (110000)
-val_help: network; match; DSCP (111000)
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/node.def
deleted file mode 100644
index 8ff47bb..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Match IPV6 header
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
deleted file mode 100644
index 355c6a6..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def
+++ /dev/null
@@ -1,16 +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
-val_help: u32:0-255; IP protocol value
-val_help: icmp; Internet Control Message Protocol
-val_help: igmp; Internet Group Management Protocol
-val_help: ggp; Gateway-Gateway protocol
-val_help: tcp; Transmission Control Protocol
-val_help: egp; Exterior Gateway Protocol
-val_help: udp; User Datagram Protocol
-val_help: gre; General Routing Encapsulation
-val_help: ospf; Open Shortest Path First IGP
-val_help: sctp; Stream Control Transmission Protocol
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
deleted file mode 100644
index 9071a74..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv6net
-help: IP source address for this match
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
deleted file mode 100644
index 4271b94..0000000
--- a/templates/traffic-policy/shaper/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/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
deleted file mode 100644
index 6d211d1..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: TCP (or UDP) source port for this match
-
-val_help: u32:1-65535; Numeric IP port
-val_help: txt; Assigned TCP (or UDP) port name
-
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/mark/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/mark/node.def
deleted file mode 100644
index a3a805e..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/mark/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: u32
-help: Match on mark applied by firewall
diff --git a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/vif/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/vif/node.def
deleted file mode 100644
index d975074..0000000
--- a/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/vif/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: u32
-help: Virtual Local Area Network (VLAN) ID for this match
-syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 4095; \
- "VLAN ID must be between 0 and 4095"
-val_help: u32:0-4095; Virtual Local Area Network (VLAN) tag