Provided by: iproute_20111117-1ubuntu2_amd64
choke - choose and keep scheduler
tc qdisc ... choke limit bytes min bytes max bytes avpkt bytes burst packets [ ecn ] [ bandwidth rate ] probability chance
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 the same as RED.
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 max , the new packet will always be marked (or dropped). If the queue length exceeds limit , the new packet is always dropped. The marking probability computation is the same as used by the RED qdisc.
The parameters are the same as for RED, see tc-red(8) for a description.
o R. Pan, B. Prabhakar, and K. Psounis, "CHOKe, A Stateless Active Queue Management Scheme for Approximating Fair Bandwidth Allocation", IEEE INFOCOM, 2000. o A. Tang, J. Wang, S. Low, "Understanding CHOKe: Throughput and Spatial Characteristics", IEEE/ACM Transactions on Networking, 2004
sched_choke was contributed by Stephen Hemminger.