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

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

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