[Top] [All Lists]

CBQ and all other qdiscs now REALLY completely documented (almost!)

To: lartc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, kuznet@xxxxxxxxxxxxx, hadi@xxxxxxxxxx, netdev@xxxxxxxxxxx
Subject: CBQ and all other qdiscs now REALLY completely documented (almost!)
From: bert hubert <ahu@xxxxxxx>
Date: Mon, 3 Dec 2001 03:00:02 +0100
In-reply-to: <20011201013341.A23830@xxxxxxxxxxxxxxx>; from ahu@xxxxxxx on Sat, Dec 01, 2001 at 01:33:41AM +0100
Mail-followup-to: bert hubert <ahu@xxxxxxx>, lartc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, kuznet@xxxxxxxxxxxxx, hadi@xxxxxxxxxx, netdev@xxxxxxxxxxx
References: <20011201013341.A23830@xxxxxxxxxxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx
User-agent: Mutt/1.2.5i
On Sat, Dec 01, 2001 at 01:33:41AM +0100, bert hubert wrote:

> One thing - does *anybody* understand how hash tables work in tc filter, and
> what they do? Furthermore, I could use some help with the tc filter police
> things.

Thanks to Andreas Steinmetz and David Sauer, tc hash tables are now
documented as well, thanks!


And then 'Hashing filters for very fast massive filtering'.

I also finished documenting all parameters for TBF, CBQ, SFQ, PRIO,
bfifo, pfifo and pfifo_fast. All queues in the Linux kernel are now
described in the Linux Advanced Routing & Shaping HOWTO, which can be found on 


I want to send this off to the LDP and Freshmeat somewhere next week, I
*would really* like people who are knowledgeable about this subject (this
means you, ANK & Jamal 8) ) to read through this. 

This HOWTO is rapidly becoming the perceived authoritative source for
traffic control in linux (google on 'Linux Routing' finds it), it might as
well be right! So if you have any time at all, check the parts you know
about. I expect mistakes.

The parts of the table of contents that document stuff in the kernel not
documented elsewhere:

9. Queueing Disciplines for Bandwidth Management
   9.1 Queues and Queueing Disciplines explained
   9.2 Simple, classless Queueing Disciplines
      9.2.1 pfifo_fast Parameters & usage
      9.2.2 Token Bucket Filter Parameters & usage Sample configuration
      9.2.3 Stochastic Fairness Queueing Parameters & usage Sample configuration
   9.3 Advice for when to use which queue
   9.4 Classful Queueing Disciplines
      9.4.1 Flow within classful qdiscs & classes
      9.4.2 The qdisc family: roots, handles, siblings and parents How filters are used to classify traffic How packets are dequeued to the hardware
      9.4.3 The PRIO qdisc PRIO parameters & usage Sample configuration
      9.4.4 The famous CBQ qdisc CBQ shaping in detail CBQ classful behaviour CBQ parameters that determine link sharing & borrowing Sample configuration Other CBQ parameters: split & defmap
      9.4.5 Hierarchical Token Bucket Sample configuration
   9.5 Classifying packets with filters
      9.5.1 Some simple filtering examples
      9.5.2 All the filtering commands you will normally need


12. Advanced filters for (re-)classifying packets
    12.1 The "u32" classifier
       12.1.1 U32 selector
       12.1.2 General selectors
       12.1.3 Specific selectors
    12.2 The "route" classifier
    12.3 Policing filters
    12.4 Hashing filters for very fast massive filtering


14. Advanced & less common queueing disciplines
   14.1 bfifo/pfifo
      14.1.1 Parameters & usage
   14.2 Clark-Shenker-Zhang algorithm (CSZ)
   14.3 DSMARK
      14.3.1 Introduction
      14.3.2 What is Dsmark related to?
      14.3.3 Differentiated Services guidelines
      14.3.4 Working with Dsmark
      14.3.5 How SCH_DSMARK works.
      14.3.6 TC_INDEX Filter
   14.4 Ingress policer qdisc
   14.5 Random Early Drop (RED)
   14.6 VC/ATM emulation
   14.7 Weighted Round Robin (WRR)

The only thing left to document are Policing filters.


bert hubert

--          Versatile DNS Software & Services
Trilab                                 The Technology People
Netherlabs BV /           - Nerd Available -
'SYN! .. SYN|ACK! .. ACK!' - the mating call of the internet

<Prev in Thread] Current Thread [Next in Thread>