summaryrefslogtreecommitdiff
path: root/lib/Vyatta/Qos/TrafficShaper.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Vyatta/Qos/TrafficShaper.pm')
-rw-r--r--lib/Vyatta/Qos/TrafficShaper.pm11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/Vyatta/Qos/TrafficShaper.pm b/lib/Vyatta/Qos/TrafficShaper.pm
index a923981..4d43c4e 100644
--- a/lib/Vyatta/Qos/TrafficShaper.pm
+++ b/lib/Vyatta/Qos/TrafficShaper.pm
@@ -147,8 +147,15 @@ sub commands {
printf "class add dev %s parent %x: classid %x:1 htb rate %s\n",
$dev, $parent, $parent, $rate;
- foreach my $class (sort { $a->{id} <=> $b->{id} } @$classes) {
- $class->commands( $dev, 'htb', $parent, $rate);
+ foreach my $class (@$classes) {
+ $class->gen_class( $dev, 'htb', $parent, $rate );
+ $class->gen_leaf( $dev, $parent, $rate );
+
+ my $prio = 1;
+ foreach my $match ( $class->matchRules() ) {
+ $match->filter( $dev, $parent, $class->{id}, $prio++,
+ $class->{dsmark} );
+ }
}
}