There tends to be confusion on how Bandwidth (BW) versus Bandwidth Remaining is actually calculated, and which is best to use in defining bandwidth requirements within a CBWFQ system or LLQ. In order to clarify the differences, let’s look at a typical configuration which could easily explain how bandwidth is calculated; and then look what the total bandwidth that would be allocated when congestion begins outbound of the configured interface.
Bandwidth percent example
The mission-critical class gets a 200 Kbps bandwidth reservation since it is given a fixed sum guarantee of 20 percent. 20 percent of 1000k would be 200 kbps, so the voice priority class gets a maximum 200 kbps, mission critical receives 200 kpbs, the class interactive receives 100 kpbs and finally the class-default receives 250kpbs.
policy-map egress classvoip priority percent 20 class mission-critical bandwidth percent 20 class interactive bandwidth percent 10 class class-default bandwidth percent 25 ! int s0/0 bandwidth 1000 service-policy output egress
Bandwidth Remaining example
See how bandwidth will be calculated when assigning the bandwidth always based upon a remaining value. Let’s consider the same example from above but change it from bandwidth percent to remaining bandwidth percent:
policy-map egress classvoip priority percent 20 class mission-critical bandwidth remaining percent 20 class interactive bandwidth remaining percent 10 class class-default bandwidth remaining percent 70 ! int s0/0 bandwidth 1000 service-policy output egress
Notice that the voice class still has a fixed sum guarantee of 20 percent of the interface configured bandwidth - .20 * 1000kpbs which is 200kpbs. But now we have to calculate the max reserve bandwidth since this must deducted first before determining the bandwidth remaining. As a reminder, the maximum reserved is how much you can ever reserve using the bandwidth or bandwidth percent statements. Cisco defines this formula as
Bandwidth available = Bandwidth fixed sum guarantees – Max Reserve (75% of bandwidth by default)
Applying the formula to our example, we have 750Kpbs – 200 kpbs = 550kpbs. Now the 550 kpbs will be divided out based upon the pre-defined percentages fore each class. Therefore, the Mission Critical class would receive (.20)(550 kpbs) = 110 kpbs, the class interactive will be 55 kpbs, and the class-default would receive 385 kpbs. Also, if any class doesn't use its full bandwidth allocation, the leftover will automatically be distributed to the other classes proportionally, based upon the configured percentages.