Re: how to setup massive traffic shaping? (2 class B nets)

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



????? ????? 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@xxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux