Age | Commit message (Collapse) | Author |
|
Use more multi-level directory hierarchy instead of having all
modules at top level.
|
|
This adds support for Qos using incoming policing. It is accepts the
syntax and processes commands, but is not fully debugged.
Bugfix: 3664
|
|
Need to handle the case of devices that don't know their current speed.
In this case, ethtool will print "Unknown!" which the old code wasn't
handling right.
Move the default speed stuff down into traffic shaper code as well,
so any future policies using auto can make other choices as to what
to do in this case.
Bugfix: 3450
|
|
When validating the class rates, need to leave the array of
classes in original form for later command processing.
Bugfix 3458
|
|
Since configuration system doesn't correctly notify on addition/deletion,
have to introduce this extra verbosity to have each traffic-shaper type
check for changes.
Bugfix for 3452
|
|
|
|
Should say "greater or equal" not "less than"
Bug 2919
|
|
Bugfix 2919
As long as the bandwidth isn't auto, then validate at commit time.
|
|
Add newline in right spot so words don't run together.
|
|
One more try at explaining why rates must be correct.
|
|
Use tcindex to get original dsfield value.
Fixes bug: 3033
|
|
This might resolve issues with set-dscp and later dscp matches.
|
|
One of the parameters to TrafficShaper::_define was not being passed
or used.
|
|
Change the existing warning into a failure. No one reads warnings,
and the shaping is unstable if ceiling < bandwidth.
|
|
Slightly better message for the case of using auto value for bandwidth
on a device does not support it.
Bug: 3104
|
|
Yet another place where id needs to be converted to hex.
Should fix bug 3078.
|
|
This fixes problem which causes QoS not to fail on commit if ceiling
is a percentage.
The ceiling maybe a percentage (not fixed) value so it needs to
be interpreted before passing to tc.
|
|
ceiling parameter was not being forwarded to kernel.
|
|
If the customer has incorrectly assigned bandwidth and
rate ceilings for QOS, the problem can not be detected until
commit. At that point (possibly during boot), it is better to
print a warning rather than failing.
This addresses Bug 2919.
|
|
|
|
The generated filtering rules were using wrong id's when
set-dscp was being used. Need to put dsmark rules on root,
and htb rules on start of that tree, and the id needs to
be printed in hex not decimal.
Bugfix: 2947
|
|
Bugfix: 2919
But configuration level in error message
|
|
Having a hardcoded switch statement is harder to update than
using a hash.
|
|
This adds ability to choose the underlying queue type for traffic shaper
classes:
drop-tail => fifo
random-detect => red
fair-queue => sfq
priority => prio
For Red, the values are computed based on the bandwidth so it is much
simpler than raw tc usage.
|
|
This makes dsmark work. Need to round up to power of 2 and also
pass parent down to handle nested case properly.
|
|
Matching on 'ip' uses the u32 tc filter and other match types 'interface',
'vif' use the basic tc filter. Since kernel doesn't allow mixing filter
types in the same classifier, need to catch and report the problem rather
than failing in the actual commands.
|
|
add preliminary support for dsmark (still needs testing).
allow class 2 (compute default class as n+1)
|
|
1. checking for name clash shouldn't see self
2. leftover from rate to bandwidth name change
3. leftover debug message.
|
|
Make qos syntax more familar to IOS users.
|
|
This is preliminary (still needs testing) but get the syntax and basic structure
in place.
|
|
Try for complete sentences for describing problem.
|
|
Fix a number of perl scoping bugs that kept auto rate processing
from working.
|
|
|
|
Forgot to hexify the value. Tc takes classnames in hex.
|
|
This the initial checkin prior to integration
|