From b67e379379ca5be816c7d6d9cdcec99395556733 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 6 Feb 2008 10:29:43 -0800 Subject: rename rate to bandwidth Make qos syntax more familar to IOS users. --- scripts/VyattaQosTrafficShaper.pm | 8 ++++---- scripts/VyattaQosUtil.pm | 5 ++++- .../qos-policy/traffic-shaper/node.tag/bandwidth/node.def | 11 +++++++++++ .../traffic-shaper/node.tag/class/node.tag/bandwidth/node.def | 11 +++++++++++ .../traffic-shaper/node.tag/class/node.tag/ceiling/node.def | 7 ++++++- .../traffic-shaper/node.tag/class/node.tag/rate/node.def | 11 ----------- .../traffic-shaper/node.tag/default/bandwidth/node.def | 11 +++++++++++ .../traffic-shaper/node.tag/default/ceiling/node.def | 8 ++++++-- .../qos-policy/traffic-shaper/node.tag/default/rate/node.def | 11 ----------- templates/qos-policy/traffic-shaper/node.tag/rate/node.def | 10 ---------- 10 files changed, 53 insertions(+), 40 deletions(-) create mode 100644 templates/qos-policy/traffic-shaper/node.tag/bandwidth/node.def create mode 100644 templates/qos-policy/traffic-shaper/node.tag/class/node.tag/bandwidth/node.def delete mode 100644 templates/qos-policy/traffic-shaper/node.tag/class/node.tag/rate/node.def create mode 100644 templates/qos-policy/traffic-shaper/node.tag/default/bandwidth/node.def delete mode 100644 templates/qos-policy/traffic-shaper/node.tag/default/rate/node.def delete mode 100644 templates/qos-policy/traffic-shaper/node.tag/rate/node.def diff --git a/scripts/VyattaQosTrafficShaper.pm b/scripts/VyattaQosTrafficShaper.pm index 16c1fef..e051542 100644 --- a/scripts/VyattaQosTrafficShaper.pm +++ b/scripts/VyattaQosTrafficShaper.pm @@ -34,8 +34,8 @@ my $level = $config->setLevel(); my @matches = (); - $self->{_rate} = $config->returnValue("rate"); - defined $self->{_rate} or die "Rate not defined for class $id\n"; + $self->{_rate} = $config->returnValue("bandwidth"); + defined $self->{_rate} or die "Bandwidth not defined for class $id\n"; $self->{_id} = sprintf "%04x", $id; $self->{_priority} = $config->returnValue("priority"); @@ -79,14 +79,14 @@ my $matches = $self->{_match}; $rate <= $speed or - die "Rate for class $id ($rate) must be less than overall rate ($speed)\n"; + die "Bandwidth for class $id ($rate) must be less than overall bandwidth ($speed)\n"; # create the class my $cmd ="class add dev $dev parent 1:1 classid 1:$id htb rate $rate"; if ( defined $ceil) { $ceil >= $rate or - die "Rate ceiling ($ceil) must be greater than base rate ($rate)\n"; + die "Ceiling ($ceil) must be greater than bandwith ($rate)\n"; $cmd .= " ceil $ceil"; } diff --git a/scripts/VyattaQosUtil.pm b/scripts/VyattaQosUtil.pm index 0c9ab83..d8a5fa1 100644 --- a/scripts/VyattaQosUtil.pm +++ b/scripts/VyattaQosUtil.pm @@ -47,9 +47,12 @@ sub getRate { die "Rate must be a number followed by a optional suffix (kbit, mbps, ...)\n"; } + } else { + # No suffix implies Kbps just as IOS + $num *= 8000; } - die "Negative rate not allowed\n" if ($num < 0); + ($num >= 0) or die "Negative rate not allowed\n"; return $num; } diff --git a/templates/qos-policy/traffic-shaper/node.tag/bandwidth/node.def b/templates/qos-policy/traffic-shaper/node.tag/bandwidth/node.def new file mode 100644 index 0000000..76fa6e2 --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/bandwidth/node.def @@ -0,0 +1,11 @@ +type: txt +help: Set the available bandwidth for this policy +default: "auto" +syntax:expression: exec "[[ \"$VAR(@)\" == \"auto\" ]] || \ + /opt/vyatta/sbin/vyatta-qos-util.pl --rate \"$VAR(@)\"" +comp_help: Allowed values: + auto Set bandwidth based on interface speed (default) + Bandwidth in Kbps + Value with scaling suffix + bits per sec (kbit, mbit, gbit) + bytes per sec (kbps, mbps, gbps) diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/bandwidth/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/bandwidth/node.def new file mode 100644 index 0000000..839cb0f --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/bandwidth/node.def @@ -0,0 +1,11 @@ +type: txt +default: "100%" +help: Set the bandwidth used for this class +syntax:expression: exec "[[ \"$VAR(@)\" =~ '^[0-9]+(\.[0-9]*)?%$' ]] || \ + /opt/vyatta/sbin/vyatta-qos-util.pl --rate \"$VAR(@)\"" +comp_help: Allowed values: + Bandwidth in Kbps + % Percentage of overall rate (default 100%) + Value with scaling suffix + bits per sec (kbit, mbit, gbit) + bytes per sec (kbps, mbps, gbps) diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/ceiling/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/ceiling/node.def index f20191b..65909d0 100644 --- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/ceiling/node.def +++ b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/ceiling/node.def @@ -1,4 +1,9 @@ type: txt -help: Set the limit for this class +help: Set the bandwidth limit for this class syntax:expression: exec "[[ \"$VAR(@)\" =~ '^[0-9]+(\.[0-9]*)?%$' ]] || \ /opt/vyatta/sbin/vyatta-qos-util.pl --rate \"$VAR(@)\"" +comp_help: Allowed values: + Limit in Kbps + % Percentage of overall rate (default 100%) + Value with scaling suffix + bits per sec (kbit, mbit, gbit) diff --git a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/rate/node.def b/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/rate/node.def deleted file mode 100644 index 94fdd42..0000000 --- a/templates/qos-policy/traffic-shaper/node.tag/class/node.tag/rate/node.def +++ /dev/null @@ -1,11 +0,0 @@ -type: txt -default: "100%" -help: Set the base rate for this class -syntax:expression: exec "[[ \"$VAR(@)\" =~ '^[0-9]+(\.[0-9]*)?%$' ]] || \ - /opt/vyatta/sbin/vyatta-qos-util.pl --rate \"$VAR(@)\"" -comp_help: Allowed values: - % Percentage of overall rate (default 100%) - Bitrate with scaling suffix - bits per sec (kbit, mbit, gbit) - bytes per sec (kbps, mbps, gbps) - diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/bandwidth/node.def b/templates/qos-policy/traffic-shaper/node.tag/default/bandwidth/node.def new file mode 100644 index 0000000..d728aa1 --- /dev/null +++ b/templates/qos-policy/traffic-shaper/node.tag/default/bandwidth/node.def @@ -0,0 +1,11 @@ +type: txt +help: Set the bandwidth used for default traffic +syntax:expression: exec "[[ \"$VAR(@)\" =~ '^[0-9]+(\.[0-9]*)?%$' ]] || \ + /opt/vyatta/sbin/vyatta-qos-util.pl --rate \"$VAR(@)\"" +comp_help: Allowed values: + Bandwidth in Kbps per second + % Percentage of overall rate + Value with scaling suffix + bits per sec (kbit, mbit, gbit) + bytes per sec (kbps, mbps, gbps) + diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/ceiling/node.def b/templates/qos-policy/traffic-shaper/node.tag/default/ceiling/node.def index a72de5d..4b8bb3f 100644 --- a/templates/qos-policy/traffic-shaper/node.tag/default/ceiling/node.def +++ b/templates/qos-policy/traffic-shaper/node.tag/default/ceiling/node.def @@ -1,6 +1,10 @@ type: txt -help: Set the limit for default traffic +help: Set the bandwidth limit for default traffic default: "100%" syntax:expression: exec "[[ \"$VAR(@)\" =~ '^[0-9]+(\.[0-9]*)?%$' ]] || \ /opt/vyatta/sbin/vyatta-qos-util.pl --rate \"$VAR(@)\"" - +comp_help: Allowed values: + Limit in Kbps + % Percentage of overall rate (default 100%) + Value with scaling suffix + bits per sec (kbit, mbit, gbit) diff --git a/templates/qos-policy/traffic-shaper/node.tag/default/rate/node.def b/templates/qos-policy/traffic-shaper/node.tag/default/rate/node.def deleted file mode 100644 index b206332..0000000 --- a/templates/qos-policy/traffic-shaper/node.tag/default/rate/node.def +++ /dev/null @@ -1,11 +0,0 @@ -type: txt -default: "50%" -help: Set the rate for default traffic -syntax:expression: exec "[[ \"$VAR(@)\" =~ '^[0-9]+(\.[0-9]*)?%$' ]] || \ - /opt/vyatta/sbin/vyatta-qos-util.pl --rate \"$VAR(@)\"" -comp_help: Allowed values: - % Percentage of overall rate (default 50%) - Bitrate with scaling suffix - bits per sec (kbit, mbit, gbit) - bytes per sec (kbps, mbps, gbps) - diff --git a/templates/qos-policy/traffic-shaper/node.tag/rate/node.def b/templates/qos-policy/traffic-shaper/node.tag/rate/node.def deleted file mode 100644 index 1dc02ad..0000000 --- a/templates/qos-policy/traffic-shaper/node.tag/rate/node.def +++ /dev/null @@ -1,10 +0,0 @@ -type: txt -help: Set the base rate for this policy -default: "auto" -syntax:expression: exec "[[ \"$VAR(@)\" == \"auto\" ]] || \ - /opt/vyatta/sbin/vyatta-qos-util.pl --rate \"$VAR(@)\"" -comp_help: Allowed values: - auto Set rate based on interface speed (default) - Bitrate with scaling suffix - bits per sec (kbit, mbit, gbit) - bytes per sec (kbps, mbps, gbps) -- cgit v1.2.3