dwww Home | Manual pages | Find package

FQ_CoDel(8)                          Linux                          FQ_CoDel(8)

NAME
       CoDel - Fair Queuing (FQ) with Controlled Delay (CoDel)

SYNOPSIS
       tc qdisc ... fq_codel [ limit PACKETS ] [ flows NUMBER ] [ target TIME ]
       [  interval TIME ] [ quantum BYTES ] [ ecn | noecn ] [ ce_threshold TIME
       ] [ ce_threshold_selector VALUE/MASK ] [ memory_limit BYTES ]

DESCRIPTION
       FQ_Codel (Fair Queuing Controlled Delay) is queuing discipline that com-
       bines Fair Queuing with the CoDel AQM scheme. FQ_Codel uses a stochastic
       model to classify incoming packets into different flows and is  used  to
       provide  a fair share of the bandwidth to all the flows using the queue.
       Each such flow is managed by the CoDel  queuing  discipline.  Reordering
       within a flow is avoided since Codel internally uses a FIFO queue.

PARAMETERS
   limit
       has  the same semantics as codel and is the hard limit on the real queue
       size.  When this limit is reached, incoming packets are dropped. Default
       is 10240 packets.

   memory_limit
       sets a limit on the total number of bytes that can be queued in this FQ-
       CoDel instance. The lower of the packet limit of the limit parameter and
       the memory limit will be enforced. Default is 32 MB.

   flows
       is the number of flows into which the incoming packets  are  classified.
       Due to the stochastic nature of hashing, multiple flows may end up being
       hashed  into  the  same slot. Newer flows have priority over older ones.
       This parameter can be set only at load time since memory has to be allo-
       cated for the hash table.  Default value is 1024.

   target
       has the same semantics as codel and is  the  acceptable  minimum  stand-
       ing/persistent queue delay. This minimum delay is identified by tracking
       the  local minimum queue delay that packets experience. Default value is
       5ms.

   interval
       has the same semantics as codel and is used to ensure that the  measured
       minimum  delay does not become too stale.  The minimum delay must be ex-
       perienced 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.

   quantum
       is  the number of bytes used as 'deficit' in the fair queuing algorithm.
       Default is set to 1514 bytes which corresponds to the Ethernet MTU  plus
       the hardware header length of 14 bytes.

   ecn | noecn
       has  the same semantics as codel and 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. Unlike codel, ecn is turned on by default.

   ce_threshold
       sets  a threshold above which all packets are marked with ECN Congestion
       Experienced. This is useful for  DCTCP-style  congestion  control  algo-
       rithms that require marking at very shallow queueing thresholds.

   ce_threshold_selector
       sets a filter so that the ce_threshold feature is applied to only a sub-
       set of the traffic seen by the qdisc. If set, the MASK value will be ap-
       plied  as  a  bitwise AND to the diffserv/ECN byte of the IP header, and
       only if the result of this masking equals VALUE, will  the  ce_threshold
       logic be applied to the packet.

   drop_batch
       sets the maximum number of packets to drop when limit or memory_limit is
       exceeded. Default value is 64.

EXAMPLES
       #tc qdisc add   dev eth0 root fq_codel
       #tc -s qdisc show
       qdisc  fq_codel  8002:  dev  eth0  root refcnt 2 limit 10240p flows 1024
       quantum 1514
        target 5.0ms interval 100.0ms ecn
          Sent 428514 bytes 2269 pkt (dropped 0, overlimits 0 requeues 0)
          backlog 0b 0p requeues 0
           maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0
           new_flows_len 0 old_flows_len 0

       #tc qdisc add dev eth0 root fq_codel limit 2000 target 3ms interval 40ms
       noecn
       #tc -s qdisc show
       qdisc fq_codel 8003: dev eth0 root refcnt 2 limit 2000p flows 1024 quan-
       tum 1514 target 3.0ms interval 40.0ms
        Sent 2588985006 bytes 1783629 pkt (dropped  0,  overlimits  0  requeues
       34869)
        backlog 0b 0p requeues 34869
         maxpacket 65226 drop_overlimit 0 new_flow_count 73 ecn_mark 0
         new_flows_len 1 old_flows_len 3

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

AUTHORS
       FQ_CoDel  was  implemented  by Eric Dumazet. This manpage was written by
       Vijay Subramanian. Please report corrections  to  the  Linux  Networking
       mailing list <netdev@vger.kernel.org>.

iproute2                          4 June 2012                       FQ_CoDel(8)

Generated by dwww version 1.16 on Tue Dec 16 04:14:17 CET 2025.