diff options
-rw-r--r-- | Makefile.am | 4 | ||||
-rw-r--r-- | interface-templates/input-policy/mirror/node.def | 3 | ||||
-rw-r--r-- | interface-templates/input-policy/node.def | 4 | ||||
-rw-r--r-- | interface-templates/input-policy/redirect/node.def | 3 | ||||
-rw-r--r-- | interface-templates/mirror/node.def | 15 | ||||
-rw-r--r-- | interface-templates/redirect/node.def | 12 | ||||
-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.def | 1 | ||||
-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.pm | 56 | ||||
-rw-r--r-- | lib/Vyatta/Qos/IngressRedirect.pm | 55 | ||||
-rwxr-xr-x | scripts/vyatta-qos.pl | 213 | ||||
-rw-r--r-- | templates/qos-policy/traffic-limiter/node.tag/class/node.def | 6 | ||||
-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.def | 6 | ||||
-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 |