Lubomir Bulej has now released v0.8.3 of his excellent htb.init script which fixes the problem with the ordering of the output. Gavin ----- Original Message ----- From: "Martin Devera" <devik@cdi.cz> To: "Gavin" <gavin@raha.com> Cc: "Stef Coene" <stef.coene@docum.org>; <LARTC@mailman.ds9a.nl> Sent: Friday, April 05, 2002 3:10 PM Subject: Re: [LARTC] htb ceiling > you have error in conf. As you can see class 1:40 and 1:50 are > added to the root not as 1:2 children. > The output of htb.init is wrong - you can see that it uses 1:2 > class before it demands its create ... > I don't know htb.init - you will have to contact maintainer > with bugrerport probably ;) > devik > > On Fri, 5 Apr 2002, Gavin wrote: > > > I tried it with a minimal config - two classes, each with rate: 256Kbit and > > ceiling: 512Kbit and one dest. IP address in each, as well as a default > > class. Each specified machine could only pull 256Kbit maximum, either alone > > or with the other downloading as well. > > > > Output of tc -s qdisc show dev eth1: > > > > qdisc sfq 50: quantum 1514b perturb 10sec > > Sent 7506464 bytes 4984 pkts (dropped 0, overlimits 0) > > backlog 6p > > > > qdisc sfq 40: quantum 1514b perturb 10sec > > Sent 4275617 bytes 2829 pkts (dropped 0, overlimits 0) > > backlog 3p > > > > qdisc sfq 10: quantum 1514b perturb 10sec > > Sent 287102 bytes 542 pkts (dropped 0, overlimits 0) > > > > qdisc htb 1: r2q 100 default 10 dcache 0 > > deq_util 1/1000000 deq_rate 125 trials_per_deq 0 > > dcache_hits 0 direct_packets 0 > > Sent 12069183 bytes 8355 pkts (dropped 0, overlimits 15537) > > backlog 9p > > > > > > Output of tc -s class show dev eth1: > > > > class htb 1:10 root leaf 10: prio 0 rate 2Mbit ceil 2Mbit burst 15Kb cburst > > 4220b > > Sent 331368 bytes 678 pkts (dropped 0, overlimits 32) > > rate 107bps > > lended: 678 borrowed: 0 giants: 0 injects: 0 > > tokens: 47825 ctokens: 13015 > > > > class htb 1:2 root prio 0 rate 5Mbit ceil 5Mbit burst 15Kb cburst 8151b > > Sent 0 bytes 0 pkts (dropped 0, overlimits 0) > > lended: 0 borrowed: 0 giants: 0 injects: 0 > > tokens: 19199 ctokens: 10190 > > > > class htb 1:40 root leaf 40: prio 0 rate 256Kbit ceil 512Kbit burst 15Kb > > cburst 2254b > > Sent 4275671 bytes 2830 pkts (dropped 0, overlimits 0) > > rate 226bps > > lended: 2830 borrowed: 0 giants: 0 injects: 0 > > tokens: 382801 ctokens: 27588 > > > > class htb 1:50 root leaf 50: prio 0 rate 256Kbit ceil 512Kbit burst 15Kb > > cburst 2254b > > Sent 8214460 bytes 5467 pkts (dropped 0, overlimits 0) > > rate 546bps > > lended: 5467 borrowed: 0 giants: 0 injects: 0 > > tokens: 382801 ctokens: 27588 > > > > Output of htb.init compile: > > > > tc qdisc del dev eth1 root > > tc qdisc add dev eth1 root handle 1 htb default 10 r2q 100 > > > > tc class add dev eth1 parent 1:2 classid 1:10 htb rate 2Mbit ceil 2Mbit > > burst 15k > > tc qdisc add dev eth1 parent 1:10 handle 10 sfq perturb 10 > > > > tc class add dev eth1 parent 1:2 classid 1:40 htb rate 256Kbit ceil 512Kbit > > burst 15k > > tc qdisc add dev eth1 parent 1:40 handle 40 sfq perturb 10 > > tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst > > 10.0.0.20 classid 1:40 > > > > tc class add dev eth1 parent 1:2 classid 1:50 htb rate 256Kbit ceil 512Kbit > > burst 15k > > tc qdisc add dev eth1 parent 1:50 handle 50 sfq perturb 10 > > tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst > > 10.0.0.150 classid 1:50 > > > > tc class add dev eth1 parent 1: classid 1:2 htb rate 5Mbit burst 15k > > > > > > > > Gavin > > > > > > ----- Original Message ----- > > From: "Martin Devera" <devik@cdi.cz> > > To: "Stef Coene" <stef.coene@docum.org> > > Cc: "Gavin" <gavin@raha.com>; <LARTC@mailman.ds9a.nl> > > Sent: Friday, April 05, 2002 1:40 PM > > Subject: Re: [LARTC] htb ceiling > > > > > > > > > tc qdisc add dev eth1 root handle 1 htb default 10 r2q 100 > > > > > tc class add dev eth1 parent 1: classid 1:2 htb rate 5Mbit burst 15k > > > > > tc class add dev eth1 parent 1:2 classid 1:40 htb rate 256Kbit ceil > > 512Kbit > > > > > burst 15k > > > > > tc qdisc add dev eth1 parent 1:40 handle 40 sfq perturb 10 > > > > > tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip > > dst > > > > > 10.0.0.2 classid 1:40 > > > > > > > > > > - this allows 10.0.0.2 to download at 256Kbit, even when it is the > > only > > > > > machine doing any downloading. I can affect this speed by changing > > the > > > > > $rate, but changing $ceil has no effect whatsoever. > > > > The ceil will prevent 10.0.0.2 to download faster then 512 kbit. The > > rate > > > > will say how much 10.0.0.2 can download compare to the other classes (so > > the > > > > other lines are also relevant :). > > > > > > No Stef, > > > the rate is really measured - it is used as source for DRR weight > > > (here it is used relative to other classes) and to see whether we > > > need to borrow from parent - here absolute value matters. > > > So that the example above should work and give 512k. > > > > > > Gavin, did you tried with only these classes present ? (to have > > > maximaly simplified configuration which exhibits it). > > > If yes and it really does only 256k then post > > > tc -s {qdisc,class} show dev ethXX outputs ... as usual > > > devik > > > > > > > > > > > > > >