From 0c166d59d9adc0d73bf91f1f9f9b025c09d4948b Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen.hemminger@vyatta.com>
Date: Mon, 29 Mar 2010 12:04:53 -0700
Subject: Allow use of traffic-limiter for output policy

Simple limiting on output.
---
 lib/Vyatta/Qos/TrafficLimiter.pm | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

(limited to 'lib/Vyatta/Qos')

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}
-- 
cgit v1.2.3