summaryrefslogtreecommitdiff
path: root/lib/Vyatta/Qos/TrafficLimiter.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Vyatta/Qos/TrafficLimiter.pm')
-rw-r--r--lib/Vyatta/Qos/TrafficLimiter.pm13
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}