.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
] [
.B ce_threshold
TIME ] [
.B memory_limit
BYTES ]

.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 memory_limit
sets a limit on the total number of bytes that can be queued in this FQ-CoDel
instance. The lower of the packet limit of the
.B limit
parameter and the memory limit will be enforced. Default is 32 MB.


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

.SS ce_threshold
sets a threshold above which all packets are marked with ECN Congestion
Experienced. This is useful for DCTCP-style congestion control algorithms that
require marking at very shallow queueing thresholds.

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