RE: how hierarchical is HTB?

Linux Advanced Routing and Traffic Control

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

 



Few quick comments:

HTB parent rate should never be less than the sum of its children.  This
is referring to the rate parameter not the ceil.  

Class 1:20 needs to equal 1:200+1:201.  You will get strange results if
you try and test with any configuration where the the sum of all
childeren rates are greater than their parent.  

Borrowing occurs from the parent and from classes at the same level.  So
if you have 3 leaf classes. 1:1, 1:2, and 1:3 they will get their
assigned rate and borrow up their ceil if there is extra bandwidth.  If
there is no traffic in one of the classes then it can give its assured
bandwidth to the other 2 classes with traffic.  Borrowing is based on
the priority assigned to the class.  

Jon Flechsenhaar
Boeing WNW Team
Network Services
(714)-762-1231
202-E7

-----Original Message-----
From: Claudio Greco [mailto:cla.greco@xxxxxxxxxxxxx] 
Sent: Wednesday, June 06, 2007 7:58 AM
To: Ethy H. Brito
Cc: lartc@xxxxxxxxxxxxxxx
Subject: Re:  how hierarchical is HTB?


> root class 1: (rate=100, ceil=100)
> 1: children classes 1:10 (30,100) and 1:20 (70,100) 1:10 children 
> classes 1:100 (10,100) and 1:101 (20,100) 1:20 children classes 1:200 
> (30,100) and 1:201 (70,100)
>
> I managed to have the root rate equals to the sum of its children. 
>
>   
Well, it is still true that total assured rate for classes 1:200 and
1:201 is greater than assured rate for class 1:20. Still, I don't think
this is a big deal.

> But how must the rates of the leaves be signed?
>   
What do you mean with 'signed'?

> And how the bandwidth of these leaves will be distributed when 
> borrowing/lending is necessary?
>
>   
As far as I know, when a leaf is 'yellow', i.e. its rate is greater than
its assured rate and lesser than its ceil rate, it can borrow from its
parent providing there's a yellow-path to the root and the root is green
(root can't be yellow, only green or red).

If there's more than one child borrowing from the same class, they're
served according to their priority (argument prio in *tc class add*).

If there's more than one child having the same priority, then they're
served in DRR order (Deficit Round Robin).

You can tune DRR behaviour with arguments r2q in *tc qdisc add* and
quantum in *tc class add*.

> classs 1:10 will/may lend/borrow from class 1:20. I know that.
>   
No it can not. A class can only borrow from its parent, never from its
siblings.

> But how about 1:1XX and classes 1:2XX? will the borrow/lend from each 
> others?
>
>   
ibidem.

> Any docs about this?
>
>   
You may see:

http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm
http://luxik.cdi.cz/~devik/qos/htb/manual/theory.htm

_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
_______________________________________________
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