From 5f19707fc625e279427f74ce7e852ede5ad8ead8 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 9 Apr 2009 17:36:55 -0700 Subject: Add IPV6 support to QoS Bug 4230 Allow matching based on IPV6 addresses and ports Generalize existing matching code. --- .../match/node.tag/ipv6/destination/address/node.def | 2 ++ .../node.tag/match/node.tag/ipv6/destination/node.def | 1 + .../match/node.tag/ipv6/destination/port/node.def | 3 +++ .../class/node.tag/match/node.tag/ipv6/dscp/node.def | 18 ++++++++++++++++++ .../node.tag/match/node.tag/ipv6/protocol/node.def | 17 +++++++++++++++++ .../match/node.tag/ipv6/source/address/node.def | 2 ++ .../class/node.tag/match/node.tag/ipv6/source/node.def | 1 + .../node.tag/match/node.tag/ipv6/source/port/node.def | 3 +++ 8 files changed, 47 insertions(+) create mode 100644 templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def create mode 100644 templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def create mode 100644 templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def create mode 100644 templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def create mode 100644 templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def create mode 100644 templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def create mode 100644 templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def create mode 100644 templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def (limited to 'templates/qos-policy/traffic-shaper') diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def new file mode 100644 index 0000000..2f608f8 --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/address/node.def @@ -0,0 +1,2 @@ +type: ipv6net +help: Set IP destination address for this match diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def new file mode 100644 index 0000000..54eef5b --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/node.def @@ -0,0 +1 @@ +help: Match on destination port or address diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def new file mode 100644 index 0000000..561899c --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/destination/port/node.def @@ -0,0 +1,3 @@ +type: u32 +help: Set IP destination port for this match +syntax:expression: ($VAR(@) > 0 && $VAR(@) < 65536) ; "port must be between 1 and 65535" diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def new file mode 100644 index 0000000..4f3f18e --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/dscp/node.def @@ -0,0 +1,18 @@ +type: txt +help: Match on Differentiated Services Codepoint (DSCP) +syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --dscp \"$VAR(@)\"" +allowed: awk ' + /^#/ { next } + { printf "%s ", $2 }' Differentiated Services Codepoint (DSCP) value + default match DSCP (000000) + reliability match DSCP (000001) + throughput match DSCP (000010) + lowdelay match DSCP (000100) + priority match DSCP (001000) + immediate match DSCP (010000) + flash match DSCP (011000) + flash-override match DSCP (100000) + critical match DSCP (101000) + internet match DSCP (110000) + network match DSCP (111000) diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def new file mode 100644 index 0000000..1938d04 --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/protocol/node.def @@ -0,0 +1,17 @@ +type: txt +help: Match IP protocol name or number +syntax:expression: exec "/opt/vyatta/sbin/vyatta-qos-util.pl --protocol \"$VAR(@)\"" +allowed: awk ' + /^#/ { next } + { printf "%s ", $1 }' IP protocol value or name +Common names: + icmp Internet Control Message Protocol + igmp Internet Group Management Protocol + ggp Gateway-Gateway protocol + tcp Transmission Control Protocol + egp Exterior Gateway Protocol + udp User Datagram Protocol + gre General Routing Encapsulation + ospf Open Shortest Path First IGP + sctp Stream Control Transmission Protocol diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def new file mode 100644 index 0000000..23c96c2 --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/address/node.def @@ -0,0 +1,2 @@ +type: ipv6net +help: Set IP source address for this match diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def new file mode 100644 index 0000000..4271b94 --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/node.def @@ -0,0 +1 @@ +help: Match on source port or address diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def new file mode 100644 index 0000000..ecd96ab --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/match/node.tag/ipv6/source/port/node.def @@ -0,0 +1,3 @@ +type: u32 +help: Set IP source port for this match +syntax:expression: ($VAR(@) > 0 && $VAR(@) < 65536) ; "port must be between 1 and 65535" -- cgit v1.2.3