.TH TC 8 "August 2011" "iproute2" "Linux"
.SH NAME
choke \- choose and keep scheduler
.SH SYNOPSIS
.B tc qdisc ... choke
.B limit
packets
.B min
packets
.B max
packets
.B avpkt
bytes
.B burst
packets
.B [ ecn ] [ bandwidth
rate
.B ] probability
chance

.SH DESCRIPTION

CHOKe (CHOose and Keep for responsive flows, CHOose and Kill for unresponsive flows)
is a classless qdisc designed to both identify and penalize flows that monopolize the
queue.  CHOKe is a variation of RED, and the configuration is similar to RED.

.SH ALGORITHM
Once the queue hits a certain average length, a random packet is drawn from the
queue.  If both the to-be-queued and the drawn packet belong to the same flow,
both packets are dropped.  Otherwise, if the queue length is still below the maximum length,
the new packet has a configurable chance of being marked (which may mean dropped).
If the queue length exceeds
.B max
, the new packet will always be marked (or dropped).
If the queue length exceeds
.B limit
, the new packet is always dropped.

The marking probability computation is the same as used by the RED qdisc.

.SH PARAMETERS
The parameters are the same as for RED, except that RED uses bytes whereas choke
counts packets. See
.BR tc-red (8)
for a description.

.SH SOURCE
.TP
o
R. Pan, B. Prabhakar, and K. Psounis, "CHOKe, A Stateless
Active Queue Management Scheme for Approximating Fair Bandwidth Allocation",
IEEE INFOCOM, 2000.
.TP
o
A. Tang, J. Wang, S. Low, "Understanding CHOKe: Throughput and Spatial
Characteristics", IEEE/ACM Transactions on Networking, 2004

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

.SH AUTHOR
sched_choke was contributed by Stephen Hemminger.
