HI All, I know this isn''t Shorewall specific, but I''ve found the best information on the math behind the HFSC calculations in the shorewall documentation<http://www.shorewall.net/traffic_shaping.htm>. Please feel free to point me somewhere else. Regarding this paragraph: Assume that both class 1:11 and 1:12 transmit for 30 ms at 400kbits/second. That is a total of 800kbits/second for 30ms. So Class 1:11 is punished for the excess. How long is the punishment? The two classes sent 24,000 bits in 30ms; they are only allowed 0.030 * 500,000 = 15,000. So they are 9,000 bits over their quota. The amount of time required to transmit 9,000 bits at 400,000 bits/second is 22.5ms!. 1. The first 30ms indicated. This refers to the Service Curve''s (SC) delay, not the other classes delay (User A Data)? 2. The 22.5ms is based on 9000 overage and the class data rate (User A Data), not the service curve''s rate. 3. Were there 3 leaf classes instead of the 2 given, the 22.5ms calculation is made on each leaf class: #INTERFACE:CLASS MARK RATE: CEIL PRIORITY OPTIONS # DMAX:UMAX 1:10 1 500kbit full 1 1:20 2 500kbit full 1 1:10:11 3 300kbit:70ms:1500b full 2 1:10:12 4 100kbit:30ms:1500b full 2 1:10:13 4 100kbit:210ms:1500b full 2 Q delay would naturally be 40,120,120 (max 52,132,132) With the same example, SC@400kb/s on :12, we are still 9000 bits over in 30ms. 9000 bits@300kb/s=30ms 9000 bits@100kb/s=90ms Therefore UserAData requires additional 30ms=70, UserAOther requires additional 90ms=210 Thanks for any help -- lee ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It''s a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk