|
NAME | SYNOPSIS | DESCRIPTION | PARAMETERS | EXAMPLES | SEE ALSO | AUTHORS | COLOPHON |
|
FQ_CoDel(8) Linux FQ_CoDel(8)
CoDel - Fair Queuing (FQ) with Controlled Delay (CoDel)
tc qdisc ... fq_codel [ limit PACKETS ] [ flows NUMBER ] [ target
TIME ] [ interval TIME ] [ quantum BYTES ] [ ecn | noecn ]
FQ_Codel (Fair Queuing Controlled Delay) is queuing discipline that
combines 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.
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.
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 allocated for the hash table. Default value is
1024.
target
has the same semantics as codel and is the acceptable minimum
standing/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 experienced in the last epoch of length .B 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.
#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
quantum 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
tc(8), tc-codel(8), tc-red(8)
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>.
This page is part of the iproute2 (utilities for controlling TCP/IP
networking and traffic) project. Information about the project can
be found at
⟨http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2⟩.
If you have a bug report for this manual page, send it to
netdev@vger.kernel.org, shemminger@osdl.org. This page was obtained
from the project's upstream Git repository
⟨git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git⟩
on 2018-02-02. (At that time, the date of the most recent commit
that was found in the repository was 2018-01-29.) If you discover
any rendering problems in this HTML version of the page, or you
believe there is a better or more up-to-date source for the page, or
you have corrections or improvements to the information in this
COLOPHON (which is not part of the original manual page), send a mail
to man-pages@man7.org
iproute2 4 June 2012 FQ_CoDel(8)
Pages that refer to this page: ovs-vswitchd.conf.db(5), tc(8)