summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2011-08-02 14:22:03 -0700
committerStephen Hemminger <shemminger@vyatta.com>2011-08-02 14:22:03 -0700
commit05b8aa2ef80ee180d85c5025cf5e7d749853d805 (patch)
tree1ba1e882a87afe7e0e3f44a3b510b5dd39d6c955 /scripts
parent3a75269b92c234f6c0c011c49c5643699d221e80 (diff)
downloadvyatta-cfg-qos-05b8aa2ef80ee180d85c5025cf5e7d749853d805.tar.gz
vyatta-cfg-qos-05b8aa2ef80ee180d85c5025cf5e7d749853d805.zip
Fix Qos start interface
The start-interface option was not correctly handling both in and out directions. This is part of the problem with OpenVPN, and also shows up when doing QoS on PPP.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/vyatta-qos.pl11
1 files changed, 7 insertions, 4 deletions
diff --git a/scripts/vyatta-qos.pl b/scripts/vyatta-qos.pl
index 7c4a014..469c50f 100755
--- a/scripts/vyatta-qos.pl
+++ b/scripts/vyatta-qos.pl
@@ -137,11 +137,14 @@ sub start_interface {
next unless $path;
my $config = new Vyatta::Config;
- $config->setLevel( $path );
- my $policy = $config->returnValue('traffic-policy');
+ $config->setLevel($path . ' traffic-policy');
- update_interface( $ifname, $policy ) if ($policy);
- update_action( $ifname );
+ foreach my $direction ($config->listNodes()) {
+ my $policy = $config->returnValue($direction);
+ next unless $policy;
+
+ update_interface( $ifname, $direction, $policy );
+ }
}
}