diff options
| author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2008-01-30 12:19:39 -0800 | 
|---|---|---|
| committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2008-01-30 12:19:39 -0800 | 
| commit | 86fc4e7801919a1da123f34500218a69a30c2059 (patch) | |
| tree | b74d8bc3df7acc298420667710f4d60447504dff /scripts/VyattaQosFairQueue.pm | |
| download | vyatta-cfg-qos-86fc4e7801919a1da123f34500218a69a30c2059.tar.gz vyatta-cfg-qos-86fc4e7801919a1da123f34500218a69a30c2059.zip | |
Initial version of vyatta-cfg-qosdebian/0.1
This the initial checkin prior to integration
Diffstat (limited to 'scripts/VyattaQosFairQueue.pm')
| -rw-r--r-- | scripts/VyattaQosFairQueue.pm | 41 | 
1 files changed, 41 insertions, 0 deletions
| diff --git a/scripts/VyattaQosFairQueue.pm b/scripts/VyattaQosFairQueue.pm new file mode 100644 index 0000000..d943db2 --- /dev/null +++ b/scripts/VyattaQosFairQueue.pm @@ -0,0 +1,41 @@ +package VyattaQosFairQueue; +@ISA = qw/VyattaQosPolicy/; + +# +# This is a wrapper around Stochastic Fair Queue(SFQ) queue discipline +# Since SFQ is a hard to explain, use the name fair-queue since SFQ +# is most similar to Weighted Fair Queue (WFQ) on Cisco IOS. +# + +use strict; + +require VyattaConfig; + +# Fair Queue +# Uses SFQ which is similar to (but not same as) WFQ + +my %fields = ( +    _perturb => undef, +    _limit   => undef, +); + +sub new { +    my ( $that, $config ) = @_; +    my $class = ref($that) || $that; +    my $self = {%fields}; + +    $self->{_perturb} = $config->returnValue("rekey-interval"); +    $self->{_limit}   = $config->returnValue("queue-limit"); +    return bless $self, $class; +} + +sub commands { +    my ( $self, $out, $dev ) = @_; +     +    print {$out} "qdisc add dev $dev root sfq"; +    print {$out} " perturb $self->{_perturb}" if ( defined $self->{_perturb} ); +    print {$out} " limit $self->{_limit}"     if ( defined $self->{_limit} ); +    print "\n"; +} + +1; | 
