All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandru Dragoi <alex@zoomnet.ro>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] how to setup massive traffic shaping? (2 class B nets)
Date: Wed, 20 Sep 2006 07:57:30 +0000	[thread overview]
Message-ID: <4510F46A.5040304@zoomnet.ro> (raw)
In-Reply-To: <a460eff50609190442o46c1ef9ye4a911e33c97e4cf@mail.gmail.com>

????? ????? wrote:
> Hello
> I have 2 class-B networks (172.22.0.0/16 and 172.23.0.0/16, over 130k
> of ip's) and need to setup
> traffic tbf shapers with 64kb/s for each ip from 172.22.0.0/16 and
> 128kb/s for each ip from 172.23.0.0/16
> just read lartc and don't understand how to use u32 for decreasing
> number of rules and hashing
> _______________________________________________
> LARTC mailing list
> LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
First you need imq. This because you can't have more than 65536 classes. 
Having 8 imqs you will be able to use 4 for download and 4 for upload. 
However You will tell us if the machine will support everything :). So 
you will divide the big class /15 into 4 classes /17

iptables -t mangle -A POSTROUTING -o $clients_eth -d 172.22.0.0/17 -j 
IMQ --todev 0

and:

tc qdisc add dev imq0 root handle 1: htb #Or whatever you use
tc class add dev imq0 parent 1: classid 1:f000 htb rate 620mbit #or 
whatever ...


tc filter add dev imq0 parent 1: protocol ip prio 5 handle 0: u32 
divisor 128
tc filter add dev imq0 parent 1: prio 5 u32 ht 800:: match ip dst 
172.22.0.0/17 hashkey mask 0x00007f00 at 16 link 0:

for i in seq `0 127` ; do
div=`printf "%x" $i`
let j=$i+1
tc filter add dev imq0 parent 1: prio 5 u32 ht 0:$div: match ip dst 
172.22.$i.0/24 hashkey mask 0x000000ff at 16 link $j:
for q in seq `0 255`; do
d=`printf "%x" $q`
clsid=$[$i*256+$q]
tc class add dev imq0 parent 1: classid 1:$clsid htb rate 128kbit
tc filter add dev imq0 parent 1: prio 5 u32 ht $j:$d match ip dst 
172.22.$i.$q flowid 1:$clsid
done
done

I hope i'm not missing something. For 172.22.128.0/17, instead of 
172.22.$i you will have 172.22.$[$i+128]
On other imq of course. For upload you just change dst with src, and "at 
16" into "at 12"


I'm really curious how it will work :D and how much it will take to run it.


_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

  reply	other threads:[~2006-09-20  7:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-19 11:42 [LARTC] how to setup massive traffic shaping? (2 class B nets) Тимур Сафин
2006-09-20  7:57 ` Alexandru Dragoi [this message]
2006-09-20  8:09 ` Alexandru Dragoi
2006-09-20 12:03 ` Alexandru Dragoi
2006-09-20 12:52 ` Тимур Сафин
2006-09-20 21:30 ` Simon Lodal

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

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

  git send-email \
    --in-reply-to=4510F46A.5040304@zoomnet.ro \
    --to=alex@zoomnet.ro \
    --cc=lartc@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.