What happens when guaranteed BW cannot be delivered (HTB and CBQ)

Linux Advanced Routing and Traffic Control

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

 



Hi all,

Suppose you have the following hypothetical scenario.
Your traffic enters the root queue (HTB or CBQ).  Then, traffic is
subdivided into level 2 classes.  Some of the level 2 classes are
subdivided further into level 3 classes.
This is all done according to some filters (this is not the point here,
though).

                    [L1 Root]
                       |            |
                     L2        L2
                                  /   \
                                L3   L3

Of course, all the leaf classes are configured to a given "base" or
"guaranteed" rate.
The sum of these guaranteed rate does not exceed the total available
bandwidth".
The sum of the base rates of the children of a class does not exceed the
base rate of the parent.
Also, if other queues are not using their base BW, their available BW
can be borrowed by other, up to "the total available bandwidth"
Specifically, if we are using HTB, the ceil of each class would be set
to the "the total available bandwidth"

Now, on some medium, it is hard to evaluate in advance the available
bandwidth on the link.
For example, on Ethernet, when there is a lot of traffic, the available
BW for a node can become low.

Lets say that this is what happens:
1. The sum of the base rate of all leafs classes is 1Mbps.
2. Ethernet 10Mbits/sec NIC card is used.
3. At a given point in time, there is a lot of traffic in the network,
and our node has only 0.7Mbits/sec available for transmission.  The
situation remains like this for a while.
4. During the same period, all flows are using completely their base
rate (i.e. traffic is flowing in all classes at their base rate, so
globally there is 1Mbps flowing in the queuing mechanism).

Definitely, some classes will not get their base rate.
And now, finally, here are my questions.

For both CBQ and HTB, which classes will start to starve first?  Is this
done according to their priority, according to their base rate, or is it
totally random?
Have HTB and CBQ been designed to handle this kind of situation?

I am looking for answers in term of general behavior of HTB and CBQ.

Thank you all,
Mathieu.


--
Mathieu Deziel
Computer Network Researcher

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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