.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>.
