From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id A555A200830 for ; Sat, 7 Apr 2012 08:08:51 -0700 (PDT) Received: by wgbge7 with SMTP id ge7so2389773wgb.28 for ; Sat, 07 Apr 2012 08:08:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:subject:from:to:cc:date:in-reply-to:references :content-type:x-mailer:content-transfer-encoding:mime-version; bh=Ywv/n5vCs7PqyAe+HzrgpGUrgloJwbCI4FjMHXzLs9g=; b=rBOlU7xq2vnf7aea4/gwL7yIjaneCcumIVBd+AWZm1SWRkiPtljjU6JbbIJHEy2Ei2 eiBHPiYLnl9OaDi/FB/CU6jDjTvME88Hldt8yKe0JcuH5cnA9xZtF0Asr0diuuLBIgs6 in5Q/Rn93xmCSC9nSpapus74sjd9nvGqaHnwoe/QlJXinmRxzPLR93frXkXk8aaPis/9 /+TV217JpNf77FsAh6i7NL22BhKDiSV353FM6+rCOuKhoteWYwNnVmeClwECQ8JcE+i7 pR+FDyIEdq+qb54HSs39Lhcp0EenyJYPRMdeWsOTisrQDdBH8M3w/bcXnLNRP5APVM+l 2N3A== Received: by 10.180.100.2 with SMTP id eu2mr3684583wib.1.1333811329883; Sat, 07 Apr 2012 08:08:49 -0700 (PDT) Received: from [192.168.1.57] (122.237.66.86.rev.sfr.net. [86.66.237.122]) by mx.google.com with ESMTPS id u9sm15291391wix.0.2012.04.07.08.08.48 (version=SSLv3 cipher=OTHER); Sat, 07 Apr 2012 08:08:49 -0700 (PDT) Message-ID: <1333811327.30705.4.camel@edumazet-laptop> From: Eric Dumazet To: "Steinar H. Gunderson" Date: Sat, 07 Apr 2012 17:08:47 +0200 In-Reply-To: <20120406222138.GB12641@uio.no> References: <20120406213725.GA12641@uio.no> <20120406222138.GB12641@uio.no> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu5 Content-Transfer-Encoding: 8bit Mime-Version: 1.0 Cc: bloat@lists.bufferbloat.net Subject: Re: [Bloat] Best practices for paced TCP on Linux? X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Apr 2012 15:08:52 -0000 Le samedi 07 avril 2012 à 00:21 +0200, Steinar H. Gunderson a écrit : > I'll be perfectly happy just doing _something_; I don't need a perfect > solution. We have one more night of streaming, and then the event is over. :-) > > /* Steinar */ OK its probably too late :) Here is a script I would use/adapt somehow... (You probably need 1024 subclasses, this script uses 256 slots only) ETH=eth7 NUMGROUPS=256 RATE="rate 5Mbit" ALLOT="allot 4000" MASK=$(($NUMGROUPS-1)) HMASK=$(printf %02x $MASK) LIST=`seq 0 $MASK` TC="tc" export PATH=/sbin:/usr/sbin:$PATH # Not sure 10Gbit can be reached without TSO... #ethtool -K $ETH tso off $TC qdisc del dev $ETH root 2>/dev/null $TC qdisc add dev $ETH root handle 1: est 0.5sec 4sec cbq avpkt 1200 rate 10Gbit \ bandwidth 10Gbit $TC class add dev $ETH parent 1: classid 1:1 \ est 0.5sec 4sec cbq allot 8000 mpu 64 \ rate 10Gbit prio 1 avpkt 1200 bounded $TC filter add dev $ETH parent 1: protocol ip prio 10 u32 $TC filter add dev $ETH parent 1: protocol ip prio 10 handle 8: u32 divisor $NUMGROUPS for i in $LIST do slot=$(printf %02x $(($i+16))) hexa=$(printf %02x $i) $TC class add dev $ETH parent 1:1 classid 1:$slot \ est 0.5sec 4sec cbq $ALLOT mpu 64 $RATE prio 2 avpkt 1200 bounded $TC qdisc add dev $ETH parent 1:$slot handle $slot: est 0.5sec 4sec sfq limit 64 $TC filter add dev $ETH parent 1: protocol ip prio 100 u32 ht 8:$hexa: \ match ip dport 0x$hexa 0x$HMASK flowid 1:$slot done $TC filter add dev $ETH parent 1: protocol ip prio 100 u32 \ ht 800:: \ match ip src 172.24.24.252 \ match ip protocol 6 0xff \ hashkey mask 0x$HMASK at 20 \ link 8: $TC filter add dev $ETH parent 1: protocol ip prio 100 u32 \ match ip protocol 0 0x00 flowid 1:1