]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/commit
fq_codel: Fair Queue Codel AQM
authorEric Dumazet <edumazet@google.com>
Fri, 11 May 2012 09:49:50 +0000 (09:49 +0000)
committerStephen Hemminger <shemminger@vyatta.com>
Tue, 22 May 2012 21:17:49 +0000 (14:17 -0700)
commitc3524efc14e3112329a18bc699dd99437fae9a5c
tree5536e3f05f296284e9791c08d97cbeefb868c588
parent185d88f99b16accb05add11bdc7b3ca6c12dfac0
fq_codel: Fair Queue Codel AQM

Fair Queue Codel packet scheduler

Principles :

- Packets are classified (internal classifier or external) on flows.
- This is a Stochastic model (as we use a hash, several flows might
                              be hashed on same slot)
- Each flow has a CoDel managed queue.
- Flows are linked onto two (Round Robin) lists,
  so that new flows have priority on old ones.

- For a given flow, packets are not reordered (CoDel uses a FIFO)
- head drops only.
- ECN capability is on by default.
- Very low memory footprint (64 bytes per flow)

tc qdisc ... fq_codel [ limit PACKETS ] [ flows number ]
                      [ target TIME ] [ interval TIME ] [ noecn ]
                      [ quantum BYTES ]

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Dave Taht <dave.taht@bufferbloat.net>
Cc: Kathleen Nichols <nichols@pollere.com>
Cc: Van Jacobson <van@pollere.net>
Cc: Tom Herbert <therbert@google.com>
Cc: Matt Mathis <mattmathis@google.com>
Cc: Nandita Dukkipati <nanditad@google.com>
Cc: Maciej Żenczykowski <maze@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: Changli Gao <xiaosuo@gmail.com>
tc/Makefile
tc/q_fq_codel.c [new file with mode: 0644]