diff options
Diffstat (limited to 'lib/Vyatta/Qos')
-rw-r--r-- | lib/Vyatta/Qos/TrafficLimiter.pm | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/Vyatta/Qos/TrafficLimiter.pm b/lib/Vyatta/Qos/TrafficLimiter.pm index e5731d0..ff4a8d2 100644 --- a/lib/Vyatta/Qos/TrafficLimiter.pm +++ b/lib/Vyatta/Qos/TrafficLimiter.pm @@ -76,11 +76,18 @@ sub _define { } sub commands { - my ( $self, $dev ) = @_; + my ( $self, $dev, $direction ) = @_; my $classes = $self->{_classes}; - my $parent = 0xffff; + my $parent; + + if ($direction eq 'in') { + $parent = 0xffff; + printf "qdisc add dev %s handle %x: ingress\n", $dev, $parent; + } else { + $parent = 1; + printf "qdisc add dev %s handle $x: prio\n", $dev, $parent; + } - printf "qdisc add dev %s handle %x: ingress\n", $dev, $parent; foreach my $class (@$classes) { foreach my $match ( $class->matchRules() ) { my $police = " police rate " . $class->{rate} |