| .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 |
| .BR max , |
| the new packet will always be marked (or dropped). |
| If the queue length exceeds |
| .BR 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. |