From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 13FCF200B1B for ; Wed, 23 May 2012 22:28:04 -0700 (PDT) Received: by wibhn6 with SMTP id hn6so4835752wib.10 for ; Wed, 23 May 2012 22:28:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=FX7K4+owpQkmCTW/1MjbrPzH+reLe6h9Lh5i6YRrvz4=; b=sSQnEq+vylUWRBjRq+jMCpUTzZkMZILYhcKFiW5pjtDc7852DfxQQOmv9wgzL0oXCC zoHqLWUvvyn7s53gtzXWveO1leebTpaLfLxsn7TL76fBibxZoOFrNg9vy3qG+IbRB+oj hrttBAmFJh/hEsvUTAJmE0hbGiCZv6xvUK7A2/fnWoPbtIgO69DBO+l0Un13l0Ck0pvU uVWGeigBftxTTzO1hAtFQCwatT18frLp46Eg6Mo5LGlNl2mN/ziV2Tj5Bq4As7CbhwZw iFqMGpOdoaoKP/PoDh/UMDfw93Z5roXcs84UCYf8BKZQT8V95s97rxYlNgLCPk2weabb GewQ== MIME-Version: 1.0 Received: by 10.180.85.129 with SMTP id h1mr51850670wiz.2.1337837283126; Wed, 23 May 2012 22:28:03 -0700 (PDT) Received: by 10.223.115.9 with HTTP; Wed, 23 May 2012 22:28:03 -0700 (PDT) In-Reply-To: <1337834034-27803-1-git-send-email-subramanian.vijay@gmail.com> References: <1337834034-27803-1-git-send-email-subramanian.vijay@gmail.com> Date: Thu, 24 May 2012 06:28:03 +0100 Message-ID: From: Dave Taht To: codel@lists.bufferbloat.net Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: [Codel] Fwd: [PATCH IPROUTE2] tc-codel: Add manpage X-BeenThere: codel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: CoDel AQM discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 May 2012 05:28:05 -0000 ---------- Forwarded message ---------- From: Vijay Subramanian Date: Thu, May 24, 2012 at 5:33 AM Subject: [PATCH IPROUTE2] tc-codel: Add manpage To: netdev@vger.kernel.org Cc: Stephen Hemminger , Eric Dumazet , Dave Taht , Vijay Subramanian This patch adds the manpage for the CoDel (Controlled-Delay) AQM. Signed-off-by: Vijay Subramanian --- =A0man/man8/Makefile =A0 | =A0 =A02 +- =A0man/man8/tc-codel.8 | =A0114 +++++++++++++++++++++++++++++++++++++++++++= ++++++++ =A02 files changed, 115 insertions(+), 1 deletions(-) =A0create mode 100644 man/man8/tc-codel.8 diff --git a/man/man8/Makefile b/man/man8/Makefile index 6873a4b..6d6242e 100644 --- a/man/man8/Makefile +++ b/man/man8/Makefile @@ -3,7 +3,7 @@ TARGETS =3D ip-address.8 ip-link.8 ip-route.8 =A0MAN8PAGES =3D $(TARGETS) ip.8 arpd.8 lnstat.8 routel.8 rtacct.8 rtmon.8 = ss.8 \ =A0 =A0 =A0 =A0tc-bfifo.8 tc-cbq-details.8 tc-cbq.8 tc-drr.8 tc-htb.8 \ =A0 =A0 =A0 =A0tc-pfifo.8 tc-pfifo_fast.8 tc-prio.8 tc-red.8 tc-sfq.8 \ - =A0 =A0 =A0 tc-tbf.8 tc.8 rtstat.8 ctstat.8 nstat.8 routef.8 \ + =A0 =A0 =A0 tc-tbf.8 tc.8 rtstat.8 ctstat.8 nstat.8 routef.8 tc-codel.8 \ =A0 =A0 =A0 =A0tc-sfb.8 tc-netem.8 tc-choke.8 ip-tunnel.8 ip-rule.8 ip-ntab= le.8 \ =A0 =A0 =A0 =A0ip-monitor.8 tc-stab.8 tc-hfsc.8 ip-xfrm.8 ip-netns.8 \ =A0 =A0 =A0 =A0ip-neighbour.8 ip-mroute.8 ip-maddress.8 ip-addrlabel.8 diff --git a/man/man8/tc-codel.8 b/man/man8/tc-codel.8 new file mode 100644 index 0000000..605e498 --- /dev/null +++ b/man/man8/tc-codel.8 @@ -0,0 +1,114 @@ +.TH CoDel 8 "23 May 2012" "iproute2" "Linux" +.SH NAME +CoDel \- Controlled-Delay Active Queue Management algorithm +.SH SYNOPSIS +.B tc qdisc ... codel +[ +.B limit +PACKETS ] [ +.B target +TIME ] [ +.B interval +TIME ] [ +.B ecn +| +.B noecn +] + +.SH DESCRIPTION +CoDel (pronounced "coddle") is an adaptive "no-knobs" active queue managem= ent +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. + +.SH ALGORITHM +CoDel comes with three major innovations. Instead of using queue size or q= ueue +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) a= nd +compares it to the value of the given acceptable queue delay +.B target. +As long as the minimum queue delay is less than +.B target +or the buffer contains fewer than MTU worth of bytes, packets are not drop= ped. +Codel enters a dropping mode when the minimum queue delay has exceeded +.B target +for a time greater than +.B 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 +.B target, +packets are no longer dropped. + +Additional details can be found in the paper cited below. + +.SH PARAMETERS +.SS limit +hard limit on the real queue size. When this limit is reached, incoming pa= ckets +are dropped. If the value is lowered, packets are dropped so that the new limit is +met. Default is 1000 packets. + +.SS target +is the acceptable minimum standing/persistent queue delay. This minimum de= lay +is identified by tracking the local minimum queue delay that packets experience. +Default and recommended value is 5ms. + +.SS 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 +.B interval. +It should be set on the order of the worst-case RTT through the bottleneck= to +give endpoints sufficient time to react. =A0Default value is 100ms. + +.SS ecn | noecn +can be used to mark packets instead of dropping them. =A0If +.B ecn +has been enabled, +.B noecn +can be used to turn it off and vice-a-versa. By default, +.B ecn +is turned off. + +.SH EXAMPLES + # tc qdisc add dev eth0 root codel + # tc -s qdisc show + =A0 qdisc codel 801b: dev eth0 root refcnt 2 limit 1000p target 5.0ms +interval 100.0ms + =A0 =A0Sent 245801662 bytes 275853 pkt (dropped 0, overlimits 0 requeues = 24) + =A0 =A0backlog 0b 0p requeues 24 + =A0 =A0 count 0 lastcount 0 ldelay 2us drop_next 0us + =A0 =A0 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 + =A0 qdisc codel 801c: dev eth0 root refcnt 2 limit 100p target 4.0ms +interval 30.0ms ecn + =A0 =A0Sent 237573074 bytes 268561 pkt (dropped 0, overlimits 0 requeues = 5) + =A0 =A0backlog 0b 0p requeues 5 + =A0 =A0 count 0 lastcount 0 ldelay 76us drop_next 0us + =A0 =A0 maxpacket 2962 ecn_mark 0 drop_overlimit 0 + + +.SH SEE ALSO +.BR tc (8), +.BR tc-red (8) + +.SH SOURCES +o =A0 Kathleen Nicols and Van Jaconson, "Controlling Queue Delay", ACM Que= ue, +http://queue.acm.org/detail.cfm?id=3D2209336 + +.SH AUTHORS +CoDel was implemented by Eric Dumazet and David Taht. This manpage was wri= tten +by Vijay Subramanian. Please reports corrections to the Linux Networking +mailing list . -- 1.7.0.4 --=20 Dave T=E4ht SKYPE: davetaht US Tel: 1-239-829-5608 http://www.bufferbloat.net