From 7f42350146525544bd38db2426d6f5c7b99302c2 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Fri, 30 Jul 2010 11:52:27 -0700 Subject: Make round-robin quantum per class Bug 5958 --- lib/Vyatta/Qos/RoundRobin.pm | 4 +--- lib/Vyatta/Qos/ShaperClass.pm | 2 ++ .../round-robin/node.tag/class/node.tag/quantum/node.def | 4 ++++ .../traffic-policy/round-robin/node.tag/default/quantum/node.def | 4 ++++ templates/traffic-policy/round-robin/node.tag/quantum/node.def | 4 ---- 5 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 templates/traffic-policy/round-robin/node.tag/class/node.tag/quantum/node.def create mode 100644 templates/traffic-policy/round-robin/node.tag/default/quantum/node.def delete mode 100644 templates/traffic-policy/round-robin/node.tag/quantum/node.def diff --git a/lib/Vyatta/Qos/RoundRobin.pm b/lib/Vyatta/Qos/RoundRobin.pm index d9cedfd..07aa8f7 100644 --- a/lib/Vyatta/Qos/RoundRobin.pm +++ b/lib/Vyatta/Qos/RoundRobin.pm @@ -82,9 +82,7 @@ sub commands { my $classes = $self->{_classes}; my $parent = 1; - printf "qdisc add dev %s root handle %x: drr", $dev, $parent; - print " quantum $self->{_quantum}" if ( $self->{_quantum} ); - print "\n"; + printf "qdisc add dev %s root handle %x: drr\n", $dev, $parent; foreach my $class (sort { $a->{id} <=> $b->{id} } @$classes) { $class->gen_class( $dev, 'drr', $parent ); diff --git a/lib/Vyatta/Qos/ShaperClass.pm b/lib/Vyatta/Qos/ShaperClass.pm index f895239..b84b057 100644 --- a/lib/Vyatta/Qos/ShaperClass.pm +++ b/lib/Vyatta/Qos/ShaperClass.pm @@ -49,6 +49,7 @@ sub new { $self->{_qdisc} = $config->returnValue("queue-type"); $self->{_avgpkt} = $config->returnValue("packet-length"); $self->{_latency} = $config->returnValue("latency"); + $self->{_quantum} = $config->returnValue("quantum"); $self->{dsmark} = getDsfield( $config->returnValue("set-dscp") ); my @matches = _getMatch("$level match"); @@ -256,6 +257,7 @@ sub gen_class { print " ceil $ceil" if ($ceil); print " burst $self->{_burst}" if ( $self->{_burst} ); print " prio $self->{_priority}" if ( $self->{_priority} ); + print " quantum $self->{_quantum}" if ( $self->{_quantum} ); print "\n"; } diff --git a/templates/traffic-policy/round-robin/node.tag/class/node.tag/quantum/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/quantum/node.def new file mode 100644 index 0000000..7763166 --- /dev/null +++ b/templates/traffic-policy/round-robin/node.tag/class/node.tag/quantum/node.def @@ -0,0 +1,4 @@ +type: u32 +help: Packet scheduling quantum +syntax:expression: $VAR(@) > 0 ; "Quantum must be greater than zero" +val_help: u32:1-4294967295; Packet scheduling quantum (bytes) diff --git a/templates/traffic-policy/round-robin/node.tag/default/quantum/node.def b/templates/traffic-policy/round-robin/node.tag/default/quantum/node.def new file mode 100644 index 0000000..7763166 --- /dev/null +++ b/templates/traffic-policy/round-robin/node.tag/default/quantum/node.def @@ -0,0 +1,4 @@ +type: u32 +help: Packet scheduling quantum +syntax:expression: $VAR(@) > 0 ; "Quantum must be greater than zero" +val_help: u32:1-4294967295; Packet scheduling quantum (bytes) diff --git a/templates/traffic-policy/round-robin/node.tag/quantum/node.def b/templates/traffic-policy/round-robin/node.tag/quantum/node.def deleted file mode 100644 index 7763166..0000000 --- a/templates/traffic-policy/round-robin/node.tag/quantum/node.def +++ /dev/null @@ -1,4 +0,0 @@ -type: u32 -help: Packet scheduling quantum -syntax:expression: $VAR(@) > 0 ; "Quantum must be greater than zero" -val_help: u32:1-4294967295; Packet scheduling quantum (bytes) -- cgit v1.2.3