diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2010-03-29 12:04:53 -0700 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2010-03-29 12:15:17 -0700 |
commit | 0c166d59d9adc0d73bf91f1f9f9b025c09d4948b (patch) | |
tree | fd82e04e15590ee1dac16b8e6df5bdfe1896fcaf /lib/Vyatta/Qos | |
parent | 9abea22b6029c506cff3f88fb5a93d9b2206e256 (diff) | |
download | vyatta-cfg-qos-0c166d59d9adc0d73bf91f1f9f9b025c09d4948b.tar.gz vyatta-cfg-qos-0c166d59d9adc0d73bf91f1f9f9b025c09d4948b.zip |
Allow use of traffic-limiter for output policy
Simple limiting on output.
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} |