> I don't know. I guess that you will have to experiment and see. Please
> let us know what you learn, so I can update the Complex TC doc with your
> findings.
>   
I think I figured it out - the tricky part was to determine the excesses 
and the additional delay I have to split between the two remaining 
classes - 16 & 17. So, here is what I think the final figures should be:

a:13, priority:2, guaranteed speed 320kbit to 320kbit - Main class for 
outgoing traffic
a:13:14, priority 2, guaranteed speed 120kbit to full (40KB/s), dmax 
60ms, umax 1500b  - VOIP traffic routed outside ("boosted" to 200kbits)
a:13:15, priority 3, guaranteed speed 80kbit to full, dmax 100ms, umax 
1500b - VPN 1 traffic going out ("boosted" to 120kbits)
a:13:16, priority 4, guaranteed speed 80kbit to full, dmax 224ms, umax 
1500b - VPN 2 traffic going out
a:13:17, priority 5, guaranteed speed 40kbit to full, dmax 374ms, umax 
1500b - other unclassified traffic going out

N.B. I had to revise up my initial dmax value for class 14 from 50ms to 
60ms as I don't think I could have the total speed of all *boosted* 
subclasses (14 & 15 in my case) to exceed the speed of the parent class 
(class 13). My calculations are as follows (strap yourselves in!):

1. Nominal delays (delay at which classes transmit packets at nominal 
speed):
14 - 100ms -> (8*1,500)/120,000
15 - 150ms -> (8*1,500)/80,000
16 - 150ms -> (8*1,500)/80,000
17 - 300ms -> (8*1,500)/40,000

2. Calculating dmax and excess bits values for class 14:
2.1 The "boost" speed for class 14 is 200kbits, which translates to 60ms 
-> (8*1,500)/200,000. Therefore dmax for class 14 = 60ms.
2.2 The total speed of all subclasses when class 14 has "boost" speed is 
200,000 + 80,000 + 80,000 + 40,000 = 400kbits
2.3 The total amount of bits transmitted at that speed for 60ms is 
24,000 (400,000*60ms)
2.4 The total amount of bits transmitted at nominal speed by all classes 
for 60ms is 19,200 (320,000*60ms)
2.5 Therefore the amount of excess bits for class 14 is 4,800 bits 
(24,000 - 19,200)

3. Calculating dmax and excess bits values for class 15:
3.1 The "boost" speed for class 15 is 120kbits, which translates to 
100ms. Therefore dmax for class 15 = 100ms
3.2 The total speed of all subclasses when class 15 has "boost" speed is 
120,000 + 120,000 + 80,000 + 40,000 = 360kbits
3.3 The total amount of bits transmitted at that speed for 100ms is 
36,000 (360,000*100ms)
3.4 The total amount of bits transmitted at nominal speed by all classes 
for 100ms is 32,000 (320,000*100ms)
3.5 Therefore the amount of excess bits for class 15 is 4,000 bits 
(36,000 - 32,000)

4. Determine dmax values for leaf classes 16 & 17, taking into account 
punitive excesses from classes 14 & 15.
4.1 The total number of excess bits is 8,800 (4,800 + 4,000). I have 
decided to split them up according to the nominal speed of classes 16 & 
17 so that each class takes roughly equal measure (in terms of time in 
milliseconds) of the punishment. In other words, class 16 takes 2/3 of 
the total amount of excess bits (as it has twice the speed of class 17) 
with class 17 taking the rest. So, 2/3 of 8,800 ~ 5,867 bits, while 
class 17 takes the rest - 2,933 bits.
4.2 The amount of time required to transmit 5,867 bits at speed 80kbit/s 
(the nominal speed of class 16) is 73.33ms (5,867/80,000) - rounded up 
to 74ms. Therefore dmax value for class 16 is 224ms (150ms + 74ms).
4.3 The amount of time required to transmit 2,933 bits at speed 40kbit/s 
(the nominal speed of class 17) is 73.325ms (2,933/40,000) - rounded up 
to 74ms. Therefore dmax value for class 17 is 374ms (300ms + 74ms).

Does the above makes sense? How do I actually "test" whether these 
calculations are correct?

------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Shorewall-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-users

Reply via email to