[LARTC] HTB doesn't respect rate values

Sergiusz Brzeziński Sergiusz.Brzezinski@s-gen.pl
Sat, 05 Jul 2003 18:52:22 +0200


Thak you for your hints!

 > 1) 6kbit is really too small it should be at least 10 ..

I tried with 12, 20 and even with 30kbit for 1:3

I noticed, that it work for some seconds (or 1-2 minutes) but than the 
1:3 class gets more then it should get :(.


 > 2) it should workeven with 6k:
 >  - look at stats (tc -s class show dev eth0) before and
 >    after the test - you are interested in drops. Also try
 >    it during the test to look whether queues are build up.
 >

I made a test with settings:
---------------------------------

tc qdisc del root dev eth0
tc qdisc add dev eth0 root handle 1:0 htb default 3

tc class add dev eth0 parent 1:0 classid 1:1 htb rate 128kbit ceil
128kbit burst 20kbit

tc class add dev eth0 parent 1:1 classid 1:2 htb rate 98kbit ceil 
128kbit quantum 4900 burst 20kbit

tc class add dev eth0 parent 1:1 classid 1:3 htb rate 30kbit ceil 
128kbit quantum 1500

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip sport 
80 0xffff flowid 1:2

Bevore test: (reseted htb)
--------------------------------
# tc -s class show dev eth0

class htb 1:1 root rate 128Kbit ceil 128Kbit burst 2559b cburst 1762b
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 244140 ctokens: 168131

class htb 1:2 parent 1:1 prio 0 rate 98Kbit ceil 128Kbit burst 2559b 
cburst 1762b
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 318876 ctokens: 168131

class htb 1:3 parent 1:1 prio 0 rate 30Kbit ceil 128Kbit burst 1637b 
cburst 1762b
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 666503 ctokens: 168131

After test:
------------
class htb 1:1 root rate 128Kbit ceil 128Kbit burst 2559b cburst 1762b
  Sent 5843869 bytes 4715 pkts (dropped 0, overlimits 0)
  rate 15427bps 12pps
  lended: 1461 borrowed: 0 giants: 0
  tokens: -21142 ctokens: -97151

class htb 1:2 parent 1:1 prio 0 rate 98Kbit ceil 128Kbit burst 2559b 
cburst 1762b
  Sent 2735702 bytes 1811 pkts (dropped 0, overlimits 0)
  rate 6397bps 4pps
  lended: 1802 borrowed: 9 giants: 0
  tokens: 312898 ctokens: 163555

class htb 1:3 parent 1:1 prio 0 rate 30Kbit ceil 128Kbit burst 1637b 
cburst 1762b
  Sent 3108167 bytes 2904 pkts (dropped 0, overlimits 0)
  rate 9488bps 8pps
  lended: 1452 borrowed: 1452 giants: 0
  tokens: -561135 ctokens: -97151

Description of the test:
------------------------
On the beginning it was everything OK, after 1 min, 1:2 lost his 98kbit. 
Than he got sometimes his 98kbit again and sometimes he got even 30kbit.


1. Can I do something more to find out what happen?
2. What does mean: "queues are build up" ?

Sergiusz