# tc-choke - choose and keep scheduler - man(8) - [phpMan]

[_TC_(8)](https://www.chedong.com/phpMan.php/man/TC/8/markdown)                                           Linux                                          [_TC_(8)](https://www.chedong.com/phpMan.php/man/TC/8/markdown)

## NAME
       choke - choose and keep scheduler

## SYNOPSIS
       **tc  qdisc ... choke limit **packets **min **packets **max **packets **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 similar to 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  con‐
       figurable  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, except that RED uses bytes whereas choke counts pack‐
       ets. See [**tc-red**(8)](https://www.chedong.com/phpMan.php/man/tc-red/8/markdown) 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  Characteris‐
              tics", IEEE/ACM Transactions on Networking, 2004


## SEE ALSO
       [**tc**(8)](https://www.chedong.com/phpMan.php/man/tc/8/markdown), [**tc-red**(8)](https://www.chedong.com/phpMan.php/man/tc-red/8/markdown)


## AUTHOR
       sched_choke was contributed by Stephen Hemminger.

iproute2                                     August 2011                                       [_TC_(8)](https://www.chedong.com/phpMan.php/man/TC/8/markdown)
