Traffic shaping... don't understand the instructions!

Ow Mun Heng Ow.Mun.Heng at wdc.com
Thu Jul 8 16:44:19 UTC 2004


On Thu, 2004-07-08 at 08:49, Rodolfo J. Paiz wrote:
> At 08:03 PM 7/7/2004, Ow Mun Heng wrote:
> >Hmm.. I seem to remember there being a discussion on this (or you asking
> >anyway) and I take it there was no resolution.
> 
> My original post dealt with quite a bit of issues and I've progressed quite 
> well with solving most of them. Now the only real issue left is traffic 
> shaping.

Cool.. Maybe you can let me know later..

> 
> >Then again, since you're using diff interfaces for each link, maybe you
> >can do this instead. (since we're technically able to only do shaping on
> >outgoing interfaces.
> 
> Yes, I can shape the "outgoing" traffic on each client interface 
> (eth1-eth4) and in fact it will be the same result as the client having a 
> max download speed. I can then shape the outgoing traffic on eth0 
> (Internet) from each customer interface or network (each interface uses a 
> different subnet) to make the traffic shaping bidirectional. I just don't 
> get *how* yet. <grin>

Well in your case, it's actually v simple (in theory anyway)
The below should answer your question, does it not?

> 
> >what you can do is create classes that routes the traffic to each
> >interface according to the limits you've set out.
> >
> >tc qdisc add dev eth0 root handle 1: htb rate 1mbit (eg)
> >tc qdisc add dev eth1 root handle 1:10 htb rate 128kbit
> >tc qdics add dev eth2 root handle 1:20 htb rate 256kbit
> >tc qdics add dev eth3 root handle 1:30 htb rate 128kbit
> >tc qdics add dev eth4 root handle 1:40 htb rate 320kbit
> 
> I know I can run these commands from the command line; but how do I make 
> them permanent?
Since you're using shorewall(since you are the one who introduced it to
me), just integrate them into the tcstart file.

>  Also, should I use your commands here as a guide or can I 
> actually try them?
Yeah.. I would think you _can_ actually use those commands. Try them
out.


>  Where can I find more docs (other than the LARTC guide) 
> to go deeper into this?
let's see..
http://bubba.org/?option=software/cbq
http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm
http://fury.rupture.net/shaping/
http://www.opalsoft.net/qos/DS.htm
http://www.digriz.org.uk/jdg-qos-script/index.html#qos-2.6
http://luxik.cdi.cz/~devik/qos/htb/manual/theory.htm
http://qos.ittc.ukans.edu/

Those should tie u up.

>  And is there any specific reason why you use 10, 
> 20, 30, and 40 there? Are those built-in? Or did you just pick them?

The 10/20/30/40 are arbitary. You can use whatever you choose. They're
just to represent diff classes from the main parent (eth0 root class)
it's like Dad has 5 dollars and gives each son 1 dollar, leaving extra 1
dollar for a 'just in case'

> >(note: I didn't put a Ceil there cause by default the rate=ceil if you
> >don't specify and since you don't allow borrowing from other classes etc..etc)
> >
> >For the above scenerio, excess bandwidth will not be shared. (it's like
> >a Hard Cap)
> 
> Great... I'll start testing this and I would appreciate any further 
> comments you can make. Can I also allow "borrowing" later?
Yes

>  I understand 
> that to mean that people are allowed to use additional bandwidth *if and 
> only if* no one else is using it; is that correct? 

Yes
> How would you set up borrowing?

Just put a ceiling there. eg:
tc qdics add dev eth4 root handle 1:40 htb rate 320kbit ceil 1Mbit

that's assuming that the eth4 is your _own_ link. and you will get to enjoy up to 
1Mbit whenever the rest are not using it.

> >Hope that helps.. Please report your findings so that I can incorporate
> >that into the Howto.
> 
> I'll provide lots more feedback when I understand the stuff; for now I 
> would only suggest lots more explanatory text in the HOWTO and more theory 
> so people can understand the commands being issued or the parameters being set.

Hmm.. I thought I did that. well, then again, the initially that howto
didn't really generate a lot of feedback.

> 
> Thanks in advance for any help on this,

We're Cool.
> 
> 
> -- 
> Rodolfo J. Paiz
> rpaiz at simpaticus.com
> http://www.simpaticus.com

-- 
Ow Mun Heng
Fedora GNU/Linux Core 2 (Tettnang) on D600 1.4Ghz CPU kernel
2.6.7-2.jul1-interactive 
Neuromancer 09:35:27 up 1:02, 7 users, load average: 0.14, 0.41, 0.56 





More information about the users mailing list