[LARTC] How HTB treats priorities?

Linux Advanced Routing and Traffic Control

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

 



Hello,
I have a question regarding htb and priorities.

I want to limit my customers to some rate (let's say 512kbit/sek) and to
guarantee them for example 64kbit/sek on my links to the internet. I want
to divide it further in order to decrease latency, speed up interactive
activities, but allow them to do bulk downloads. I created htb tree
looking like that. B and C are customers. Customer classes are divided
into low latency class(DNS, small SSH and telnet packets, fast FPP games),
http traffic class and other traffic class.

Situation looks like this: (in reality we have several uplinks and also
customer sites are connected by backbone, which also have limited
bandwidth capacity - tree is simplified)

       A
     /   \
    B     C
   /|\   /|\
  D E F G H I

Class B and C have prio=3,
D and G have prio=1 (rate and ceiling are the same)
E and H have prio=2 (rate and ceiling are the same)
F and I have prio=3 (rate and ceiling are the same)

I have following questions:

Remaining bandwidth inside class B is distributed first to class D, then E
and then F and is limited by ceiling parameter . Right???

Class A has available bandwidth. Rules for guaranteed rates for classes
D,E,F,G,H,I are fulfilled. So available bandwidth has to
be distributed between class B and C equaly (assuming B and C has the same
rate and prio). Is remaining bandwidth distributed to classes D and G, and
then to classes E and H and at the end to classes F and I???

What if C and B have different rates?

Is prio parameter taken into account when htb tries to meet guaranteed
rate rules? And when packets are send?

What happens when sum of guaranteed rates of children class is bigger than
guaranteed rate of parent (rate parameter is overbooked) and all of
classes are requesting maximum bandwidth? Are classes with lower prio
given bandwidth first?

Are packets classfied to class D and G sent first?

What will happen if prio of class B is 0 and class C is 3? I assume
remaining bandwidth is first distributed to class B and to its children.
Right???


Thx in advance for your answers

Robert Kryczalo





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