diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-06-11 16:55:29 -0700 |
---|---|---|
committer | Stephen Hemminger <shemminger@lenny.localdomain> | 2009-10-01 13:51:20 -0700 |
commit | 4cd540436f0b946ca6b8206d7166c56094a6e9e4 (patch) | |
tree | d91578c7594725bf43c2f53307c60011af46fa77 /lib/Vyatta/Qos/TrafficShaper.pm | |
parent | ba4170471de90b2a32abeff6b48ec13461e7f9b1 (diff) | |
download | vyatta-cfg-qos-4cd540436f0b946ca6b8206d7166c56094a6e9e4.tar.gz vyatta-cfg-qos-4cd540436f0b946ca6b8206d7166c56094a6e9e4.zip |
Cleanup how qos-policy change detection works
The CLI end: node does work correctly, so don't need to go walking configuration
manually
Bug 4545
(cherry picked from commit 377896b296827e4d7c3c20debb3487605c45bbe3)
Diffstat (limited to 'lib/Vyatta/Qos/TrafficShaper.pm')
-rw-r--r-- | lib/Vyatta/Qos/TrafficShaper.pm | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/lib/Vyatta/Qos/TrafficShaper.pm b/lib/Vyatta/Qos/TrafficShaper.pm index c808c7d..f51d373 100644 --- a/lib/Vyatta/Qos/TrafficShaper.pm +++ b/lib/Vyatta/Qos/TrafficShaper.pm @@ -157,66 +157,4 @@ sub commands { } } -# Walk configuration tree and look for changed nodes -# The configuration system should do this but doesn't do it right -sub isChanged { - my ( $self, $name ) = @_; - my $config = new Vyatta::Config; - my @attributes = qw(bandwidth burst ceiling priority queue-limit queue-type); - - $config->setLevel("qos-policy traffic-shaper $name"); - - if ( $config->isChanged('bandwidth') ) { - return 'bandwidth'; - } - - foreach my $attr (@attributes) { - if ( $config->isChanged("default $attr") ) { - return "default $attr"; - } - } - - my %classNodes = $config->listNodeStatus('class'); - while ( my ( $class, $status ) = each %classNodes ) { - if ( $status ne 'static' ) { - return "class $class"; - } - - foreach my $attr (@attributes) { - if ( $config->isChanged("class $class $attr") ) { - return "class $class $attr"; - } - } - - my %matchNodes = $config->listNodeStatus("class $class match"); - while ( my ( $match, $status ) = each %matchNodes ) { - my $level = "class $class match $match"; - if ( $status ne 'static' ) { - return $level; - } - - foreach my $parm ( - 'vif', - 'ether destination', - 'ether source', - 'ether protocol', - 'interface', - 'ip dscp', - 'ip protocol', - 'ip source address', - 'ip destination address', - 'ip source port', - 'ip destination port' - ) - { - if ( $config->isChanged("$level $parm") ) { - return "$level $parm"; - } - } - } - } - - return; # false -} - 1; |