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