1FQ_CoDel(8)                          Linux                         FQ_CoDel(8)
2
3
4

NAME

6       CoDel - Fair Queuing (FQ) with Controlled Delay (CoDel)
7

SYNOPSIS

9       tc  qdisc ... fq_codel [ limit PACKETS ] [ flows NUMBER ] [ target TIME
10       ] [ interval TIME ] [ quantum BYTES ] [ ecn | noecn  ]  [  ce_threshold
11       TIME ] [ memory_limit BYTES ]
12
13

DESCRIPTION

15       FQ_Codel  (Fair  Queuing  Controlled  Delay) is queuing discipline that
16       combines Fair Queuing with the CoDel AQM scheme. FQ_Codel uses  a  sto‐
17       chastic  model to classify incoming packets into different flows and is
18       used to provide a fair share of the bandwidth to all  the  flows  using
19       the  queue.  Each such flow is managed by the CoDel queuing discipline.
20       Reordering within a flow is avoided since Codel internally uses a  FIFO
21       queue.
22
23

PARAMETERS

25   limit
26       has the same semantics as codel and is the hard limit on the real queue
27       size.  When this  limit  is  reached,  incoming  packets  are  dropped.
28       Default is 10240 packets.
29
30
31   memory_limit
32       sets  a  limit  on the total number of bytes that can be queued in this
33       FQ-CoDel instance. The lower of the packet limit of the limit parameter
34       and the memory limit will be enforced. Default is 32 MB.
35
36
37
38   flows
39       is  the number of flows into which the incoming packets are classified.
40       Due to the stochastic nature of hashing,  multiple  flows  may  end  up
41       being  hashed  into the same slot. Newer flows have priority over older
42       ones. This parameter can be set only at load time since memory  has  to
43       be allocated for the hash table.  Default value is 1024.
44
45
46   target
47       has  the  same  semantics as codel and is the acceptable minimum stand‐
48       ing/persistent queue delay. This minimum delay is identified by  track‐
49       ing  the  local  minimum  queue  delay that packets experience. Default
50       value is 5ms.
51
52
53   interval
54       has the same semantics as codel and is used to ensure that the measured
55       minimum  delay  does  not  become too stale.  The minimum delay must be
56       experienced in the last epoch of length .B interval.  It should be  set
57       on  the order of the worst-case RTT through the bottleneck to give end‐
58       points sufficient time to react. Default value is 100ms.
59
60
61   quantum
62       is the number of bytes used as 'deficit' in the fair queuing algorithm.
63       Default is set to 1514 bytes which corresponds to the Ethernet MTU plus
64       the hardware header length of 14 bytes.
65
66
67   ecn | noecn
68       has the same semantics as codel and can be used to mark packets instead
69       of dropping them. If ecn has been enabled, noecn can be used to turn it
70       off and vice-a-versa. Unlike codel, ecn is turned on by default.
71
72
73   ce_threshold
74       sets a threshold above which all packets are marked with ECN Congestion
75       Experienced.  This  is  useful for DCTCP-style congestion control algo‐
76       rithms that require marking at very shallow queueing thresholds.
77
78

EXAMPLES

80       #tc qdisc add   dev eth0 root fq_codel
81       #tc -s qdisc show
82       qdisc fq_codel 8002: dev eth0 root refcnt 2  limit  10240p  flows  1024
83       quantum 1514
84        target 5.0ms interval 100.0ms ecn
85          Sent 428514 bytes 2269 pkt (dropped 0, overlimits 0 requeues 0)
86          backlog 0b 0p requeues 0
87           maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
88           new_flows_len 0 old_flows_len 0
89
90       #tc  qdisc  add  dev  eth0 root fq_codel limit 2000 target 3ms interval
91       40ms noecn
92       #tc -s qdisc show
93       qdisc fq_codel 8003: dev eth0 root refcnt  2  limit  2000p  flows  1024
94       quantum 1514 target 3.0ms interval 40.0ms
95        Sent  2588985006  bytes  1783629 pkt (dropped 0, overlimits 0 requeues
96       34869)
97        backlog 0b 0p requeues 34869
98         maxpacket 65226 drop_overlimit 0 new_flow_count 73 ecn_mark 0
99         new_flows_len 1 old_flows_len 3
100
101
102

SEE ALSO

104       tc(8), tc-codel(8), tc-red(8)
105
106

AUTHORS

108       FQ_CoDel was implemented by Eric Dumazet. This manpage was  written  by
109       Vijay  Subramanian.  Please  report corrections to the Linux Networking
110       mailing list <netdev@vger.kernel.org>.
111
112
113
114iproute2                          4 June 2012                      FQ_CoDel(8)
Impressum