Hi all,
I am trying to find out what the mis-configuration is, when I
issue the commands below.
tc qdisc add dev eth0 root handle 123: htb
tc class replace dev eth0 parent 123: classid 123:100 htb rate 200kbit
ceil 200kbit
tc class replace dev eth0 parent 123:100 classid 123:1 htb rate 0kbit
ceil 200kbit prio 0
tc class replace dev eth0 parent 123:100 classid 123:2 htb rate 0kbit
ceil 200kbit prio 1
tc class replace dev eth0 parent 123:100 classid 123:3 htb rate 0kbit
ceil 200kbit prio 2
tc class replace dev eth0 parent 123:100 classid 123:4 htb rate 0kbit
ceil 200kbit prio 3
tc class replace dev eth0 parent 123:100 classid 123:5 htb rate 0kbit
ceil 200kbit prio 4
What happens is this:
I've two packet streams which are properly classified (I verified this
part) into classid's 123:2 and 123:4. I send data constantly on each
stream at the rate of 300 kbps. As expected, I see 200 kbps devoted to
123:2 and no bandwidth devoted to 123:4, which is what I want.
However, if I raise the "ceil" in all commands and the "rate" in the
second command to 300kbit instead of 200kbit; then ALL packets from
both streams go through and I get an effective output of 600 kbps. I
was expecting 300 kbps from 123:2 and none from 123:4.
Do you know what could be causing this?