Andy Pyles wrote: > > > -----Original Message----- > > From: Rodrigo Goya [mailto:rgoya@xxxxxxxxxxxxxxxxxx] > > Sent: Friday, June 01, 2001 9:55 AM > > To: Linux Advanced Router & Traffic Control > > Subject: Re: [LARTC] qdisc unbounding question > > > > > > Hi, > > > > > > tc class add dev eth0 parent 1:170 classid 1:30 cbq > > bandwidth 200Kbit > > > > rate 30Kbit weight 3Kbit prio 6 allot 1514 cell 8 > > maxburst 20 avpkt 1000 > > > > > > Shouldn't the parent class be 1:1 instead of 1:170 ?? > > > > > > I believe in the current scheme, 1:170 is child from 1:1 > > and 1:30 a child > > > from 1:170. I think you want both 1:170 as 1:30 to be > > children from 1:1. > > > > > > > I agree with this. > > > > Also, shouldn't root qdisc 1:0 have full interface bandwidth? > > and then root > > class 1:1 have "bandwidth $TOTAL rate 200kbit bounded" ? > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > < I'm throwing in the diagram again in for clarity > > > <---- 170kbs 170kbs ------------> > if Dest. = 10.10.20.97 if Dest. = 10.10.30.3 > (classid=170) (classid=171) > > |------| |------ > | eth0 | |eth1 | > | |-----| | > -------- ------- > <------30kbs 30kbs ---------------> > if Dest. = 10.10.20.95 if Dest. = 10.10.30.2 > (classid=30) (classid=31) > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Ok.. I guess I could implement this. However, as it is now, I am > effectively keeping the > maximum bandwidth under 200kbs. So, I don't see a reason for it. Is > there one? > > Let me clarify, I have been able to determine, through testing, that > these seperate classes are > indeed working. In other words, I am not able to exceed the bandwidth > limitations set in their seperate classes. > I.e. no more than 170kbs with dest ip= 10.10.20.97 AND no more than > 30kbs if dest. ip = 10.10.20.95. > > Now, the only problem I'm having is having is to allow class 30 to > borrow from it's parent class. If you want to do this, follow the following scheme : CBQ root qdisc 10: with BW = link BW (10Mbit) CBQ BOUNDED class 10:1, parent 10: with BW = link BW and rate = 200 kbps CBQ qdisc 20: on class 10:1 with BW = 200kbps CBQ Class 20:170 with BW 200kbps and rate 170kbps, prio 3, no weight CBQ Class 20:30 with BW 200kbps and rate 30kbps, prio 3, no weight Now class 20:170 and 20:30 will share the bandwidth and class 20:170 will get 170/200*100% of available bandwidth (200kbps). There is only one problem. The bounded parameter on the class 10:1 will bound the class (and thus qdisc 20:0) in theory to 200 kbps BUT CBQ is very inaccurate. It will bound the traffic to 140kbps in stead of 200kbps. I'm still testing it, but you can find the first results on http://users.belgacom.net/staf/qos/tests/cbq/bounded-accuracy.html. So if you try this, and the BW is 140kbps, it's working, don't blame me, it's CBQ that's not accurate. > > Something else, isn't it necesary to have a qdisc for each > > interface? Right now > > it's 1:0 for eth0 and 1:0 for eth1, I don't know if this > > works, I've always > > done it using (for example) 1:0 for eth0 and 2:0 for eth1. You may use the same number since the device is different -- Stef More QOS info : http://users.belgacom.net/staf/