Require WFQ & Guarantee bandwidth in Default class using CBWFQ

Unanswered Question


I have implemented 2 classes using CBWFQ, one is default class and other scavenger class (CS1). The CS1 class is being used to control a centralised email system from impacting on all other WAN applications. There are many different sized WAN links from 1.4Mbps upto 100Mbps. I have used CBWFQ to assign 20% to CS1 class and the remainder to default class. Everything tests ok, BUT under congestion, because I have had to remove 'fair-queuing' on default class (because I needed to apply 'bandwidth percent X'), obviously small packets are now affected.

Question is, is there anyway I can guarantee the 'default class' of remaining BW and still allow email to get 20%, but using fair queuing on Default Class?

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (3 ratings)
mheusinger Tue, 02/06/2007 - 08:45


As far as I understand you want to limit email, IF there is other traffic, which should be weighted fairqueued. And bandwidth plus fair-queue is not possible at the same time in class-default as you already found out (feature request towards Cisco?).

There are several options

1) police email (not adequate in your case)

2) shape email (better, but also ALWAYS limited)

3) minimum guarantee for the rest (bandwidth percent X in class-default - but no WFQ)

4) separate class for different packet sizes and separate bandwidth guarantee

Option 4) seems to be the best option in your case. So I would create an additional class for small packets like this:

class-map match-all SmallP

match packet length min 1 max 200

policy-map OUTPUT

class smallP

bandwidth percent 10

class email

bandwidth percent 20

class class-default

bandwidth percent 40

!or fair-queue

Hope this helps! Please use the rating system.

Regards, Martin

mheusinger Wed, 02/07/2007 - 00:04

Hello Mark,

as an instructor I am using the latest 12.4(11)T Advanced enterprise plus ...

The command reference should give you a minimum required software version.

Regards, Martin

Will Do,thks again.

Can I be cheeky and ask you another question, if I dont here from you I'll post later.

The question is, when using CBWFQ on an ATM pvc the maximum bandwidth I can allocate to all classes is 75%. Does this mean the other 25% can never be accessed/used by user data?

I assume this limit is there to allow for the ATM cell overheads!

mheusinger Wed, 02/07/2007 - 01:45

Hi Mark,

go ahead, be cheeky! ;-)

Well the 75% rule applies to ALL interfaces by default. The main idea is to leave room for traffic not counted in policy-maps: Layer2 keepalives, routing updates, system packets, L2 overhead and the like.

The 25% might be a conservative approach, but you can reconfigure it on a per interface basis:

interface Serial0/0

max-reserved-bandwidth 80

This f.e. would increase the value to 80%. Just always make sure you leave enough room for the traffic mentioned above.

In the case of ATM there is a good document describing the situation: "Understanding the max-reserved-bandwidth Command on ATM PVCs"

Hope this helps! Please use the rating system.

Regards, Martin


In my scenario, I have only 2 classes, one for email (CS1)in which I have given 20% and the other for class default in which I have given remaining BW (ie 80%).

So in above case as I have given 80% to class default, will not all the overhead traffic be taken from this class, or do I need to reduce the class default size to allow for these other layer 2 overheads etc.


Hopefully when I understand this I won't trouble you again.



mheusinger Wed, 02/07/2007 - 03:45


the exact value depends on the amount of additional traffic and L2 overhead. So I cannot tell you exact figures. I would however leave 5-10% not allocated to any class. Basically the problem could be, that your configured percentages cannot be achieved by the router, because of the additional traffic. So deviations could be expected, the situation is less predctable.

I would reduce the default class configured bandwidth or use "bandwidth remaining percent", which automatically will take into account the "max-reserved-bandwidth" factor.

In the end you might vary your parameters until you get a predictable desired result. To check the situation, use "show policy-map interface" command.

Regards, Martin


This Discussion