TC(8)

NAME
choke - choose and keep scheduler

SYNOPSIS
tc qdisc ... choke limit bytes min bytes max bytes avpkt bytes burst packets [ ecn ] [ bandwidth rate ] probability chance

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 the same as RED.

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

PARAMETERS
The parameters are the same as for RED, see tc-red(8) for a description.

SOURCE

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

SEE ALSO
tc(8), tc-red(8)

AUTHOR
sched_choke was contributed by Stephen Hemminger.