03-08-2007 06:36 AM
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).
03-09-2007 09:29 AM
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
03-12-2007 12:15 AM
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!:-)
03-12-2007 08:14 AM
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
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: