Re: [LARTC] HTB doesn't respect rate values

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



That's it!

I did pfifo with limit 10 and HTB started to work. I noticed drops and rate was OK. Sometimes (for 10-40 seconds) but seldom it worked bad (1:2 got less, than it should) but there wasn't drops during this time. I tried this also with 12kbit at it was similar.

If I good understand, there is something (TCP stack or what) whitch works BEVORE htb and this makes some connections slower or faster, so HTB has later nothing to do.

The question for me is: how can I set it (the mechanism bevore HTB) to give HTB full control over the bandwitch? I don't wont to use pfifo (not everywhere). I would like to use sfq for some classes.

Should I set specific parameter somewhere or set something in network configuration, or maybe recompile the kernel with a specific option?

Sergiusz

Użytkownik devik napisał:
Interestingly from what I see HTB didn't come into play.
All drop and overlimits counters are zero. It seems that
www server haven't managed to send more.
Please try to add pfifo with limit 10 under both classes.
Because you are sending from the same computer, your
TCP stack uses send queue management which counts packets
in qdisc and backs off. It MIGHT cause problems ...

-------------------------------
    Martin Devera aka devik
Linux kernel QoS/HTB maintainer
  http://luxik.cdi.cz/~devik/

On Sat, 5 Jul 2003, Sergiusz Brzeziński wrote:


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




[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux