Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

QoS Question - Bandwidth command on class-default


when configuring multiple classes using "bandwidth percent" and the class-default is only configured with the "fair-queue" command then what will be the bandwidth ratio between configured classes and class-default ?


Class 1 is configured as "bandwidth percent 10"

Class 2 is configured as "bandwidth percent 1"

class-default is configured with "fair-queue"

Then will the queue processing ratio between class be

10:1:89 (i.e. class-default will assume all the leftover bandwidth) ?

Or Do we need to configure a "bandwidth percent.." command for class-default ? But that will then not let me configure fair-queue on the same class. Which one is more beneficial ?



Super Bronze

Re: QoS Question - Bandwidth command on class-default

I believe the default bandwidth allocation for class-default is 25% but that's also shared with other overhead. Some of the later IOSs also support a "max-reserved-bandwidth" that can change this percentage.

On most (all?) non-7500 platforms, the FQ within class-default doesn't limit itself to a percentage for all the active FQ flows. So, don't believe your other classes are guaranteed the bandwidth floors, or ratios, you expect with active class-default FQ.

Because of this, I often use class-default with FQ alone or just with LLQ. If I define other classes, I then make class-default FIFO with a specific bandwidth allocation.

Re: QoS Question - Bandwidth command on class-default


You can only reserve up to 75% of the interface bandwidth by default & u can change this behaviour by (Max-reserved-bandwidth) command. However, its not recommended to do so.

As for Class-default, u have two options, u can reserve bandwidth and use fair-Queing method.

The Second option is to configure Dynamic Ques For the Fair-Que using Tail Dropped Congestion avoidance mechanism which will limit your Each Queue per packet before tail dropps occurs.



Re: QoS Question - Bandwidth command on class-default


let's say I configure 2 classes with bandwidth 30% reserved for each and also reserve 10% for the default class.

What happens with the remaining 30% of bandwidth during a congestion time?

I read somewhere it's shared between all classes according to the reserved bandwidth ratio, i.e. 3:3:1 in this case?

Is there any difference in behaviour if I configure 2 classes with 30% of bandwidth reserved again and use max-reserved-bandwidth 90 instead of reserving 10% for the default class?



Super Bronze

Re: QoS Question - Bandwidth command on class-default

It's my understanding, too, when there is available excess bandwidth it's allocated in the ratios of the classes to each other. I think this also applies to the class-default when an explicit bandwidth statement has been used.

Your example of 3:3:1 would hold if all 3 classes wanted bandwidth, but if there was no demand in the 10% class, and both 30% classes wanted all, they would split 1:1. If one 30% didn't want any bandwidth, but the other 30% class wanted all as did the 10% class, then they would split 3:1.

I know changing the max-reserved-bandwidth changes what bandwidths you can configure for bandwidth allocations in the non-class-default classes; unsure about actual impact against weighing factors, whether bandwidth explicitly defined for class-default or not. I think I tried some experimentation in this regard and recall actual assigned flow weights didn't appear to change based on max-reserved-bandwidth; but don't hold me to that.

Re: QoS Question - Bandwidth command on class-default

Hi Joseph,

this is exactly what I'm not able to find in any Cisco material:

Is there a difference between bandwidth explicitly defined for class-default and derived from max-reserved-bandwidth?



Super Bronze

Re: QoS Question - Bandwidth command on class-default

One thing that's different between an explicitly bandwidth statement within class-default vs. derived, the former converts class-default to FIFO otherwise the default is flow based queuing. (NB: What's a bit strange about the class-default class, you can also define fair-queue, which one would think it's the same as flow based queuing. [Perhaps the default is just FQ and the explicitly fair-queue is WFQ]).

Otherwise, as noted in my prior post, the only thing that's seems certain is how much bandwidth you can allocate to other classes based on the max-reserved setting.

One interesting paper is: Although it specific to ATM, I suspect it's also true for other interfaces with regard to CBWFQ.