Classification
==============
* u32
- -- pros: Seems to be quite versatile
- -- cons: Difficult to write rules (i.e. exact byte values)
+ -- pros: Seems to be quite versatile.
+ -- cons: Difficult to write rules (i.e. exact byte values).
Possibly problems with different endianess?
* Canprio (!)
- -- pros: CAN specific filter
+ -- pros: CAN specific filter.
Priority queues
===============
* Prio (!)
- -- pros: Classfull
-
+ -- pros: Classfull.
+
+* pfifo_fast
+ -- cons: Classless (contains so called Bands).
+ Packets are classified accordint their TOS bits or assigned (from
+ socket() syscall?) priority.
Throttling
==========
* TBF (!)
- -- pros: Classfull
- Peakrate management
+ -- pros: Classfull.
+ Peakrate management.
* HTB (!)
+ -- more info: http://luxik.cdi.cz/~devik/qos/htb/
+ -- pros: Creates hierarchy of restriction rules.
+ Diferentiates between "guaranteed flow rate" and "maximum flow"
+ (i.e. "ceiling" -- "This limits how much bandwidth class can
+ borrow").
* SFB
-- more info: http://www.pps.jussieu.fr/~jch/software/sfb/README
- -- ???
+ -- cons: Doesn't treat every flow the same.
+
+ -- Abstract of paper describing general SFB algorithm:
+ This paper describes and evaluates Stochastic Fair Blue (SFB), a
+ novel technique for enforcing fairneas among a large number of
+ flows. SFB scalably detects and rate-timits non-responsive flows
+ through the use of a marking probability derived from the BLUE
+ queue management algorithm and a Bloom filter. Using analysis
+ and simulation, SFB is shown to effectively handle non-responsive
+ flows using an extremely small amount of state information.
+
+ -- README says:
+ Since sfb penalises inelastic flows rather severely, you may want to
+ put another qdisc above sfb to bypass sfb for such flows. And of
+ course if you're rate-limiting (e.g. using cbq, tbf or htb) you'll
+ want to do that above sfb.
Round-robin dequeuing
=====================
-- cons: Apparently works only for Intel NICs with hardware support of
multiple queues.
+* mq
+ -- cons: Only for NICs with more than 1 TX queues.
+
* drr
- -- cons: Seems to be classful although all classes have to be of type "drr"
+ -- cons: Seems to be classful although all classes have to be of type "drr".
Manpage says:
Like SFQ, DRR is only useful when it owns the queue -- it is a pure
scheduler and does not delay packets. Attaching non-work-conserving
queue.
* CBQ
- -- cons: Too complex (everybody discourages from using it)
+ -- cons: Too complex (everybody discourages from using it).
Uses Weighted Round Robin for dequeuing -- this behaves in the same
- way as "prio" qdisc (i.e. not useful for us)
+ way as "prio" qdisc (i.e. not useful for us).