summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Vyatta/Qos/ShaperClass.pm8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Vyatta/Qos/ShaperClass.pm b/lib/Vyatta/Qos/ShaperClass.pm
index 464c58d..a495863 100644
--- a/lib/Vyatta/Qos/ShaperClass.pm
+++ b/lib/Vyatta/Qos/ShaperClass.pm
@@ -173,13 +173,13 @@ sub redQdisc {
sub redValidate {
my ( $self, $level, $rate ) = @_;
my $limit = $self->{_limit};
- my $qmax = redQsize($rate);
+ my $qmax = int((redQsize($rate) + AVGPKT - 1) / AVGPKT);
- if ( defined($limit) && $limit * AVGPKT < $qmax ) {
+ if ( defined($limit) && $limit < $qmax ) {
print STDERR "Configuration error in: $level\n";
printf STDERR
-"The queue limit (%d) is too small, must be greater than %d when using random-detect\n",
- $level, $qmax / AVGPKT;
+"The queue limit (%d) is too small, must be %d or more when using random-detect\n",
+ $limit, $qmax;
exit 1;
}