Provided by: iproute2_4.15.0-2ubuntu1.3_amd64 bug


       red - Random Early Detection


       tc  qdisc  ... red limit bytes [ min bytes ] [ max bytes ] avpkt bytes [ burst packets ] [
       ecn ] [ harddrop] [ bandwidth rate ] [ probability chance ] [ adaptive ]


       Random Early Detection is a classless qdisc which manages its queue size smartly.  Regular
       queues  simply drop packets from the tail when they are full, which may not be the optimal
       behaviour. RED also performs tail drop, but does so in a more gradual way.

       Once the queue hits a certain average length, packets enqueued have a configurable  chance
       of  being  marked  (which  may mean dropped). This chance increases linearly up to a point
       called the max average queue length, although the queue might get bigger.

       This has a host of benefits over simple taildrop, while not being processor intensive.  It
       prevents   synchronous   retransmits  after  a  burst  in  traffic,  which  cause  further
       retransmits, etc.

       The goal is to have a small  queue  size,  which  is  good  for  interactivity  while  not
       disturbing TCP/IP traffic with too many sudden drops after a burst of traffic.

       Depending  on  if  ECN  is  configured,  marking either means dropping or purely marking a
       packet as overlimit.


       The average queue size is used for determining the marking probability. This is calculated
       using  an  Exponential  Weighted  Moving  Average,  which can be more or less sensitive to

       When the average queue size is below min bytes, no packet will ever  be  marked.  When  it
       exceeds  min,  the  probability  of  doing so climbs linearly up to probability, until the
       average queue size hits max bytes. Because probability is normally not set  to  100%,  the
       queue  size  might conceivably rise above max bytes, so the limit parameter is provided to
       set a hard maximum for the size of the queue.


       min    Average queue size at which marking becomes a possibility. Defaults to max /3

       max    At this average queue size, the marking probability is maximal. Should be at  least
              twice min to prevent synchronous retransmits, higher for low min.  Default to limit

              Maximum probability for marking, specified as a floating point number from  0.0  to
              1.0. Suggested values are 0.01 or 0.02 (1 or 2%, respectively). Default : 0.02

       limit  Hard  limit  on  the  real  (not  average) queue size in bytes. Further packets are
              dropped. Should be set higher than max+burst. It is advised to set this a few times
              higher than max.

       burst  Used  for  determining  how  fast  the average queue size is influenced by the real
              queue size. Larger values make  the  calculation  more  sluggish,  allowing  longer
              bursts  of  traffic  before  marking  starts.  Real  life  experiments  support the
              following guideline: (min+min+max)/(3*avpkt).

       avpkt  Specified in bytes. Used with burst to determine  the  time  constant  for  average
              queue size calculations. 1000 is a good value.

              This  rate  is  used  for  calculating the average queue size after some idle time.
              Should be set to the bandwidth of your interface. Does not mean that RED will shape
              for you! Optional. Default : 10Mbit

       ecn    As  mentioned  before,  RED  can  either  'mark'  or  'drop'.  Explicit  Congestion
              Notification allows RED to notify remote hosts that their rate exceeds  the  amount
              of  bandwidth  available.  Non-ECN capable hosts can only be notified by dropping a
              packet. If this parameter is specified, packets which  indicate  that  their  hosts
              honor  ECN  will  only  be marked and not dropped, unless the queue size hits limit
              bytes. Recommended.

              If average flow queue size is above max bytes, this parameter forces a drop instead
              of ecn marking.

              (Added    in   linux-3.3)   Sets   RED   in   adaptive   mode   as   described   in
              Goal of Adaptive RED is to make 'probability' dynamic value between 1% and 50% to reach the target average queue :
              (max - min) / 2


       # tc qdisc add dev eth0 parent 1:1 handle 10: red
        limit 400000 min 30000 max 90000 avpkt 1000
        burst 55 ecn adaptive bandwidth 10Mbit


       tc(8), tc-choke(8)


       o      Floyd, S., and  Jacobson,  V.,  Random  Early  Detection  gateways  for  Congestion

       o      Some changes to the algorithm by Alexey N. Kuznetsov.

       o      Adaptive RED  :


       Alexey N. Kuznetsov, <>,  Alexey Makarenko <>,
       J Hadi  Salim  <>,  Eric  Dumazet  <>.   This
       manpage maintained by bert hubert <>