summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am4
-rw-r--r--interface-templates/input-policy/mirror/node.def3
-rw-r--r--interface-templates/input-policy/node.def4
-rw-r--r--interface-templates/input-policy/redirect/node.def3
-rw-r--r--interface-templates/mirror/node.def15
-rw-r--r--interface-templates/redirect/node.def12
-rw-r--r--interface-templates/traffic-policy/in/node.def (renamed from interface-templates/qos-policy/in/node.def)2
-rw-r--r--interface-templates/traffic-policy/node.def1
-rw-r--r--interface-templates/traffic-policy/out/node.def (renamed from interface-templates/qos-policy/node.def)8
-rw-r--r--lib/Vyatta/Qos/IngressMirror.pm56
-rw-r--r--lib/Vyatta/Qos/IngressRedirect.pm55
-rwxr-xr-xscripts/vyatta-qos.pl213
-rw-r--r--templates/qos-policy/traffic-limiter/node.tag/class/node.def6
-rw-r--r--templates/traffic-policy/drop-tail/node.def (renamed from templates/qos-policy/drop-tail/node.def)0
-rw-r--r--templates/traffic-policy/drop-tail/node.tag/description/node.def (renamed from templates/qos-policy/drop-tail/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/drop-tail/node.tag/queue-limit/node.def (renamed from templates/qos-policy/drop-tail/node.tag/queue-limit/node.def)0
-rw-r--r--templates/traffic-policy/fair-queue/node.def (renamed from templates/qos-policy/fair-queue/node.def)0
-rw-r--r--templates/traffic-policy/fair-queue/node.tag/description/node.def (renamed from templates/qos-policy/fair-queue/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/fair-queue/node.tag/hash-interval/node.def (renamed from templates/qos-policy/fair-queue/node.tag/hash-interval/node.def)0
-rw-r--r--templates/traffic-policy/fair-queue/node.tag/queue-limit/node.def (renamed from templates/qos-policy/fair-queue/node.tag/queue-limit/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.def (renamed from templates/qos-policy/traffic-limiter/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.def6
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/bandwidth/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/bandwidth/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/burst/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/burst/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/description/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/description/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/destination/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/destination/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/source/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/source/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/vif/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/vif/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/class/node.tag/priority/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/priority/node.def)0
-rw-r--r--templates/traffic-policy/limiter/node.tag/description/node.def (renamed from templates/qos-policy/network-emulator/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/network-emulator/node.def (renamed from templates/qos-policy/network-emulator/node.def)0
-rw-r--r--templates/traffic-policy/network-emulator/node.tag/bandwidth/node.def (renamed from templates/qos-policy/network-emulator/node.tag/bandwidth/node.def)0
-rw-r--r--templates/traffic-policy/network-emulator/node.tag/burst/node.def (renamed from templates/qos-policy/network-emulator/node.tag/burst/node.def)0
-rw-r--r--templates/traffic-policy/network-emulator/node.tag/description/node.def (renamed from templates/qos-policy/random-detect/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/network-emulator/node.tag/network-delay/node.def (renamed from templates/qos-policy/network-emulator/node.tag/network-delay/node.def)0
-rw-r--r--templates/traffic-policy/network-emulator/node.tag/packet-corruption/node.def (renamed from templates/qos-policy/network-emulator/node.tag/packet-corruption/node.def)0
-rw-r--r--templates/traffic-policy/network-emulator/node.tag/packet-loss/node.def (renamed from templates/qos-policy/network-emulator/node.tag/packet-loss/node.def)0
-rw-r--r--templates/traffic-policy/network-emulator/node.tag/packet-reordering/node.def (renamed from templates/qos-policy/network-emulator/node.tag/packet-reordering/node.def)0
-rw-r--r--templates/traffic-policy/network-emulator/node.tag/queue-limit/node.def (renamed from templates/qos-policy/network-emulator/node.tag/queue-limit/node.def)0
-rw-r--r--templates/traffic-policy/node.def (renamed from templates/qos-policy/node.def)0
-rw-r--r--templates/traffic-policy/random-detect/node.def (renamed from templates/qos-policy/random-detect/node.def)0
-rw-r--r--templates/traffic-policy/random-detect/node.tag/bandwidth/node.def (renamed from templates/qos-policy/random-detect/node.tag/bandwidth/node.def)0
-rw-r--r--templates/traffic-policy/random-detect/node.tag/description/node.def (renamed from templates/qos-policy/rate-control/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/random-detect/node.tag/precedence/node.def (renamed from templates/qos-policy/random-detect/node.tag/precedence/node.def)0
-rw-r--r--templates/traffic-policy/random-detect/node.tag/precedence/node.tag/average-packet/node.def (renamed from templates/qos-policy/random-detect/node.tag/precedence/node.tag/average-packet/node.def)0
-rw-r--r--templates/traffic-policy/random-detect/node.tag/precedence/node.tag/mark-probability/node.def (renamed from templates/qos-policy/random-detect/node.tag/precedence/node.tag/mark-probability/node.def)0
-rw-r--r--templates/traffic-policy/random-detect/node.tag/precedence/node.tag/maximum-threshold/node.def (renamed from templates/qos-policy/random-detect/node.tag/precedence/node.tag/maximum-threshold/node.def)0
-rw-r--r--templates/traffic-policy/random-detect/node.tag/precedence/node.tag/minimum-threshold/node.def (renamed from templates/qos-policy/random-detect/node.tag/precedence/node.tag/minimum-threshold/node.def)0
-rw-r--r--templates/traffic-policy/random-detect/node.tag/precedence/node.tag/queue-limit/node.def (renamed from templates/qos-policy/random-detect/node.tag/precedence/node.tag/queue-limit/node.def)0
-rw-r--r--templates/traffic-policy/rate-control/node.def (renamed from templates/qos-policy/rate-control/node.def)0
-rw-r--r--templates/traffic-policy/rate-control/node.tag/bandwidth/node.def (renamed from templates/qos-policy/rate-control/node.tag/bandwidth/node.def)0
-rw-r--r--templates/traffic-policy/rate-control/node.tag/burst/node.def (renamed from templates/qos-policy/rate-control/node.tag/burst/node.def)0
-rw-r--r--templates/traffic-policy/rate-control/node.tag/description/node.def (renamed from templates/qos-policy/round-robin/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/rate-control/node.tag/latency/node.def (renamed from templates/qos-policy/rate-control/node.tag/latency/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.def (renamed from templates/qos-policy/round-robin/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/description/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/description/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/destination/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ether/destination/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/source/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ether/source/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/interface/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/interface/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ip/destination/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ip/source/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.tag/vif/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.tag/vif/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/queue-limit/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/queue-limit/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/queue-type/node.def (renamed from templates/qos-policy/round-robin/node.tag/class/node.tag/queue-type/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/default/node.def (renamed from templates/qos-policy/round-robin/node.tag/default/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/default/queue-limit/node.def (renamed from templates/qos-policy/round-robin/node.tag/default/queue-limit/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/default/queue-type/node.def (renamed from templates/qos-policy/round-robin/node.tag/default/queue-type/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/description/node.def (renamed from templates/qos-policy/traffic-limiter/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/quantum/node.def (renamed from templates/qos-policy/round-robin/node.tag/quantum/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.def (renamed from templates/qos-policy/traffic-shaper/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/bandwidth/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/bandwidth/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/bandwidth/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/bandwidth/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/burst/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/burst/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/ceiling/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/ceiling/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/description/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/description/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/description/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/destination/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ether/destination/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ether/protocol/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ether/source/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ether/source/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/interface/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/interface/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ip/destination/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ip/dscp/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ip/source/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.tag/vif/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/vif/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/priority/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/priority/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/queue-limit/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/queue-limit/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/queue-type/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/queue-type/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/class/node.tag/set-dscp/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/class/node.tag/set-dscp/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/default/bandwidth/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/default/bandwidth/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/default/burst/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/default/burst/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/default/ceiling/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/default/ceiling/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/default/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/default/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/default/priority/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/default/priority/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/default/queue-limit/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/default/queue-limit/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/default/queue-type/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/default/queue-type/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/default/set-dscp/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/default/set-dscp/node.def)0
-rw-r--r--templates/traffic-policy/shaper/node.tag/description/node.def (renamed from templates/qos-policy/traffic-shaper/node.tag/description/node.def)0
149 files changed, 129 insertions, 259 deletions
diff --git a/Makefile.am b/Makefile.am
index d0971a8..7ca18c1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,9 +17,7 @@ share_perl5_DATA += lib/Vyatta/Qos/LimiterClass.pm
share_perl5_DATA += lib/Vyatta/Qos/RoundRobin.pm
share_perl5_DATA += lib/Vyatta/Qos/NetworkEmulator.pm
share_perl5_DATA += lib/Vyatta/Qos/RandomDetect.pm
-share_perl5_DATA += lib/Vyatta/Qos/IngressLimit.pm
-share_perl5_DATA += lib/Vyatta/Qos/IngressRedirect.pm
-share_perl5_DATA += lib/Vyatta/Qos/IngressMirror.pm
+share_perl5_DATA += lib/Vyatta/Qos/TrafficLimiter.pm
etcdir = /etc
etc_SCRIPTS =
diff --git a/interface-templates/input-policy/mirror/node.def b/interface-templates/input-policy/mirror/node.def
deleted file mode 100644
index 49fb3df..0000000
--- a/interface-templates/input-policy/mirror/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: txt
-help: Set incoming packet mirroring destination
-allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --show=all
diff --git a/interface-templates/input-policy/node.def b/interface-templates/input-policy/node.def
deleted file mode 100644
index 8062561..0000000
--- a/interface-templates/input-policy/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-help: Set incoming packet policy
-commit:expression:exec "/opt/vyatta/sbin/vyatta-qos.pl --check-ingress $IFNAME"
-end: /opt/vyatta/sbin/vyatta-qos.pl --update-ingress $IFNAME
-
diff --git a/interface-templates/input-policy/redirect/node.def b/interface-templates/input-policy/redirect/node.def
deleted file mode 100644
index 5582d07..0000000
--- a/interface-templates/input-policy/redirect/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: txt
-help: Set incoming packet redirection destination
-allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --show=all
diff --git a/interface-templates/mirror/node.def b/interface-templates/mirror/node.def
new file mode 100644
index 0000000..cbb3bde
--- /dev/null
+++ b/interface-templates/mirror/node.def
@@ -0,0 +1,15 @@
+type: txt
+help: Set incoming packet mirroring destination
+allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --skip=$IFNAME --show=all
+
+syntax: /opt/vyatta/sbin/vyatta-interfaces.pl --dev=$IFNAME --check=all
+
+commit:expression: $VAR(../redirect) == ""; \
+ "interface $VAR(../@) : can not redirect and mirror on $IFNAME"
+
+commit:expression: $VAR(../traffic-policy/in) == ""; \
+ "interface $VAR(../@) : can not use ingress policy and mirror on $IFNAME"
+
+end: /opt/vyatta/sbin/vyatta-qos.pl --update-action $IFNAME
+
+
diff --git a/interface-templates/redirect/node.def b/interface-templates/redirect/node.def
new file mode 100644
index 0000000..6f0bd60
--- /dev/null
+++ b/interface-templates/redirect/node.def
@@ -0,0 +1,12 @@
+type: txt
+help: Set incoming packet redirection destination
+allowed: /opt/vyatta/sbin/vyatta-interfaces.pl --skip=$IFNAME --show=all
+
+syntax: /opt/vyatta/sbin/vyatta-interfaces.pl --dev=$IFNAME --check=all
+commit:expression: $VAR(../mirror) == "";\
+ "interface $VAR(../@) : can not redirect and mirror on $IFNAME"
+
+commit:expression: $VAR(../traffic-policy/in) == ""; \
+ "interface $VAR(../@) : can not use ingress policy and redirect on $IFNAME"
+
+end: /opt/vyatta/sbin/vyatta-qos.pl --update-action $IFNAME
diff --git a/interface-templates/qos-policy/in/node.def b/interface-templates/traffic-policy/in/node.def
index 67d3e4b..901fae8 100644
--- a/interface-templates/qos-policy/in/node.def
+++ b/interface-templates/traffic-policy/in/node.def
@@ -1,5 +1,5 @@
type: txt
-help: Set inbound QOS policy for interface
+help: Set ingress traffic policy for interface
allowed: /opt/vyatta/sbin/vyatta-qos.pl --list-policy in
update: /opt/vyatta/sbin/vyatta-qos.pl --update-interface $IFNAME in $VAR(@)
delete: /opt/vyatta/sbin/vyatta-qos.pl --delete-interface $IFNAME in
diff --git a/interface-templates/traffic-policy/node.def b/interface-templates/traffic-policy/node.def
new file mode 100644
index 0000000..d13c6cd
--- /dev/null
+++ b/interface-templates/traffic-policy/node.def
@@ -0,0 +1 @@
+help: Set traffic-policy for interface
diff --git a/interface-templates/qos-policy/node.def b/interface-templates/traffic-policy/out/node.def
index 2b8a36f..e22793b 100644
--- a/interface-templates/qos-policy/node.def
+++ b/interface-templates/traffic-policy/out/node.def
@@ -1,5 +1,5 @@
type: txt
-help: Set outbound QOS policy for interface
-allowed: /opt/vyatta/sbin/vyatta-qos.pl --list-policy
-update: /opt/vyatta/sbin/vyatta-qos.pl --update-interface $IFNAME $VAR(@)
-delete: /opt/vyatta/sbin/vyatta-qos.pl --delete-interface $IFNAME
+help: Set egress traffic policy for interface
+allowed: /opt/vyatta/sbin/vyatta-qos.pl --list-policy out
+update: /opt/vyatta/sbin/vyatta-qos.pl --update-interface $IFNAME out $VAR(@)
+delete: /opt/vyatta/sbin/vyatta-qos.pl --delete-interface $IFNAME out
diff --git a/lib/Vyatta/Qos/IngressMirror.pm b/lib/Vyatta/Qos/IngressMirror.pm
deleted file mode 100644
index d3e52c0..0000000
--- a/lib/Vyatta/Qos/IngressMirror.pm
+++ /dev/null
@@ -1,56 +0,0 @@
-# Ingress Mirror
-# Duplicate all packets to another interface
-# This is useful for some forms of IDS or capture
-#
-# **** 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) 2010 Vyatta, Inc.
-# All Rights Reserved.
-# **** End License ****
-
-package Vyatta::Qos::IngressMirror;
-use strict;
-use warnings;
-
-require Vyatta::Config;
-
-sub new {
- my ( $that, $config, $name ) = @_;
- my $self = {};
- my $class = ref($that) || $that;
-
- bless $self, $class;
- $self->_define($config);
-
- return $self;
-}
-
-# Setup new instance.
-sub _define {
- my ( $self, $config ) = @_;
- # config is at level: interfaces ethernet $dev input-policy redirect
- $self->{_target} = $config->returnValue();
-}
-
-sub commands {
- my ( $self, $dev, $parent ) = @_;
- my $target = $self->{_target};
-
- # Apply filter to ingress qdisc
- # NB: action is egress because we are in ingress (upside down)
- printf "filter add dev %s parent %x: ", $dev, $parent;
- print " protocol all prio 10 u32";
- print " match u32 0 0 flowid 1:1";
- print " action mirred egress mirror dev $target\n";
-}
-
-1;
diff --git a/lib/Vyatta/Qos/IngressRedirect.pm b/lib/Vyatta/Qos/IngressRedirect.pm
deleted file mode 100644
index 2bffd30..0000000
--- a/lib/Vyatta/Qos/IngressRedirect.pm
+++ /dev/null
@@ -1,55 +0,0 @@
-# Ingress Redirect
-# Forward all packets to another interface
-#
-# **** 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) 2010 Vyatta, Inc.
-# All Rights Reserved.
-# **** End License ****
-
-package Vyatta::Qos::IngressRedirect;
-use strict;
-use warnings;
-
-require Vyatta::Config;
-
-sub new {
- my ( $that, $config, $name ) = @_;
- my $self = {};
- my $class = ref($that) || $that;
-
- bless $self, $class;
- $self->_define($config);
-
- return $self;
-}
-
-# Setup new instance.
-sub _define {
- my ( $self, $config, $dev ) = @_;
- # config is at level: interfaces ethernet $dev input-policy redirect
- $self->{_target} = $config->returnValue();
-}
-
-sub commands {
- my ( $self, $dev, $parent ) = @_;
- my $target = $self->{_target};
-
- # Apply filter to ingress qdisc
- # NB: action is egress because we are in ingress (upside down)
- printf "filter add dev %s parent %x: ", $dev, $parent;
- print " protocol all prio 10 u32";
- print " match u32 0 0 flowid 1:1";
- print " action mirred egress redirect dev $target\n";
-}
-
-1;
diff --git a/scripts/vyatta-qos.pl b/scripts/vyatta-qos.pl
index 4d882aa..d901027 100755
--- a/scripts/vyatta-qos.pl
+++ b/scripts/vyatta-qos.pl
@@ -27,17 +27,17 @@ my $debug = $ENV{'QOS_DEBUG'};
my %policies = (
'out' => {
- 'traffic-shaper' => 'TrafficShaper',
- 'fair-queue' => 'FairQueue',
- 'rate-limit' => 'RateLimiter',
- 'drop-tail' => 'DropTail',
- 'network-emulator' => 'NetworkEmulator',
- 'round-robin' => 'RoundRobin',
+ 'shaper' => 'TrafficShaper',
+ 'limiter' => 'TrafficLimiter',
+ 'fair-queue' => 'FairQueue',
+ 'rate-control' => 'RateLimiter',
+ 'drop-tail' => 'DropTail',
+ 'network-emulator' => 'NetworkEmulator',
+ 'round-robin' => 'RoundRobin',
'priority-queue' => 'Priority',
'random-detect' => 'RandomDetect',
- 'traffic-limiter' => 'TrafficLimiter',
},
- 'in' => {
+ 'in' => {
'traffic-limiter' => 'TrafficLimiter',
}
);
@@ -48,7 +48,7 @@ sub find_policy {
my $name = shift;
my $config = new Vyatta::Config;
- $config->setLevel('qos-policy');
+ $config->setLevel('traffic-policy');
my @policy = grep { $config->exists("$_ $name") } $config->listNodes();
die "Policy name \"$name\" conflict, used by: ", join( ' ', @policy ), "\n"
@@ -65,8 +65,7 @@ sub make_policy {
if ($direction) {
$policy_type = $policies{$direction}{$type};
- }
- else {
+ } else {
foreach my $direction ( keys %policies ) {
$policy_type = $policies{$direction}{$type};
last if defined $policy_type;
@@ -84,7 +83,7 @@ sub make_policy {
}
my $config = new Vyatta::Config;
- $config->setLevel("qos-policy $type $name");
+ $config->setLevel("traffic-policy $type $name");
my $location = "Vyatta/Qos/$policy_type.pm";
my $class = "Vyatta::Qos::$policy_type";
@@ -97,7 +96,7 @@ sub make_policy {
## list defined qos policy names
sub list_policy {
my $config = new Vyatta::Config;
- $config->setLevel('qos-policy');
+ $config->setLevel('traffic-policy');
while ( my $direction = shift ) {
my @qos = grep { $policies{$direction}{$_} } $config->listNodes();
@@ -118,7 +117,7 @@ my %delcmd = (
## delete_interface('eth0')
# remove all filters and qdisc's
sub delete_interface {
- my ( $interface ) = @_;
+ my ( $interface, $direction ) = @_;
my $arg = $delcmd{$direction};
die "bad direction $direction\n" unless $arg;
@@ -141,36 +140,35 @@ sub start_interface {
my $config = new Vyatta::Config;
$config->setLevel( $path );
- my $policy = $config->returnValue('qos-policy');
- next unless $policy;
+ my $policy = $config->returnValue('traffic-policy');
- update_interface( $ifname, $policy );
+ update_interface( $ifname, $policy ) if ($policy);
+ update_action( $ifname );
}
}
## update_interface('eth0', 'my-shaper')
# update policy to interface
sub update_interface {
- my ( $device, $name ) = @_;
+ my ( $device, $direction, $name ) = @_;
my $policy = find_policy($name);
- die "Unknown qos-policy $name\n" unless $policy;
+ die "Unknown traffic-policy $name\n" unless $policy;
my $shaper = make_policy( $policy, $name, $direction );
exit 1 unless $shaper;
if ( ! -d "/sys/class/net/$device" ) {
- warn "$device not present yet, qos-policy will be applied later\n";
+ warn "$device not present yet, traffic-policy will be applied later\n";
return;
}
-
# Remove old policy
- delete_interface( $device );
+ delete_interface( $device, $direction );
# When doing debugging just echo the commands
my $out;
unless ($debug) {
- open $out, "|-"
+ open $out, '|-'
or exec qw:sudo /sbin/tc -batch -:
or die "Tc setup failed: $!\n";
@@ -178,12 +176,14 @@ sub update_interface {
}
$shaper->commands( $device, $direction );
+
return if ($debug);
select STDOUT;
- unless (close $out) {
+
+ unless(close($out)) {
# cleanup any partial commands
- delete_interface( $device );
+ delete_interface( $device, $direction );
# replay commands to stdout
$shaper->commands($device, $direction );
@@ -191,8 +191,7 @@ sub update_interface {
}
}
-
-# return array of references to (name, policy)
+# return array of references to (name, direction, policy)
sub interfaces_using {
my $policy = shift;
my $config = new Vyatta::Config;
@@ -201,15 +200,17 @@ sub interfaces_using {
foreach my $name ( getInterfaces() ) {
my $intf = new Vyatta::Interface($name);
next unless $intf;
- my $path = $intf->path();
- next unless $path;
-
- $config->setLevel($path);
- my $cur = $config->returnValue('qos-policy');
- next unless $cur;
-
- # these are arguments to update_interface()
- push @inuse, [ $name, $policy ] if ($cur eq $policy);
+ my $level = $intf->path() . ' traffic-policy';
+ $config->setLevel($level);
+
+ foreach my $direction ($config->listNodes()) {
+ my $cur = $config->returnValue($direction);
+ next unless $cur;
+
+ # these are arguments to update_interface()
+ push @inuse, [ $name, $direction, $policy ]
+ if ($cur eq $policy);
+ }
}
return @inuse;
}
@@ -220,7 +221,7 @@ sub delete_policy {
# interfaces_using returns array of array and only want name
my @inuse = map { @$_[0] } interfaces_using($name);
- die "Can not delete qos-policy $name, still applied"
+ die "Can not delete traffic-policy $name, still applied"
. " to interface ", join(' ', @inuse), "\n"
if @inuse;
}
@@ -251,82 +252,57 @@ sub apply_policy {
}
}
-# ingress policy factory
-sub ingress_policy {
- my ($ifname) = @_;
- my $intf = new Vyatta::Interface($ifname);
- die "Unknown interface name $ifname\n" unless $intf;
-
- my $path = $intf->path();
- unless ($path) {
- warn "Can't find $ifname in configuration\n";
- exit 0;
+#
+# This is used for actions mirror and redirect
+sub update_action {
+ while ( my $dev = shift ) {
+ apply_action($dev);
}
-
- my $config = new Vyatta::Config;
- $config->setLevel( "$path input-policy" );
-
- my @names = $config->listNodes();
- return if ($#names < 0);
-
- die "Only one incoming policy is allowed\n" if ($#names > 0);
-
- $config->setLevel( "$path input-policy " . $names[0] );
- my $type = ucfirst($names[0]);
- my $location = "Vyatta/Qos/Ingress$type.pm";
- require $location;
-
- my $class = "Vyatta::Qos::Ingress$type";
- return $class->new( $config, $ifname );
}
+
+sub apply_action{
+ my $dev = shift;
+ my $interface = new Vyatta::Interface($dev);
+ die "Unknown interface type: $dev" unless $interface;
-# check definition of input filtering
-sub check_ingress {
- my $device = shift;
-
- my $ingress = ingress_policy( $device );
- return unless $ingress;
-}
-
-# sets up input filtering
-sub update_ingress {
- my $device = shift;
-
- die "Interface $device not present\n"
- unless (-d "/sys/class/net/$device");
-
- # Drop existing ingress and recreate
- system("sudo tc qdisc del dev $device ingress 2>/dev/null");
+ my $path = $interface->path();
+ next unless $path;
- my $ingress = ingress_policy( $device );
- return unless $ingress;
-
- system("sudo tc qdisc add dev $device ingress") == 0
- or die "Can not set ingress qdisc";
-
- # When doing debugging just echo the commands
- my $out;
- unless ($debug) {
- open $out, "|-"
- or exec qw:sudo /sbin/tc -batch -:
- or die "Tc setup failed: $!\n";
-
- select $out;
+ my $config = new Vyatta::Config;
+ $config->setLevel( $path );
+
+ my $ingress = $config->returnValue('traffic-policy in');
+
+ foreach my $action (qw(mirror redirect)) {
+ my $target = $config->returnValue($action);
+ next unless $target;
+
+ # TODO support combination of limiting and redirect/mirror
+ die "interface $dev: combination of $action"
+ . " and traffic-policy $ingress not supported\n"
+ if ($ingress);
+
+ # Clear existing ingress
+ system("sudo tc qdisc del dev $dev parent ffff: 2>/dev/null");
+
+ system("sudo tc qdisc add dev $dev handle ffff: ingress") == 0
+ or die "tc qdisc ingress failed";
+
+ my $cmd =
+ "tc filter add dev $dev parent ffff:"
+ . " protocol all prio 10 u32"
+ . " match u32 0 0 flowid 1:1"
+ . " action mirred egress $action dev $target";
+
+ system($cmd) == 0
+ or die "tc action $action command failed";
+
+ return;
}
- my $parent = 0xffff;
- $ingress->commands( $device, $parent );
- return if ($debug);
-
- select STDOUT;
- unless (close $out) {
- # cleanup any partial commands
- system("sudo tc del dev $device ingress 2>/dev/null");
-
- # replay commands to stdout
- $ingress->commands($device, $parent );
- die "TC command failed.";
- }
+ # Drop what ever was there before...
+ system("sudo tc qdisc del dev $dev parent ffff: 2>/dev/null")
+ unless($ingress);
}
sub usage {
@@ -339,22 +315,13 @@ usage: vyatta-qos.pl --list-policy
vyatta-qos.pl --update-interface interface policy-name
vyatta-qos.pl --delete-interface interface
- vyatta-qos.pl --check-ingress interface
- vyatta-qos.pl --update-ingress interface
+ vyatta-qos.pl --start-interface interface
EOF
exit 1;
}
-my @updateInterface = ();
-my $deleteInterface;
-
-my $listPolicy;
-my @createPolicy = ();
-my @applyPolicy = ();
-my @deletePolicy = ();
-my @startList = ();
-
-my ($checkIngress, $updateIngress);
+my (@startList, @updateInterface, $deleteInterface, $updateAction);
+my ($listPolicy, @createPolicy, @applyPolicy, @deletePolicy);
GetOptions(
"start-interface=s" => \@startList,
@@ -366,8 +333,8 @@ GetOptions(
"create-policy=s{2}" => \@createPolicy,
"apply-policy=s" => \@applyPolicy,
- "check-ingress=s" => \$checkIngress,
- "update-ingress=s" => \$updateIngress
+ "update-action=s" => \$updateAction,
+
) or usage();
delete_interface($deleteInterface) if ( $deleteInterface );
@@ -379,6 +346,4 @@ create_policy(@createPolicy) if ( $#createPolicy == 1 );
delete_policy(@deletePolicy) if (@deletePolicy);
apply_policy(@applyPolicy) if (@applyPolicy);
-check_ingress($checkIngress) if ($checkIngress);
-update_ingress($updateIngress) if ($updateIngress);
-
+update_action($updateAction) if ($updateAction);
diff --git a/templates/qos-policy/traffic-limiter/node.tag/class/node.def b/templates/qos-policy/traffic-limiter/node.tag/class/node.def
deleted file mode 100644
index 2a77af0..0000000
--- a/templates/qos-policy/traffic-limiter/node.tag/class/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-tag:
-type: u32
-help: Set class handle
-syntax:expression: $VAR(@) >= 1 && $VAR(@) < 4096; "Class identifier must be between 1 and 4095"
-comp_help: possible completions
- <1-4095> Class ID
diff --git a/templates/qos-policy/drop-tail/node.def b/templates/traffic-policy/drop-tail/node.def
index 1bbb25f..1bbb25f 100644
--- a/templates/qos-policy/drop-tail/node.def
+++ b/templates/traffic-policy/drop-tail/node.def
diff --git a/templates/qos-policy/drop-tail/node.tag/description/node.def b/templates/traffic-policy/drop-tail/node.tag/description/node.def
index 1e8e64f..1e8e64f 100644
--- a/templates/qos-policy/drop-tail/node.tag/description/node.def
+++ b/templates/traffic-policy/drop-tail/node.tag/description/node.def
diff --git a/templates/qos-policy/drop-tail/node.tag/queue-limit/node.def b/templates/traffic-policy/drop-tail/node.tag/queue-limit/node.def
index fe3b4dd..fe3b4dd 100644
--- a/templates/qos-policy/drop-tail/node.tag/queue-limit/node.def
+++ b/templates/traffic-policy/drop-tail/node.tag/queue-limit/node.def
diff --git a/templates/qos-policy/fair-queue/node.def b/templates/traffic-policy/fair-queue/node.def
index 1966ab6..1966ab6 100644
--- a/templates/qos-policy/fair-queue/node.def
+++ b/templates/traffic-policy/fair-queue/node.def
diff --git a/templates/qos-policy/fair-queue/node.tag/description/node.def b/templates/traffic-policy/fair-queue/node.tag/description/node.def
index 1e8e64f..1e8e64f 100644
--- a/templates/qos-policy/fair-queue/node.tag/description/node.def
+++ b/templates/traffic-policy/fair-queue/node.tag/description/node.def
diff --git a/templates/qos-policy/fair-queue/node.tag/hash-interval/node.def b/templates/traffic-policy/fair-queue/node.tag/hash-interval/node.def
index f670274..f670274 100644
--- a/templates/qos-policy/fair-queue/node.tag/hash-interval/node.def
+++ b/templates/traffic-policy/fair-queue/node.tag/hash-interval/node.def
diff --git a/templates/qos-policy/fair-queue/node.tag/queue-limit/node.def b/templates/traffic-policy/fair-queue/node.tag/queue-limit/node.def
index 471bd5b..471bd5b 100644
--- a/templates/qos-policy/fair-queue/node.tag/queue-limit/node.def
+++ b/templates/traffic-policy/fair-queue/node.tag/queue-limit/node.def
diff --git a/templates/qos-policy/traffic-limiter/node.def b/templates/traffic-policy/limiter/node.def
index f8bdf26..f8bdf26 100644
--- a/templates/qos-policy/traffic-limiter/node.def
+++ b/templates/traffic-policy/limiter/node.def
diff --git a/templates/traffic-policy/limiter/node.tag/class/node.def b/templates/traffic-policy/limiter/node.tag/class/node.def
new file mode 100644
index 0000000..24d7260
--- /dev/null
+++ b/templates/traffic-policy/limiter/node.tag/class/node.def
@@ -0,0 +1,6 @@
+tag:
+type: u32
+help: Set class handle
+syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4090; "Class identifier must be between 1 and 4090"
+comp_help: possible completions
+ <1-4095> Class ID
diff --git a/templates/qos-policy/traffic-limiter/node.tag/class/node.tag/bandwidth/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/bandwidth/node.def
index 13c70ee..13c70ee 100644
--- a/templates/qos-policy/traffic-limiter/node.tag/class/node.tag/bandwidth/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/bandwidth/node.def
diff --git a/templates/qos-policy/traffic-limiter/node.tag/class/node.tag/burst/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/burst/node.def
index e22453c..e22453c 100644
--- a/templates/qos-policy/traffic-limiter/node.tag/class/node.tag/burst/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/burst/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/description/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/description/node.def
index d4241e7..d4241e7 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/description/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/description/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.def
index 2a5d021..2a5d021 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/description/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/description/node.def
index a56c59c..a56c59c 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/description/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/description/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/destination/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
index e8be347..e8be347 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/destination/node.def
diff --git a/templates/qos-policy/round-robin/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
index 05d6511..05d6511 100644
--- a/templates/qos-policy/round-robin/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
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/source/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/source/node.def
index b993af6..b993af6 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ether/source/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ether/source/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
index ccd2d14..ccd2d14 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/address/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
index 54eef5b..54eef5b 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
index 561899c..561899c 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/destination/port/node.def
diff --git a/templates/qos-policy/round-robin/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
index d02dc5c..d02dc5c 100644
--- a/templates/qos-policy/round-robin/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
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
index 9c665c2..9c665c2 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/protocol/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
index 0bc690a..0bc690a 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/address/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/node.def
index 4271b94..4271b94 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
index ecd96ab..ecd96ab 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ip/source/port/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
index 2f608f8..2f608f8 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
index 54eef5b..54eef5b 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
index 561899c..561899c 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def
diff --git a/templates/qos-policy/round-robin/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
index d02dc5c..d02dc5c 100644
--- a/templates/qos-policy/round-robin/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
diff --git a/templates/qos-policy/round-robin/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
index 9c665c2..9c665c2 100644
--- a/templates/qos-policy/round-robin/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
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
index 23c96c2..23c96c2 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
index 4271b94..4271b94 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
index ecd96ab..ecd96ab 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def
diff --git a/templates/qos-policy/round-robin/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
index e22250d..e22250d 100644
--- a/templates/qos-policy/round-robin/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
diff --git a/templates/qos-policy/traffic-limiter/node.tag/class/node.tag/priority/node.def b/templates/traffic-policy/limiter/node.tag/class/node.tag/priority/node.def
index a99400d..a99400d 100644
--- a/templates/qos-policy/traffic-limiter/node.tag/class/node.tag/priority/node.def
+++ b/templates/traffic-policy/limiter/node.tag/class/node.tag/priority/node.def
diff --git a/templates/qos-policy/network-emulator/node.tag/description/node.def b/templates/traffic-policy/limiter/node.tag/description/node.def
index 1e8e64f..1e8e64f 100644
--- a/templates/qos-policy/network-emulator/node.tag/description/node.def
+++ b/templates/traffic-policy/limiter/node.tag/description/node.def
diff --git a/templates/qos-policy/network-emulator/node.def b/templates/traffic-policy/network-emulator/node.def
index 9a89c53..9a89c53 100644
--- a/templates/qos-policy/network-emulator/node.def
+++ b/templates/traffic-policy/network-emulator/node.def
diff --git a/templates/qos-policy/network-emulator/node.tag/bandwidth/node.def b/templates/traffic-policy/network-emulator/node.tag/bandwidth/node.def
index db8ca65..db8ca65 100644
--- a/templates/qos-policy/network-emulator/node.tag/bandwidth/node.def
+++ b/templates/traffic-policy/network-emulator/node.tag/bandwidth/node.def
diff --git a/templates/qos-policy/network-emulator/node.tag/burst/node.def b/templates/traffic-policy/network-emulator/node.tag/burst/node.def
index 4df45de..4df45de 100644
--- a/templates/qos-policy/network-emulator/node.tag/burst/node.def
+++ b/templates/traffic-policy/network-emulator/node.tag/burst/node.def
diff --git a/templates/qos-policy/random-detect/node.tag/description/node.def b/templates/traffic-policy/network-emulator/node.tag/description/node.def
index 1e8e64f..1e8e64f 100644
--- a/templates/qos-policy/random-detect/node.tag/description/node.def
+++ b/templates/traffic-policy/network-emulator/node.tag/description/node.def
diff --git a/templates/qos-policy/network-emulator/node.tag/network-delay/node.def b/templates/traffic-policy/network-emulator/node.tag/network-delay/node.def
index 40b8437..40b8437 100644
--- a/templates/qos-policy/network-emulator/node.tag/network-delay/node.def
+++ b/templates/traffic-policy/network-emulator/node.tag/network-delay/node.def
diff --git a/templates/qos-policy/network-emulator/node.tag/packet-corruption/node.def b/templates/traffic-policy/network-emulator/node.tag/packet-corruption/node.def
index fb0e975..fb0e975 100644
--- a/templates/qos-policy/network-emulator/node.tag/packet-corruption/node.def
+++ b/templates/traffic-policy/network-emulator/node.tag/packet-corruption/node.def
diff --git a/templates/qos-policy/network-emulator/node.tag/packet-loss/node.def b/templates/traffic-policy/network-emulator/node.tag/packet-loss/node.def
index 6501d7a..6501d7a 100644
--- a/templates/qos-policy/network-emulator/node.tag/packet-loss/node.def
+++ b/templates/traffic-policy/network-emulator/node.tag/packet-loss/node.def
diff --git a/templates/qos-policy/network-emulator/node.tag/packet-reordering/node.def b/templates/traffic-policy/network-emulator/node.tag/packet-reordering/node.def
index ee5c64a..ee5c64a 100644
--- a/templates/qos-policy/network-emulator/node.tag/packet-reordering/node.def
+++ b/templates/traffic-policy/network-emulator/node.tag/packet-reordering/node.def
diff --git a/templates/qos-policy/network-emulator/node.tag/queue-limit/node.def b/templates/traffic-policy/network-emulator/node.tag/queue-limit/node.def
index 49c47b4..49c47b4 100644
--- a/templates/qos-policy/network-emulator/node.tag/queue-limit/node.def
+++ b/templates/traffic-policy/network-emulator/node.tag/queue-limit/node.def
diff --git a/templates/qos-policy/node.def b/templates/traffic-policy/node.def
index e6a2afc..e6a2afc 100644
--- a/templates/qos-policy/node.def
+++ b/templates/traffic-policy/node.def
diff --git a/templates/qos-policy/random-detect/node.def b/templates/traffic-policy/random-detect/node.def
index 7dc1caa..7dc1caa 100644
--- a/templates/qos-policy/random-detect/node.def
+++ b/templates/traffic-policy/random-detect/node.def
diff --git a/templates/qos-policy/random-detect/node.tag/bandwidth/node.def b/templates/traffic-policy/random-detect/node.tag/bandwidth/node.def
index eb0d4d9..eb0d4d9 100644
--- a/templates/qos-policy/random-detect/node.tag/bandwidth/node.def
+++ b/templates/traffic-policy/random-detect/node.tag/bandwidth/node.def
diff --git a/templates/qos-policy/rate-control/node.tag/description/node.def b/templates/traffic-policy/random-detect/node.tag/description/node.def
index 1e8e64f..1e8e64f 100644
--- a/templates/qos-policy/rate-control/node.tag/description/node.def
+++ b/templates/traffic-policy/random-detect/node.tag/description/node.def
diff --git a/templates/qos-policy/random-detect/node.tag/precedence/node.def b/templates/traffic-policy/random-detect/node.tag/precedence/node.def
index ac63dd6..ac63dd6 100644
--- a/templates/qos-policy/random-detect/node.tag/precedence/node.def
+++ b/templates/traffic-policy/random-detect/node.tag/precedence/node.def
diff --git a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/average-packet/node.def b/templates/traffic-policy/random-detect/node.tag/precedence/node.tag/average-packet/node.def
index 23cdb0f..23cdb0f 100644
--- a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/average-packet/node.def
+++ b/templates/traffic-policy/random-detect/node.tag/precedence/node.tag/average-packet/node.def
diff --git a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/mark-probability/node.def b/templates/traffic-policy/random-detect/node.tag/precedence/node.tag/mark-probability/node.def
index 34964af..34964af 100644
--- a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/mark-probability/node.def
+++ b/templates/traffic-policy/random-detect/node.tag/precedence/node.tag/mark-probability/node.def
diff --git a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/maximum-threshold/node.def b/templates/traffic-policy/random-detect/node.tag/precedence/node.tag/maximum-threshold/node.def
index 3032d80..3032d80 100644
--- a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/maximum-threshold/node.def
+++ b/templates/traffic-policy/random-detect/node.tag/precedence/node.tag/maximum-threshold/node.def
diff --git a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/minimum-threshold/node.def b/templates/traffic-policy/random-detect/node.tag/precedence/node.tag/minimum-threshold/node.def
index fe86423..fe86423 100644
--- a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/minimum-threshold/node.def
+++ b/templates/traffic-policy/random-detect/node.tag/precedence/node.tag/minimum-threshold/node.def
diff --git a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/queue-limit/node.def b/templates/traffic-policy/random-detect/node.tag/precedence/node.tag/queue-limit/node.def
index 49c47b4..49c47b4 100644
--- a/templates/qos-policy/random-detect/node.tag/precedence/node.tag/queue-limit/node.def
+++ b/templates/traffic-policy/random-detect/node.tag/precedence/node.tag/queue-limit/node.def
diff --git a/templates/qos-policy/rate-control/node.def b/templates/traffic-policy/rate-control/node.def
index 57bf98e..57bf98e 100644
--- a/templates/qos-policy/rate-control/node.def
+++ b/templates/traffic-policy/rate-control/node.def
diff --git a/templates/qos-policy/rate-control/node.tag/bandwidth/node.def b/templates/traffic-policy/rate-control/node.tag/bandwidth/node.def
index db8ca65..db8ca65 100644
--- a/templates/qos-policy/rate-control/node.tag/bandwidth/node.def
+++ b/templates/traffic-policy/rate-control/node.tag/bandwidth/node.def
diff --git a/templates/qos-policy/rate-control/node.tag/burst/node.def b/templates/traffic-policy/rate-control/node.tag/burst/node.def
index 4df45de..4df45de 100644
--- a/templates/qos-policy/rate-control/node.tag/burst/node.def
+++ b/templates/traffic-policy/rate-control/node.tag/burst/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/description/node.def b/templates/traffic-policy/rate-control/node.tag/description/node.def
index 1e8e64f..1e8e64f 100644
--- a/templates/qos-policy/round-robin/node.tag/description/node.def
+++ b/templates/traffic-policy/rate-control/node.tag/description/node.def
diff --git a/templates/qos-policy/rate-control/node.tag/latency/node.def b/templates/traffic-policy/rate-control/node.tag/latency/node.def
index bef5491..bef5491 100644
--- a/templates/qos-policy/rate-control/node.tag/latency/node.def
+++ b/templates/traffic-policy/rate-control/node.tag/latency/node.def
diff --git a/templates/qos-policy/round-robin/node.def b/templates/traffic-policy/round-robin/node.def
index 4427e1a..4427e1a 100644
--- a/templates/qos-policy/round-robin/node.def
+++ b/templates/traffic-policy/round-robin/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.def
index d606de1..d606de1 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/class/node.def
diff --git a/templates/qos-policy/traffic-limiter/node.tag/class/node.tag/description/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/description/node.def
index d4241e7..d4241e7 100644
--- a/templates/qos-policy/traffic-limiter/node.tag/class/node.tag/description/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/class/node.tag/description/node.def
diff --git a/templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.def
index 2a5d021..2a5d021 100644
--- a/templates/qos-policy/traffic-limiter/node.tag/class/node.tag/match/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/class/node.tag/match/node.def
diff --git a/templates/qos-policy/traffic-limiter/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
index a56c59c..a56c59c 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index e8be347..e8be347 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 05d6511..05d6511 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index b993af6..b993af6 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-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
index bb0c1e3..bb0c1e3 100644
--- a/templates/qos-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
diff --git a/templates/qos-policy/traffic-limiter/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
index ccd2d14..ccd2d14 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 54eef5b..54eef5b 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 561899c..561899c 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index d02dc5c..d02dc5c 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 9c665c2..9c665c2 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 0bc690a..0bc690a 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 4271b94..4271b94 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index ecd96ab..ecd96ab 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 2f608f8..2f608f8 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 54eef5b..54eef5b 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 561899c..561899c 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index d02dc5c..d02dc5c 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 9c665c2..9c665c2 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 23c96c2..23c96c2 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index 4271b94..4271b94 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index ecd96ab..ecd96ab 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/traffic-limiter/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
index e22250d..e22250d 100644
--- a/templates/qos-policy/traffic-limiter/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
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/queue-limit/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/queue-limit/node.def
index 49c47b4..49c47b4 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/queue-limit/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/class/node.tag/queue-limit/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/class/node.tag/queue-type/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/queue-type/node.def
index ecbcede..ecbcede 100644
--- a/templates/qos-policy/round-robin/node.tag/class/node.tag/queue-type/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/class/node.tag/queue-type/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/default/node.def b/templates/traffic-policy/round-robin/node.tag/default/node.def
index de9cd5c..de9cd5c 100644
--- a/templates/qos-policy/round-robin/node.tag/default/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/default/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/default/queue-limit/node.def b/templates/traffic-policy/round-robin/node.tag/default/queue-limit/node.def
index 49c47b4..49c47b4 100644
--- a/templates/qos-policy/round-robin/node.tag/default/queue-limit/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/default/queue-limit/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/default/queue-type/node.def b/templates/traffic-policy/round-robin/node.tag/default/queue-type/node.def
index 61f9506..61f9506 100644
--- a/templates/qos-policy/round-robin/node.tag/default/queue-type/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/default/queue-type/node.def
diff --git a/templates/qos-policy/traffic-limiter/node.tag/description/node.def b/templates/traffic-policy/round-robin/node.tag/description/node.def
index 1e8e64f..1e8e64f 100644
--- a/templates/qos-policy/traffic-limiter/node.tag/description/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/description/node.def
diff --git a/templates/qos-policy/round-robin/node.tag/quantum/node.def b/templates/traffic-policy/round-robin/node.tag/quantum/node.def
index 62e3ce4..62e3ce4 100644
--- a/templates/qos-policy/round-robin/node.tag/quantum/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/quantum/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.def b/templates/traffic-policy/shaper/node.def
index cd7b07d..cd7b07d 100644
--- a/templates/qos-policy/traffic-shaper/node.def
+++ b/templates/traffic-policy/shaper/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/bandwidth/node.def b/templates/traffic-policy/shaper/node.tag/bandwidth/node.def
index eb0d4d9..eb0d4d9 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/bandwidth/node.def
+++ b/templates/traffic-policy/shaper/node.tag/bandwidth/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.def b/templates/traffic-policy/shaper/node.tag/class/node.def
index 8d2bbf4..8d2bbf4 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/class/node.def
+++ b/templates/traffic-policy/shaper/node.tag/class/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/bandwidth/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/bandwidth/node.def
index 91d7762..91d7762 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/bandwidth/node.def
+++ b/templates/traffic-policy/shaper/node.tag/class/node.tag/bandwidth/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/burst/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/burst/node.def
index e22453c..e22453c 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/burst/node.def
+++ b/templates/traffic-policy/shaper/node.tag/class/node.tag/burst/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/ceiling/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/ceiling/node.def
index 09ba853..09ba853 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/ceiling/node.def
+++ b/templates/traffic-policy/shaper/node.tag/class/node.tag/ceiling/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/description/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/description/node.def
index d4241e7..d4241e7 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/description/node.def
+++ b/templates/traffic-policy/shaper/node.tag/class/node.tag/description/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.def
index 2a5d021..2a5d021 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.def
+++ b/templates/traffic-policy/shaper/node.tag/class/node.tag/match/node.def
diff --git a/templates/qos-policy/traffic-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
index a56c59c..a56c59c 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index e8be347..e8be347 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 05d6511..05d6511 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index b993af6..b993af6 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index bb0c1e3..bb0c1e3 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index ccd2d14..ccd2d14 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 54eef5b..54eef5b 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 561899c..561899c 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index d02dc5c..d02dc5c 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 9c665c2..9c665c2 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 0bc690a..0bc690a 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 4271b94..4271b94 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index ecd96ab..ecd96ab 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 2f608f8..2f608f8 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 54eef5b..54eef5b 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 561899c..561899c 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index d02dc5c..d02dc5c 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 9c665c2..9c665c2 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 23c96c2..23c96c2 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index 4271b94..4271b94 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index ecd96ab..ecd96ab 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-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
index e22250d..e22250d 100644
--- a/templates/qos-policy/traffic-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
diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/priority/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/priority/node.def
index bcf8d0d..bcf8d0d 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/priority/node.def
+++ b/templates/traffic-policy/shaper/node.tag/class/node.tag/priority/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/queue-limit/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/queue-limit/node.def
index 49c47b4..49c47b4 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/queue-limit/node.def
+++ b/templates/traffic-policy/shaper/node.tag/class/node.tag/queue-limit/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/queue-type/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/queue-type/node.def
index 295c04c..295c04c 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/queue-type/node.def
+++ b/templates/traffic-policy/shaper/node.tag/class/node.tag/queue-type/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/set-dscp/node.def b/templates/traffic-policy/shaper/node.tag/class/node.tag/set-dscp/node.def
index 2fbddac..2fbddac 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/set-dscp/node.def
+++ b/templates/traffic-policy/shaper/node.tag/class/node.tag/set-dscp/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/bandwidth/node.def b/templates/traffic-policy/shaper/node.tag/default/bandwidth/node.def
index f0bc773..f0bc773 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/default/bandwidth/node.def
+++ b/templates/traffic-policy/shaper/node.tag/default/bandwidth/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/burst/node.def b/templates/traffic-policy/shaper/node.tag/default/burst/node.def
index f21eb9b..f21eb9b 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/default/burst/node.def
+++ b/templates/traffic-policy/shaper/node.tag/default/burst/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/ceiling/node.def b/templates/traffic-policy/shaper/node.tag/default/ceiling/node.def
index a0cc58b..a0cc58b 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/default/ceiling/node.def
+++ b/templates/traffic-policy/shaper/node.tag/default/ceiling/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/node.def b/templates/traffic-policy/shaper/node.tag/default/node.def
index de9cd5c..de9cd5c 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/default/node.def
+++ b/templates/traffic-policy/shaper/node.tag/default/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/priority/node.def b/templates/traffic-policy/shaper/node.tag/default/priority/node.def
index 54f529b..54f529b 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/default/priority/node.def
+++ b/templates/traffic-policy/shaper/node.tag/default/priority/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/queue-limit/node.def b/templates/traffic-policy/shaper/node.tag/default/queue-limit/node.def
index 49c47b4..49c47b4 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/default/queue-limit/node.def
+++ b/templates/traffic-policy/shaper/node.tag/default/queue-limit/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/queue-type/node.def b/templates/traffic-policy/shaper/node.tag/default/queue-type/node.def
index 295c04c..295c04c 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/default/queue-type/node.def
+++ b/templates/traffic-policy/shaper/node.tag/default/queue-type/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/set-dscp/node.def b/templates/traffic-policy/shaper/node.tag/default/set-dscp/node.def
index a469ae8..a469ae8 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/default/set-dscp/node.def
+++ b/templates/traffic-policy/shaper/node.tag/default/set-dscp/node.def
diff --git a/templates/qos-policy/traffic-shaper/node.tag/description/node.def b/templates/traffic-policy/shaper/node.tag/description/node.def
index 1e8e64f..1e8e64f 100644
--- a/templates/qos-policy/traffic-shaper/node.tag/description/node.def
+++ b/templates/traffic-policy/shaper/node.tag/description/node.def