.TH CoDel 8 "23 May 2012" "iproute2" "Linux"
.SH NAME
CoDel \- Controlled-Delay Active Queue Management algorithm
.SH SYNOPSIS
.B tc qdisc ... codel
[
.B limit
PACKETS ] [
.B target
TIME ] [
.B interval
TIME ] [
.B ecn
|
.B noecn
] [
.B ce_threshold
TIME ]

.SH DESCRIPTION
CoDel (pronounced "coddle") is an adaptive "no-knobs" active queue management
algorithm (AQM) scheme that was developed to address the shortcomings of
RED and its variants. It was developed with the following goals
in mind:
 o It should be parameterless.
 o It should keep delays low while permitting bursts of traffic.
 o It should control delay.
 o It should adapt dynamically to changing link rates with no impact on
utilization.
 o It should be simple and efficient and should scale from simple to
complex routers.

.SH ALGORITHM
CoDel comes with three major innovations. Instead of using queue size or queue
average, it uses the local minimum queue as a measure of the standing/persistent queue.
Second, it uses a single state-tracking variable of the minimum delay to see where it
is relative to the standing queue delay. Third, instead of measuring queue size
in bytes or packets, it is measured in packet-sojourn time in the queue.

CoDel measures the minimum local queue delay (i.e. standing queue delay) and
compares it to the value of the given acceptable queue delay
.B target.
As long as the minimum queue delay is less than
.B target
or the buffer contains fewer than MTU worth of bytes, packets are not dropped.
Codel enters a dropping mode when the minimum queue delay has exceeded
.B target
for a time greater than
.B interval.
In this mode, packets are dropped at different drop times which is set by a
control law. The control law ensures that the packet drops cause a linear change
in the throughput. Once the minimum delay goes below
.B target,
packets are no longer dropped.

Additional details can be found in the paper cited below.

.SH PARAMETERS
.SS limit
hard limit on the real queue size. When this limit is reached, incoming packets
are dropped. If the value is lowered, packets are dropped so that the new limit is
met. Default is 1000 packets.

.SS target
is the acceptable minimum standing/persistent queue delay. This minimum delay
is identified by tracking the local minimum queue delay that packets experience.
Default and recommended value is 5ms.

.SS interval
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 ecn | noecn
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. By default,
.B ecn
is turned off.

.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 codel
 # tc -s qdisc show
   qdisc codel 801b: dev eth0 root refcnt 2 limit 1000p target 5.0ms
interval 100.0ms
    Sent 245801662 bytes 275853 pkt (dropped 0, overlimits 0 requeues 24)
    backlog 0b 0p requeues 24
     count 0 lastcount 0 ldelay 2us drop_next 0us
     maxpacket 7306 ecn_mark 0 drop_overlimit 0

 # tc qdisc add dev eth0 root codel limit 100 target 4ms interval 30ms ecn
 # tc -s qdisc show
   qdisc codel 801c: dev eth0 root refcnt 2 limit 100p target 4.0ms
interval 30.0ms ecn
    Sent 237573074 bytes 268561 pkt (dropped 0, overlimits 0 requeues 5)
    backlog 0b 0p requeues 5
     count 0 lastcount 0 ldelay 76us drop_next 0us
     maxpacket 2962 ecn_mark 0 drop_overlimit 0


.SH SEE ALSO
.BR tc (8),
.BR tc-red (8)

.SH SOURCES
o   Kathleen Nichols and Van Jacobson, "Controlling Queue Delay", ACM Queue,
http://queue.acm.org/detail.cfm?id=2209336

.SH AUTHORS
CoDel was implemented by Eric Dumazet and David Taht. This manpage was written
by Vijay Subramanian. Please reports corrections to the Linux Networking
mailing list <netdev@vger.kernel.org>.
