summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2010-07-30 12:56:06 -0700
committerStephen Hemminger <stephen.hemminger@vyatta.com>2010-07-30 12:56:06 -0700
commit8ccebf1ee282d86594ccc83046b01e460b0d6d4c (patch)
tree290605c53a584d6b6f717aea802323ac92f2dfa2
parent75c129b0788ecd7b8584b871acd78672467acce2 (diff)
parent7f42350146525544bd38db2426d6f5c7b99302c2 (diff)
downloadvyatta-cfg-qos-8ccebf1ee282d86594ccc83046b01e460b0d6d4c.tar.gz
vyatta-cfg-qos-8ccebf1ee282d86594ccc83046b01e460b0d6d4c.zip
Merge branch 'larkspur' of vm:vyatta/larkspur/vyatta-cfg-qos into larkspur
-rw-r--r--lib/Vyatta/Qos/Match.pm6
-rw-r--r--lib/Vyatta/Qos/RoundRobin.pm4
-rw-r--r--lib/Vyatta/Qos/ShaperClass.pm2
-rw-r--r--templates/traffic-policy/round-robin/node.tag/class/node.tag/quantum/node.def (renamed from templates/traffic-policy/round-robin/node.tag/quantum/node.def)0
-rw-r--r--templates/traffic-policy/round-robin/node.tag/default/quantum/node.def4
5 files changed, 9 insertions, 7 deletions
diff --git a/lib/Vyatta/Qos/Match.pm b/lib/Vyatta/Qos/Match.pm
index dc6f2db..a6b16e9 100644
--- a/lib/Vyatta/Qos/Match.pm
+++ b/lib/Vyatta/Qos/Match.pm
@@ -133,14 +133,12 @@ sub filter {
my $type = $$p{protocol};
$type = 'all' unless $type;
+ print " protocol $type u32";
if ( defined( $$p{src} ) || defined( $$p{dest} ) ) {
- print " protocol $type u32";
print " match ether src $$p{src}" if $$p{src};
print " match ether dst $$p{dst}" if $$p{dst};
} else {
-
- # u32 requires some options to work but basic works
- print " protocol $type basic";
+ print " match u32 0 0";
}
} else {
print " protocol all u32";
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/quantum/node.def b/templates/traffic-policy/round-robin/node.tag/class/node.tag/quantum/node.def
index 7763166..7763166 100644
--- a/templates/traffic-policy/round-robin/node.tag/quantum/node.def
+++ b/templates/traffic-policy/round-robin/node.tag/class/node.tag/quantum/node.def
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)