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