Re: HTB - prio and rate

Linux Advanced Routing and Traffic Control

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

 



On Friday 02 December 2005 14:57, Mark Lidstone wrote:
> As I understand things, when prio values are assigned to an HTB setup,
> classes with a given prio value will only be serviced when there are no
> packets waiting in classes with a lower prio value.

Actually, a class is always able to use it's rate at any time. The prio has 
only an effect when the class is trying to borrow bandwidth from others - 
then the high prio classes are allowed to take what they need first.

The prio of your understanding is instead implemented by the PRIO qdisc. 
However, PRIO does not allow limiting of bandwidth. In my opinion, this 
does make sense, at least I have so far not seen a good solution 
(implemented or theoretical) for combining hard prio and bandwidth 
distribution requirements together.

What you can do, is adding a PRIO qdisc as a child to a HTB leaf class. 
Then the HTB class will take care of the bandwidth limiting, and PRIO will 
take care of the order of the packets inside the HTB class.

> Now, does this mean that the rate values for classes with different prio
> values should be considered separate?

No.

> Should rates (a) and (b) add up to the maximum rate (100kbit in this
> example), with (c) and (d) adding up to the same, or should the total of
> (a), (b), (c) and (d) be the maximum rate?

The rate of the children classes should add up to the parent class rate, 
independent from their prio and ceil (except for the root class, where it 
does not make sense to set a ceil higher than rate).

HTH
Andreas Klauer
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

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