General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: "Steinar H. Gunderson" <sgunderson@bigfoot.com>
Cc: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] Best practices for paced TCP on Linux?
Date: Sat, 07 Apr 2012 17:08:47 +0200	[thread overview]
Message-ID: <1333811327.30705.4.camel@edumazet-laptop> (raw)
In-Reply-To: <20120406222138.GB12641@uio.no>

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



  reply	other threads:[~2012-04-07 15:08 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-06 21:37 Steinar H. Gunderson
2012-04-06 21:49 ` Dave Taht
2012-04-06 22:21   ` Steinar H. Gunderson
2012-04-07 15:08     ` Eric Dumazet [this message]
2012-04-07 15:25       ` Dave Taht
2012-04-07 15:35         ` Steinar H. Gunderson
2012-04-07 15:48           ` Dave Taht
2012-04-07 15:52           ` Dave Taht
2012-04-07 17:10           ` Jonathan Morton
2012-04-07 17:18             ` Dave Taht
2012-04-07 17:44               ` Jonathan Morton
2012-04-07 18:10             ` Steinar H. Gunderson
2012-04-07 18:27               ` Jonathan Morton
2012-04-07 18:56                 ` Dave Taht
2012-04-07 18:50               ` Dave Taht
2012-04-07 18:54                 ` Steinar H. Gunderson
2012-04-07 19:01                   ` Steinar H. Gunderson
2012-04-07 19:08                     ` Jonathan Morton
2012-04-07 19:38                     ` Dave Taht
2012-04-07 20:16                       ` Steinar H. Gunderson
2012-04-14  0:37                       ` Rick Jones
2012-04-07 21:13                     ` Jesper Dangaard Brouer
2012-04-07 21:31                       ` Steinar H. Gunderson
2012-04-07 19:02                   ` Dave Taht
2012-04-07 21:49                 ` Fred Baker
2012-04-07 22:36                   ` Dave Taht
2012-04-07 23:59                     ` Fred Baker
2012-04-07 20:27         ` Neil Davies
2012-04-14  0:35     ` Rick Jones
2012-04-14 21:06       ` Roger Jørgensen
2012-04-16 17:05         ` Rick Jones
2012-04-07 11:54 ` Neil Davies
2012-04-07 14:17   ` Fred Baker
2012-04-07 15:08     ` Neil Davies
2012-04-07 15:16       ` Steinar H. Gunderson
2012-04-14  0:44     ` Rick Jones
2012-04-07 14:48   ` Dave Taht
2012-05-12 20:08 ` Steinar H. Gunderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1333811327.30705.4.camel@edumazet-laptop \
    --to=eric.dumazet@gmail.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=sgunderson@bigfoot.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox