diff options
Diffstat (limited to 'lib/Vyatta/Qos/TrafficShaper.pm')
-rw-r--r-- | lib/Vyatta/Qos/TrafficShaper.pm | 11 |
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} ); + } } } |