-----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@gmx.net> 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-----
Marcus, I''m a little confused. Downstream is 1mbit and upstream is 128kbit but the root limit in your code is 1mbit. Surely this could be the cause of your problem? Regards Brian On 23 Mar 2005 at 14:33, Marcus Fritzsch wrote:> ~ 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_______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Brian Carrig wrote: | I''m a little confused. Downstream is 1mbit and upstream is 128kbit but the root limit | in your code is 1mbit. Surely this could be the cause of your problem? | [...] |>~ 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 As i''m really new to this topic... I did understand that if in that case my downstream is ''full'' (ie ~1mbit) and I do want to send data upstream, these two will not get their maximum but slow down to a sum of 1mbit... This is not the right behaviour ;) - but is not my problem... Well, in the meantime, i did some new tests with the script and discovered, that it is always running at only half speed... ie when I do a ping flood the bandwidth seems to be 128kbit - but _not_ in upstream, these 128kbit are up- and downstream together... So my current situation is: it does not peak to the double upstream bandwith every minute, but it runs at half speed and peaks to full speed each minute of 45 to 50 seconds... I really don''t know why it does so best regards, Marcus - -- ~ s(c,t){return isalpha(c)&&t?/* Marcus Fritzsch <marcus.fritzsch@gmx.net> 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 iD8DBQFCQq8m8lT6s5ih02URAiBYAJ90JSIRdqTanAChPJxIADvkxKTDWQCgv2tP KHpEggdHbExkxg7nEb3rc+8=Ey/f -----END PGP SIGNATURE-----
Reasonably Related Threads
- classes and qdiscs
- [Bug 812] addrtype with limit-iface-in in ip6tables/nat/PREROUTING messes up the route cache
- [Bug 812] addrtype with limit-iface-in in ip6tables/nat/PREROUTING messes up the route cache
- Re: [PATCH] virt-v2v: Remove iface:ide parameter (RHBZ#895898)
- Re: [PATCH] virt-v2v: Remove iface:ide parameter (RHBZ#895898)