| .TH FQ_CoDel 8 "4 June 2012" "iproute2" "Linux" |
| .SH NAME |
| CoDel \- Fair Queuing (FQ) with Controlled Delay (CoDel) |
| .SH SYNOPSIS |
| .B tc qdisc ... fq_codel |
| [ |
| .B limit |
| PACKETS ] [ |
| .B flows |
| NUMBER ] [ |
| .B target |
| TIME ] [ |
| .B interval |
| TIME ] [ |
| .B quantum |
| BYTES ] [ |
| .B ecn |
| | |
| .B noecn |
| ] |
| |
| .SH DESCRIPTION |
| FQ_Codel (Fair Queuing Controlled Delay) is queuing discipline that combines Fair |
| Queuing with the CoDel AQM scheme. FQ_Codel uses a stochastic model to classify |
| incoming packets into different flows and is used to provide a fair share of the |
| bandwidth to all the flows using the queue. Each such flow is managed by the |
| CoDel queuing discipline. Reordering within a flow is avoided since Codel |
| internally uses a FIFO queue. |
| |
| .SH PARAMETERS |
| .SS limit |
| has the same semantics as |
| .B codel |
| and is the hard limit on the real queue size. |
| When this limit is reached, incoming packets are dropped. Default is 10240 |
| packets. |
| |
| .SS flows |
| is the number of flows into which the incoming packets are classified. Due to |
| the stochastic nature of hashing, multiple flows may end up being hashed into |
| the same slot. Newer flows have priority over older ones. This parameter can be |
| set only at load time since memory has to be allocated for the hash table. |
| Default value is 1024. |
| |
| .SS target |
| has the same semantics as |
| .B codel |
| and is the acceptable minimum |
| standing/persistent queue delay. This minimum delay is identified by tracking |
| the local minimum queue delay that packets experience. Default value is 5ms. |
| |
| .SS interval |
| has the same semantics as |
| .B codel |
| and is used to ensure that the measured minimum delay does not become too stale. |
| The minimum delay must be experienced in the last epoch of length .B interval. |
| It should be set on the order of the worst-case RTT through the bottleneck to |
| give endpoints sufficient time to react. Default value is 100ms. |
| |
| .SS quantum |
| is the number of bytes used as 'deficit' in the fair queuing algorithm. Default |
| is set to 1514 bytes which corresponds to the Ethernet MTU plus the hardware |
| header length of 14 bytes. |
| |
| .SS ecn | noecn |
| has the same semantics as |
| .B codel |
| and can be used to mark packets instead of dropping them. If |
| .B ecn |
| has been enabled, |
| .B noecn |
| can be used to turn it off and vice-a-versa. Unlike |
| .B codel, ecn |
| is turned on by default. |
| |
| .SH EXAMPLES |
| #tc qdisc add dev eth0 root fq_codel |
| .br |
| #tc -s qdisc show |
| .br |
| qdisc fq_codel 8002: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum 1514 |
| target 5.0ms interval 100.0ms ecn |
| Sent 428514 bytes 2269 pkt (dropped 0, overlimits 0 requeues 0) |
| backlog 0b 0p requeues 0 |
| maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0 |
| new_flows_len 0 old_flows_len 0 |
| |
| #tc qdisc add dev eth0 root fq_codel limit 2000 target 3ms interval 40ms noecn |
| .br |
| #tc -s qdisc show |
| .br |
| qdisc fq_codel 8003: dev eth0 root refcnt 2 limit 2000p flows 1024 quantum 1514 |
| target 3.0ms interval 40.0ms |
| Sent 2588985006 bytes 1783629 pkt (dropped 0, overlimits 0 requeues 34869) |
| backlog 0b 0p requeues 34869 |
| maxpacket 65226 drop_overlimit 0 new_flow_count 73 ecn_mark 0 |
| new_flows_len 1 old_flows_len 3 |
| |
| |
| .SH SEE ALSO |
| .BR tc (8), |
| .BR tc-codel (8), |
| .BR tc-red (8) |
| |
| .SH AUTHORS |
| FQ_CoDel was implemented by Eric Dumazet. This manpage was written |
| by Vijay Subramanian. Please report corrections to the Linux Networking |
| mailing list <netdev@vger.kernel.org>. |