]> git.proxmox.com Git - mirror_iproute2.git/blame - man/man8/tc-fq_codel.8
bridge: mdb: add support for source address
[mirror_iproute2.git] / man / man8 / tc-fq_codel.8
CommitLineData
65e472d9
VS
1.TH FQ_CoDel 8 "4 June 2012" "iproute2" "Linux"
2.SH NAME
3CoDel \- Fair Queuing (FQ) with Controlled Delay (CoDel)
4.SH SYNOPSIS
5.B tc qdisc ... fq_codel
6[
7.B limit
8PACKETS ] [
9.B flows
10NUMBER ] [
11.B target
12TIME ] [
13.B interval
14TIME ] [
15.B quantum
16BYTES ] [
17.B ecn
18|
19.B noecn
d7d044ff
THJ
20] [
21.B ce_threshold
22TIME ] [
23.B memory_limit
24BYTES ]
65e472d9
VS
25
26.SH DESCRIPTION
6274b0b7 27FQ_Codel (Fair Queuing Controlled Delay) is queuing discipline that combines Fair
65e472d9
VS
28Queuing with the CoDel AQM scheme. FQ_Codel uses a stochastic model to classify
29incoming packets into different flows and is used to provide a fair share of the
30bandwidth to all the flows using the queue. Each such flow is managed by the
31CoDel queuing discipline. Reordering within a flow is avoided since Codel
32internally uses a FIFO queue.
33
34.SH PARAMETERS
35.SS limit
36has the same semantics as
37.B codel
38and is the hard limit on the real queue size.
39When this limit is reached, incoming packets are dropped. Default is 10240
40packets.
41
d7d044ff
THJ
42.SS memory_limit
43sets a limit on the total number of bytes that can be queued in this FQ-CoDel
44instance. The lower of the packet limit of the
45.B limit
46parameter and the memory limit will be enforced. Default is 32 MB.
47
48
65e472d9
VS
49.SS flows
50is the number of flows into which the incoming packets are classified. Due to
51the stochastic nature of hashing, multiple flows may end up being hashed into
52the same slot. Newer flows have priority over older ones. This parameter can be
53set only at load time since memory has to be allocated for the hash table.
54Default value is 1024.
55
56.SS target
57has the same semantics as
58.B codel
59and is the acceptable minimum
60standing/persistent queue delay. This minimum delay is identified by tracking
a89d5329 61the local minimum queue delay that packets experience. Default value is 5ms.
65e472d9
VS
62
63.SS interval
64has the same semantics as
65.B codel
66and is used to ensure that the measured minimum delay does not become too stale.
67The minimum delay must be experienced in the last epoch of length .B interval.
68It should be set on the order of the worst-case RTT through the bottleneck to
a89d5329 69give endpoints sufficient time to react. Default value is 100ms.
65e472d9
VS
70
71.SS quantum
72is the number of bytes used as 'deficit' in the fair queuing algorithm. Default
73is set to 1514 bytes which corresponds to the Ethernet MTU plus the hardware
74header length of 14 bytes.
75
76.SS ecn | noecn
77has the same semantics as
78.B codel
a89d5329 79and can be used to mark packets instead of dropping them. If
65e472d9
VS
80.B ecn
81has been enabled,
82.B noecn
83can be used to turn it off and vice-a-versa. Unlike
84.B codel, ecn
85is turned on by default.
86
d7d044ff
THJ
87.SS ce_threshold
88sets a threshold above which all packets are marked with ECN Congestion
89Experienced. This is useful for DCTCP-style congestion control algorithms that
90require marking at very shallow queueing thresholds.
91
65e472d9
VS
92.SH EXAMPLES
93#tc qdisc add dev eth0 root fq_codel
94.br
95#tc -s qdisc show
96.br
97qdisc fq_codel 8002: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum 1514
98 target 5.0ms interval 100.0ms ecn
99 Sent 428514 bytes 2269 pkt (dropped 0, overlimits 0 requeues 0)
100 backlog 0b 0p requeues 0
101 maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
102 new_flows_len 0 old_flows_len 0
103
104#tc qdisc add dev eth0 root fq_codel limit 2000 target 3ms interval 40ms noecn
105.br
106#tc -s qdisc show
107.br
108qdisc fq_codel 8003: dev eth0 root refcnt 2 limit 2000p flows 1024 quantum 1514
109target 3.0ms interval 40.0ms
110 Sent 2588985006 bytes 1783629 pkt (dropped 0, overlimits 0 requeues 34869)
111 backlog 0b 0p requeues 34869
112 maxpacket 65226 drop_overlimit 0 new_flow_count 73 ecn_mark 0
113 new_flows_len 1 old_flows_len 3
114
115
116.SH SEE ALSO
117.BR tc (8),
118.BR tc-codel (8),
119.BR tc-red (8)
120
121.SH AUTHORS
122FQ_CoDel was implemented by Eric Dumazet. This manpage was written
123by Vijay Subramanian. Please report corrections to the Linux Networking
124mailing list <netdev@vger.kernel.org>.