History log of /external/iproute2/tc/q_sfq.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6987ecf0832d62350ea10432f3f1f7a84c457b81 20-Jan-2012 Eric Dumazet <eric.dumazet@gmail.com> sfq: add optional RED on top of SFQ

Adds an optional Random Early Detection on each SFQ flow queue.

Traditional SFQ limits count of packets, while RED permits to also
control number of bytes per flow, and adds ECN capability as well.

1) We dont handle the idle time management in this RED implementation,
since each 'new flow' begins with a null qavg. We really want to address
backlogged flows.

2) if headdrop is selected, we try to ecn mark first packet instead of
currently enqueued packet. This gives faster feedback for tcp flows
compared to traditional RED [ marking the last packet in queue ]

Example of use :

tc qdisc add dev $DEV parent 1:1 handle 10: est 1sec 4sec sfq \
limit 3000 headdrop flows 512 divisor 16384 \
redflowlimit 100000 min 8000 max 60000 probability 0.20 ecn

qdisc sfq 10: parent 1:1 limit 3000p quantum 1514b depth 127 headdrop
flows 512/16384 divisor 16384
ewma 6 min 8000b max 60000b probability 0.2 ecn
prob_mark 0 prob_mark_head 4876 prob_drop 6131
forced_mark 0 forced_mark_head 0 forced_drop 0
Sent 1175211782 bytes 777537 pkt (dropped 6131, overlimits 11007
requeues 0)
rate 99483Kbit 8219pps backlog 689392b 456p requeues 0

In this test, with 64 netperf TCP_STREAM sessions, 50% using ECN enabled
flows, we can see number of packets CE marked is smaller than number of
drops (for non ECN flows)

If same test is run, without RED, we can check backlog is much bigger.

qdisc sfq 10: parent 1:1 limit 3000p quantum 1514b depth 127 headdrop
flows 512/16384 divisor 16384
Sent 1148683617 bytes 795006 pkt (dropped 0, overlimits 0 requeues 0)
rate 98429Kbit 8521pps backlog 1221290b 841p requeues 0

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
/external/iproute2/tc/q_sfq.c
f3f28c2126343fea70a697fc61392c433e0dc9e1 23-Jan-2011 Eric Dumazet <eric.dumazet@gmail.com> sfq: add divisor support

In 2.6.39, we can build SFQ queues with a given hash table size,
/external/iproute2/tc/q_sfq.c
8d8de1139c95d79bc1b5ac1ec301a30ef5e6ee50 12-Jan-2010 Florian Westphal <fw@strlen.de> tc: remove stale code

remove unused #define and "ok" statements.

Signed-off-by: Florian Westphal <fwestphal@astaro.com>
/external/iproute2/tc/q_sfq.c
5626a24a8bcbbd149718a5bf148eb18b61d46538 31-Jan-2008 Patrick McHardy <kaber@trash.net> Add support for SFQ xstats

[IPROUTE]: Add support for SFQ xstats

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
/external/iproute2/tc/q_sfq.c
95812b56a5a66e7e9a21744cfe8bc0bb9791ea98 28-Sep-2004 net[shemminger]!kaber <net[shemminger]!kaber> : prevent tc crashes

(Logical change 1.81)
/external/iproute2/tc/q_sfq.c
f2f99e2eefdbd9cb6a750b19a7b3036db351b983 31-Aug-2004 osdl.net!shemminger <osdl.net!shemminger> no longer need xstats stub

(Logical change 1.77)
/external/iproute2/tc/q_sfq.c
aba5acdfdb347d2c21fc67d613d83d4430ca3937 15-Apr-2004 osdl.org!shemminger <osdl.org!shemminger> (Logical change 1.3)
/external/iproute2/tc/q_sfq.c
86fdf0e47be697587efcf9602cd1f952a1d73170 15-Apr-2004 osdl.org!shemminger <osdl.org!shemminger> Initial revision
/external/iproute2/tc/q_sfq.c