1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 Required functionality vs. Available solutions
3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8 -- pros: Seems to be quite versatile.
9 -- cons: Difficult to write rules (i.e. exact byte values).
10 Possibly problems with different endianess?
13 -- pros: CAN specific filter.
22 -- cons: Classless (contains so called Bands).
23 Packets are classified accordint their TOS bits or assigned (from
24 socket() syscall?) priority.
33 -- more info: http://luxik.cdi.cz/~devik/qos/htb/
34 -- pros: Creates hierarchy of restriction rules.
35 Diferentiates between "guaranteed flow rate" and "maximum flow"
36 (i.e. "ceiling" -- "This limits how much bandwidth class can
40 -- more info: http://www.pps.jussieu.fr/~jch/software/sfb/README
41 -- cons: Doesn't treat every flow the same.
43 -- Abstract of paper describing general SFB algorithm:
44 This paper describes and evaluates Stochastic Fair Blue (SFB), a
45 novel technique for enforcing fairneas among a large number of
46 flows. SFB scalably detects and rate-timits non-responsive flows
47 through the use of a marking probability derived from the BLUE
48 queue management algorithm and a Bloom filter. Using analysis
49 and simulation, SFB is shown to effectively handle non-responsive
50 flows using an extremely small amount of state information.
53 Since sfb penalises inelastic flows rather severely, you may want to
54 put another qdisc above sfb to bypass sfb for such flows. And of
55 course if you're rate-limiting (e.g. using cbq, tbf or htb) you'll
56 want to do that above sfb.
61 -- cons: Apparently works only for Intel NICs with hardware support of
65 -- cons: Only for NICs with more than 1 TX queues.
68 -- cons: Seems to be classful although all classes have to be of type "drr".
70 Like SFQ, DRR is only useful when it owns the queue -- it is a pure
71 scheduler and does not delay packets. Attaching non-work-conserving
72 qdiscs like tbf to it does not make sense -- other qdiscs in the active
73 list will also become inactive until the dequeue operation succeeds.
74 Embed DRR within another qdisc like HTB or HFSC to ensure it owns the
78 -- cons: Too complex (everybody discourages from using it).
79 Uses Weighted Round Robin for dequeuing -- this behaves in the same
80 way as "prio" qdisc (i.e. not useful for us).