QoS Question - Bandwidth command on class-default

Unanswered Question
Feb 14th, 2008
User Badges:


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 ?



  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 3 (1 ratings)
Joseph W. Doherty Thu, 02/14/2008 - 12:56
User Badges:
  • Super Bronze, 10000 points or more

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.

Mohamed Sobair Thu, 02/14/2008 - 14:18
User Badges:
  • Gold, 750 points or more


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.



milan.kulik Wed, 06/04/2008 - 12:54
User Badges:
  • Red, 2250 points or more


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?



Joseph W. Doherty Wed, 06/04/2008 - 15:02
User Badges:
  • Super Bronze, 10000 points or more

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.

milan.kulik Wed, 06/04/2008 - 23:07
User Badges:
  • Red, 2250 points or more

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?



Joseph W. Doherty Thu, 06/05/2008 - 04:11
User Badges:
  • Super Bronze, 10000 points or more

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: http://www.cisco.com/en/US/tech/tk39/tk48/technologies_tech_note09186a00800fe2c1.shtml. Although it specific to ATM, I suspect it's also true for other interfaces with regard to CBWFQ.


This Discussion