tc-codel(8)


NAME

   CoDel - Controlled-Delay Active Queue Management algorithm

SYNOPSIS

   tc  qdisc ... codel [ limit PACKETS ] [ target TIME ] [ interval TIME ]
   [ ecn | noecn ]

DESCRIPTION

   CoDel (pronounced "coddle") is  an  adaptive  "no-knobs"  active  queue
   management  algorithm  (AQM)  scheme  that was developed to address the
   shortcomings of RED  and  its  variants.  It  was  developed  with  the
   following goals in mind:
    o It should be parameterless.
    o It should keep delays low while permitting bursts of traffic.
    o It should control delay.
    o It should adapt dynamically to changing link rates with no impact on
   utilization.
    o It should be simple and efficient and should scale  from  simple  to
   complex routers.

ALGORITHM

   CoDel  comes  with three major innovations. Instead of using queue size
   or queue average, it uses the local minimum queue as a measure  of  the
   standing/persistent  queue.   Second,  it  uses a single state-tracking
   variable of the minimum delay to  see  where  it  is  relative  to  the
   standing  queue  delay. Third, instead of measuring queue size in bytes
   or packets, it is measured in packet-sojourn time in the queue.

   CoDel measures the minimum  local  queue  delay  (i.e.  standing  queue
   delay) and compares it to the value of the given acceptable queue delay
   target.  As long as the minimum queue delay is less than target or  the
   buffer contains fewer than MTU worth of bytes, packets are not dropped.
   Codel enters a dropping mode when the minimum queue delay has  exceeded
   target  for  a  time  greater than interval.  In this mode, packets are
   dropped at different drop times which is set  by  a  control  law.  The
   control  law ensures that the packet drops cause a linear change in the
   throughput. Once the minimum delay goes below target,  packets  are  no
   longer dropped.

   Additional details can be found in the paper cited below.

PARAMETERS

   limit
   hard limit on the real queue size. When this limit is reached, incoming
   packets are dropped. If the value is lowered, packets  are  dropped  so
   that the new limit is met. Default is 1000 packets.

   target
   is the acceptable minimum standing/persistent queue delay. This minimum
   delay is identified by tracking the  local  minimum  queue  delay  that
   packets experience.  Default and recommended value is 5ms.

   interval
   is  used  to ensure that the measured minimum delay does not become too
   stale. The minimum delay must be  experienced  in  the  last  epoch  of
   length  interval.   It should be set on the order of the worst-case RTT
   through the bottleneck to give  endpoints  sufficient  time  to  react.
   Default value is 100ms.

   ecn | noecn
   can  be  used to mark packets instead of dropping them. If ecn has been
   enabled, noecn can be used to turn it off and vice-a-versa. By default,
   ecn is turned off.

EXAMPLES

    # tc qdisc add dev eth0 root codel
    # tc -s qdisc show
      qdisc  codel  801b:  dev eth0 root refcnt 2 limit 1000p target 5.0ms
   interval 100.0ms
       Sent 245801662 bytes 275853 pkt (dropped 0, overlimits  0  requeues
   24)
       backlog 0b 0p requeues 24
        count 0 lastcount 0 ldelay 2us drop_next 0us
        maxpacket 7306 ecn_mark 0 drop_overlimit 0

    #  tc qdisc add dev eth0 root codel limit 100 target 4ms interval 30ms
   ecn
    # tc -s qdisc show
      qdisc codel 801c: dev eth0 root refcnt 2  limit  100p  target  4.0ms
   interval 30.0ms ecn
       Sent  237573074  bytes 268561 pkt (dropped 0, overlimits 0 requeues
   5)
       backlog 0b 0p requeues 5
        count 0 lastcount 0 ldelay 76us drop_next 0us
        maxpacket 2962 ecn_mark 0 drop_overlimit 0

SEE ALSO

   tc(8), tc-red(8)

SOURCES

   o   Kathleen Nichols and Van Jacobson, "Controlling Queue  Delay",  ACM
   Queue, http://queue.acm.org/detail.cfm?id=2209336

AUTHORS

   CoDel  was implemented by Eric Dumazet and David Taht. This manpage was
   written by Vijay Subramanian. Please reports corrections to  the  Linux
   Networking mailing list <netdev@vger.kernel.org>.





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.