limiting bandwidth on iface

Linux Advanced Routing and Traffic Control

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

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi there!

Well, as an exercise, I try 'simulating' an adsl link (just the speed ;o))
with a GRE tunnel and HTB for bandwidth limiting. Typically in germany
adsl has about 1024kbit downstream and 128kbits upstream (yes, there are
others ;) but these are what I have) - which are the values i try to simulate.

Here is the snipped that does the real thing on the client-side:

- -----snip-----
~     23 # now setup shaping to dsl-like-speed (up:128, down:1024 - this \
~        is the dsl-client)
~     24 $tc qdisc del dev $tun root >&- 2>&-
~     25 $tc qdisc add dev $tun root handle 1: htb
~     26
~     27 # shapiung class of root --> not more than 1mbit bandwidth
~     28 $tc class add dev $tun parent 1: classid 1:1 htb rate 1mbit \
~        burst 0 cburst 128
~     29
~     30 # this is for downstream
~     31 $tc class add dev $tun parent 1:1 classid 1:10 htb rate 1mbit
~     32 # this does upstream
~     33 $tc class add dev $tun parent 1:1 classid 1:20 htb rate \
~        128kbit burst 0 cburst 128
~     34
~     35 # add fairness queues for up- and downstream classes
~     36 $tc qdisc add dev $tun parent 1:10 handle 10: sfq perturb 5
~     37 $tc qdisc add dev $tun parent 1:20 handle 20: sfq perturb 5
~     38
~     39 # now take care of what is up- and what ist down-steam
~     40 U32="$tc filter add dev $tun protocol ip parent 1:0 prio 1 u32"
~     41 # everything that is from me is upstream
~     42 $U32 match ip src $tunip flowid 1:20
~     43 # everthing that comes to me is downstream
~     44 $U32 match ip dst $tunip flowid 1:10
- -----snap-----

eplanations:
$tunip is the ip of this end of the tunnel
$tc = tc

OK, I tryied this setup and noticed that approximately every 60 seconds,
the bandwidth gues up to about 256kbits for about 3 seconds - I have no
explanation for this - well, I do not really know what to set as parameter
for burst/cburst...

Any ideas, grave mistakes?



thanks a lot,

Marcus Fritzsch

- --
~                                          s(c,t){return isalpha(c)&&t?/*
Marcus Fritzsch <marcus.fritzsch@xxxxxxx>  ICQ:53118621  WWW:fritschy.de
~  GnuPG: gpg --keyserver sks.keyserver.penguin.de --recv-keys 98A1D365
*/s(65-c&&97-c?--c:c+25,--t):c;}main(){for(;;)putchar(s(getchar(),13));}

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCQXAM8lT6s5ih02URAha4AKCqbcvh8h4OqqaLKiKv806SsqdHrACgg8iw
kFyUksrkfYe+QQ4nKILAEKo=
=voOh
-----END PGP SIGNATURE-----
_______________________________________________
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