Thanks very much for the response Andreas.

Ah ha!  It's just me not explaining myself very well, then.

So, could someone please comment on whether this general rule is correct
please?


                                    root
                                 QDISC(HTB)
                                 handle=1:0
                                     |
                                     |
                                 CLASS(HTB)
                                 classid=1:1
                                 ceil=<max>
                                 rate=<max>
                                     |
           +----------------+--------+--------+----------------+
           |                |                 |                |
       CLASS(HTB)       CLASS(HTB)       CLASS(HTB)       CLASS(HTB)
      classid=1:11     classid=1:12  classid=1:1(<n>-1) classid=1:1<n>
         prio=1           prio=1           prio=2           prio=2
       ceil=<max>       ceil=<max>       ceil=<max>       ceil=<max>
     rate=(<max>/<n>) rate=(<max>/<n>) rate=(<max>/<n>) rate=(<max>/<n>)

So, if (as in this case) there are 4 classes and say the maximum rate
was 100kbps, each would receive an equal amount of guaranteed bandwidth
(<max>/<n> === 100kbps/4 = 25kbps) but if there were spare bandwidth
available, classes 1:11 and 1:12 would share the extra equally (because
they have identical rate values) but if 1:11 and 1:13 were contending
for extra bandwidth (for instance), 1:13 would only receive that which
1:11 didn't use.

Obviously I understand that the child classes could have varying rate
and ceil values to be tuned for whatever specific use someone wanted to
put them to, but this is simply a basic example.

Many thanks,

Mark Lidstone
IT and Network Support Administrator

BMT SeaTech Ltd
Grove House, Meridians Cross, 7 Ocean Way
Ocean Village, Southampton.  SO14 3TJ. UK
Tel: +44 (0)23 8063 5122         
Fax: +44 (0)23 8063 5144

E-Mail:  mailto:[EMAIL PROTECTED]
Website: www.bmtseatech.co.uk
========================================================================
==
Confidentiality Notice and Disclaimer: 
The contents of this e-mail and any attachments are intended only for
the
use of the e-mail addressee(s) shown. If you are not that person, or one
of those persons, you are not allowed to take any action based upon it
or
to copy it, forward, distribute or disclose the contents of it and you
should please delete it from your system. BMT SeaTech Limited does not
accept liability for any errors or omissions in the context of this
e-mail
or its attachments which arise as a result of Internet transmission, nor
accept liability for statements which are those of the author and not
clearly made on behalf of BMT SeaTech Limited.
========================================================================
==
  
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Andreas Klauer
Sent: 05 December 2005 18:15
To: lartc@mailman.ds9a.nl
Subject: Re: [LARTC] HTB - prio and rate

On Monday 05 December 2005 10:40, Mark Lidstone wrote:
>       1) The sum of all HTB classes under a single HTB qdisc should
add up 
> to the maximum rate of the qdisc

A HTB qdisc does not have a rate; it's the classes that do. And it's not
all classes, but just parent-children relationship. The sum of the
children class rates should be the parent class rate. Maximum rate
doesn't sound right either; just to avoid misunderstandings, we're
talking about rate here, not ceil. Think of rate as 'this much bandwidth
is guaranteed at all times for this class (and divided between the
children)', then you should get it about right.

>       2) HTB's prio is only used when 'borrowing' bandwidth from other

> classes under the same HTB qdisc, then classes with a given prio will 
> only be able to "borrow" bandwidth when classes with a lower prio have

> nothing waiting

"classes under the same HTB qdisc" is too general. You have to respect
parent / child / sibling relationship as well. A class can't just borrow
from any other class. For example, if a class has same rate and ceil, it
won't borrow anything, simply because it doesn't have to. And if the
parent won't borrow, it's children won't borrow from outside classes
either, even though they are "under the same qdisc".

> Is this correct?

Getting there, I think.

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

Reply via email to