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@xxxxxxxxxxxxxx > 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