Class-Default bandwidth question

Unanswered Question
Mar 8th, 2007
User Badges:

Hi all,


Can someone point me to another source of documentation that confirms the actual bandwidth allocated to the Class-Default when no specific Bandwidth Percent command is given?



policy-map scheduler-lmc

class prec5

priority percent 10

class prec3

bandwidth percent 50

class class-default

fair-queue


Link Bandwidth: 4000

Link type: Ethernet

max-reserved-bandwidth is Default: 75%



Question: What percentage of link BW is allocated to the Class-Default?



My own argument would be:


75% (max-reserved-bandwidth) -/- 60 %(LLQ + 2nd Q) = 15%


I follow this reasoning because when I attempt to configure the Class-Default with the Bandwidth Percent command, I am only allowed to configure 15%.


HOWEVER: According to the infromation provided in the link below: Class-Default takes it?s bandwidth from the percentage that is not available for allocation to configured classes, read: 25% (100% of link BW -/- 75% max-reserved-bandwidth).


http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fqos_c/fqcprt2/qcfconmg.htm#wp1003189


  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (2 ratings)
Loading.
fred.s.mollenkopf Fri, 03/09/2007 - 09:29
User Badges:
  • Gold, 750 points or more

Reinier,


Here is a blurb from the QoS SRND that backs up your previous document. Of course this is a blurb referencing configuration of max-reserved bandwidth on a PPP Multilink but it reiterates the behaviour of the class-default.


Basically what I get out of this is class-default is reserved the 25% of the link unless a specific bandwidth value is specified. If a specific bandwidth value is assigned then the max-reserved bandwidth needs to be adjusted as it will no longer use the 25% reserved and will be subject to whatever percentage you specifiy of the 75%. Most complex QoS designs I've done, I have used the max-bandwidth and specified my bandwidth for my different classe, as per the 11 class QoS Model.


QOS SRND Blurb

The Scavenger class constrains any traffic marked to DSCP CS1 to 1 percent of the link; this allows

class-default to use the remaining 25 percent. However, to constrain Scavenger to 1 percent, an explicit

bandwidth guarantee (of 25 percent) must be given to the Best-Effort class. Otherwise, if class-default

is not explicitly assigned a minimum bandwidth guarantee, the Scavenger class still can rob it of

bandwidth. This is because of the way the CBWFQ algorithm has been coded: If classes protected with

a bandwidth statement are offered more traffic than their minimum bandwidth guarantee, the algorithm

tries to protect such excess traffic at the direct expense of robbing bandwidth from class-default (if

class-default is configured with fair-queue), unless class-default itself has a bandwidth statement

(providing itself with a minimum bandwidth guarantee). However, assigning a bandwidth statement to

class-default (on nondistributed platforms) currently precludes the enabling of fair queuing (fair-queue)

on this class and forces FIFO queuing on class-default (this limitation is to be removed with the release

of Consistent QoS Behavior code).

An additional implication of using a bandwidth statement on class-default is that even though 25

percent of the link is reserved explicitly for class-default, the parser will not attach the policy to an

interface unless the max-reserved-bandwidth 100 command is entered on the interface before the service-policy output statement. This is because the parser adds the sum of the bandwidth statements

(regardless of whether one of these is applied to the class-default) and, if the total is in excess of 75

percent of the link?s bandwidth, rejects the application of the policy to the interface. This is shown in the

following code:

!

interface Multilink1

description T1 to Branch#60

ip address 10.1.112.1 255.255.255.252

max-reserved-bandwidth 100 ! overrides the default 75% BW limit

service-policy output WAN-EDGE ! attaches the MQC policy

ppp multilink

ppp multilink group 1


http://www.cisco.com/application/pdf/en/us/guest/netsol/ns432/c649/ccmigration_09186a008049b062.pdf


Please rate any helpful posts


Thanks


Fred

reinier.hamstra... Mon, 03/12/2007 - 00:15
User Badges:

Thanks for your insights Fred, this significantly clarifies things!


I am left to wonder however over part of the above text and accompanying configuration.


"The Scavenger class constrains any traffic marked to DSCP CS1 to 1 percent of the link; this allows

class-default to use the remaining 25 percent"


Do you think this could imply that, when NOT using the Bandwidth statement for Class-Default, we are required to completely reserve the max-reserved-bandwidth for other classes (through Bandwidth statements) in order for the Class-Default to be consigned to the remaining 25% (link bw - max-reserved-bandwidth)? In other words, if we do not configure the 1% scavenger class, will Class-Default end up with 1% instead of the 25%?


Any thoughts would be very much appreciated!:-)

fred.s.mollenkopf Mon, 03/12/2007 - 08:14
User Badges:
  • Gold, 750 points or more

Reiner,


The blurb I took from the SRND was at the beginning of the Five-Class QoS model section. Basically what I get out of it is there is a limitation on the QoS behavior across the platforms. Below is their main point.


Otherwise, if class-default

is not explicitly assigned a minimum bandwidth guarantee, the Scavenger class still can rob it of

bandwidth. This is because of the way the CBWFQ algorithm has been coded


So with that being said, if class-default is not explictly set with a bandwidth value, then any oversubscribed CBWFQ can rob bandwidth from the 25% default (assuming you have left the default max of 75%). Unfortunately when they speak of oversubscribtion on the CBWFQ, I'm unsure if they say the IOS can natively go above it's limit (say 1% for scav) or only if it's invoked by a command that allows for fluctating queue sizes, 'bandwidth remaining'. I believe at this point it can go over the limit of a CBWFQ, if there is unspecified class-default available. I think they would've mentioned the other command in the SRND if that was the way it was invoked.


Thanks


Fred

Actions

This Discussion