[LARTC] How to set HTB correct ?

shun chain chainshun at gmail.com
Fri Jul 1 11:48:02 CEST 2005


Hi, everyone

I has a ADSL link about 4M bandwidth, and use HTB do bandwidth management.

When I config qdisc like below:
tc qdisc add dev br0 root handle 1: htb default 30 
tc class add dev br0 parent 1: classid 1:1 htb rate 4000kbit 
tc class add dev br0 parent 1:1 classid 1:10 htb rate 2000kbit ceil
4000kbit  prio 0
tc class add dev br0 parent 1:1 classid 1:20 htb rate 1000kbit ceil
4000kbit  prio 1
tc class add dev br0 parent 1:1 classid 1:30 htb rate 500kbit ceil
4000kbit  prio 2
tc class add dev br0 parent 1:1 classid 1:40 htb rate 100kbit ceil
4000kbit  prio 3
tc qdisc add dev br0 parent 1:10 handle 10: pfifo limit 10
tc qdisc add dev br0 parent 1:20 handle 20: pfifo limit 10
tc qdisc add dev br0 parent 1:30 handle 30: pfifo limit 10
tc qdisc add dev br0 parent 1:40 handle 40: pfifo limit 10

after seconds,  all 4 class will reach about 1M bps, it seems like HTB not work.

But if I set qdisc like below:
tc qdisc add dev br0 root handle 1: htb default 30 
tc class add dev br0 parent 1: classid 1:1 htb rate 2000kbit 
tc class add dev br0 parent 1:1 classid 1:10 htb rate 2000kbit ceil
4000kbit  prio 0
tc class add dev br0 parent 1:1 classid 1:20 htb rate 1000kbit ceil
4000kbit  prio 1
tc class add dev br0 parent 1:1 classid 1:30 htb rate 500kbit ceil
4000kbit  prio 2
tc class add dev br0 parent 1:1 classid 1:40 htb rate 100kbit ceil
4000kbit  prio 3
tc qdisc add dev br0 parent 1:10 handle 10: pfifo limit 10
tc qdisc add dev br0 parent 1:20 handle 20: pfifo limit 10
tc qdisc add dev br0 parent 1:30 handle 30: pfifo limit 10
tc qdisc add dev br0 parent 1:40 handle 40: pfifo limit 10

then bandwidth will be split fit for  2:1: 0.5: 0.1,  class 1:10 will
get about 2.5 M.
it seems like that HTB works well.

I do not understand  how  it works like this.

Thank you for your help in advance.

Shun Chain


More information about the LARTC mailing list