History log of /external/iproute2/tc/q_fq.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8fe9839857d73b770b8aa4e2d9753c6a2c20ad6d 25-Sep-2015 Stephen Hemminger <shemming@brocade.com> fq: fix whitespace
/external/iproute2/tc/q_fq.c
8d5bd8c302952c24b803b30093c880393935bf87 24-Sep-2015 Eric Dumazet <edumazet@google.com> tc: fq: allow setting and retrieving orphan_mask

linux-3.19 fq packet scheduler got a new attribute, controlling
number of 'flows' holding packets not attached to a socket
(forwarding usage)

kernel commit is 06eb395fa9856b5a87cf7d80baee2a0ed3cdb9d7
("pkt_sched: fq: better control of DDOS traffic")

This patch adds corresponding code to tc command.

tc qd replace dev eth0 root fq orphan_mask 511

Signed-off-by: Eric Dumazet <edumazet@google.com>
/external/iproute2/tc/q_fq.c
565af7b8168416bb8432f9f10935b7897232e853 10-Sep-2015 Phil Sutter <phil@nwl.cc> tc: fq: allow setting and retrieving flow refill delay

Code to parse and export this tuneable via netlink is already present in
sched_fq.c of the kernel, so not making it accessible for users would be
a waste of resources.

Signed-off-by: Phil Sutter <phil@nwl.cc>
/external/iproute2/tc/q_fq.c
aeb199d5ce86c6c72decaac333cad5a7d7b38b3a 28-May-2014 Yang Yingliang <yangyingliang@huawei.com> fq: allow options of fair queue set to ~0U

Some options of fair queue cannot be (~0U). It leads to maxrate
cannot be reset to unlimited because it cannot be (~0U). Allow
the options being ~0U.

Tested by the following command:
# tc qdisc add dev eth4 root handle 1: fq limit 2000 flow_limit 200 maxrate 100mbit quantum 2000 initial_quantum 1600
# tc -s -d qdisc show
qdisc fq 1: dev eth4 root refcnt 2 limit 2000p flow_limit 200p buckets 1024 quantum 2000 initial_quantum 1600 maxrate 100Mbit
Sent 1492 bytes 10 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
1 flows (0 inactive, 0 throttled)
0 gc, 0 highprio, 0 throttled

# tc qdisc change dev eth4 root handle 1: fq limit 4294967295 flow_limit 4294967295 maxrate 34359738360 quantum 4294967295 initial_quantum 4294967295
# tc -s -d qdisc show
qdisc fq 1: dev eth4 root refcnt 2 limit 4294967295p flow_limit 4294967295p buckets 1024 quantum 4294967295 initial_quantum 4294967295
Sent 38372 bytes 216 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
2 flows (1 inactive, 0 throttled)
0 gc, 2 highprio, 7 throttled

Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
/external/iproute2/tc/q_fq.c
bc113e46a3cd06973b37b13c06db3f5f459502f8 30-Aug-2013 Eric Dumazet <edumazet@google.com> pkt_sched: fq: Fair Queue packet scheduler

Support for FQ packet scheduler

$ tc qd add dev eth0 root fq help
Usage: ... fq [ limit PACKETS ] [ flow_limit PACKETS ]
[ quantum BYTES ] [ initial_quantum BYTES ]
[ maxrate RATE ] [ buckets NUMBER ]
[ [no]pacing ]

$ tc -s -d qd
qdisc fq 8002: dev eth0 root refcnt 32 limit 10000p flow_limit 100p
buckets 256 quantum 3028 initial_quantum 15140
Sent 216532416 bytes 148395 pkt (dropped 0, overlimits 0 requeues 14)
backlog 0b 0p requeues 14
511 flows (511 inactive, 0 throttled)
110 gc, 0 highprio, 0 retrans, 1143 throttled, 0 flows_plimit

limit : max number of packets on whole Qdisc (default 10000)

flow_limit : max number of packets per flow (default 100)

quantum : the max deficit per RR round (default is 2 MTU)

initial_quantum : initial credit for new flows (default is 10 MTU)

maxrate : max per flow rate (default : unlimited)

buckets : number of RB trees (default : 1024) in hash table.
(consumes 8 bytes per bucket)

[no]pacing : disable/enable pacing (default is enable)

Usage :

tc qdisc add dev $ETH root fq

tc qdisc del dev $ETH root 2>/dev/null
tc qdisc add dev $ETH root handle 1: mq
for i in `seq 1 4`
do
tc qdisc add dev $ETH parent 1:$i est 1sec 4sec fq
done

Signed-off-by: Eric Dumazet <edumazet@google.com>
/external/iproute2/tc/q_fq.c