![]() |
Table Of Contents
Low Latency Queueing with Priority Percentage Support
Information About LLQ with Priority Percentage Support
Benefits of LLQ with Priority Percentage Support
Changes to the bandwidth Command for LLQ with Priority Percentage Support
Changes to the priority Command for LLQ with Priority Percentage Support
Bandwidth Calculations in LLQ with Priority Percentage Support
LLQ with Priority Percent Support Restrictions
How to Configure LLQ with Priority Percentage Support
Specifying the Bandwidth Percentage
Verifying the Bandwidth Percentage
Configuration Examples for LLQ with Priority Percentage Support
Specifying the Bandwidth Percentage: Example
Mixing the Units of Bandwidth for Nonpriority Traffic: Example
Verifying the Bandwidth Percentage: Example
Low Latency Queueing with Priority Percentage Support
First Published: 12.2(2)TLast Updated: February 28, 2006This feature allows you to configure bandwidth as a percentage within low latency queueing (LLQ). Specifically, you can designate a percentage of the bandwidth to be allocated to an entity (such as a physical interface, a shaped ATM permanent virtual circuit (PVC), or a shaped Frame Relay PVC to which a policy map is attached. Traffic associated with the policy map will then be given priority treatment.
This feature also allows you to specify the percentage of bandwidth to be allocated to non-priority traffic classes. It modifies two existing commands—bandwidth and priority—and provides additional functionality to the way that bandwidth can be allocated using these two commands.
History for the Low Latency Queueing with Priority Percentage Support Feature
Finding Support Information for Platforms and Cisco IOS Software Images
Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.
Contents
•
Information About LLQ with Priority Percentage Support
•
How to Configure LLQ with Priority Percentage Support
•
Configuration Examples for LLQ with Priority Percentage Support
Information About LLQ with Priority Percentage Support
To configure the Low Latency Queueing with Priority Percentage Support feature, you should understand the following concepts:
•
Benefits of LLQ with Priority Percentage Support
•
Changes to the bandwidth Command for LLQ with Priority Percentage Support
•
Changes to the priority Command for LLQ with Priority Percentage Support
•
Bandwidth Calculations in LLQ with Priority Percentage Support
•
LLQ with Priority Percent Support Restrictions
Benefits of LLQ with Priority Percentage Support
This feature allows the Cisco IOS software to accommodate networks with a large number of interfaces, all with differing bandwidths. This feature is useful when all of those interfaces with differing bandwidths need to be associated with a policy map that allocates proportional bandwidths to multiple classes.
Additionally, configuring bandwidth in percentages is most useful when the underlying link bandwidth is unknown or the relative class bandwidth distributions are known. For interfaces that have adaptive shaping rates (such as available bit rate (ABR) virtual circuits), CBWFQ can be configured by configuring class bandwidths in percentages.
Changes to the bandwidth Command for LLQ with Priority Percentage Support
This feature adds a new keyword to the bandwidth command—remaining percent. The feature also changes the functionality of the existing percent keyword. These changes result in the following commands for bandwidth: bandwidth percent and bandwidth remaining percent.
The bandwidth percent command configures bandwidth as an absolute percentage of the total bandwidth on the interface.
The bandwidth remaining percent command allows you to allocate bandwidth as a relative percentage of the total bandwidth available on the interface. This command allows you to specify the relative percentage of the bandwidth to be allocated to the classes of traffic. For instance, you can specify that 30 percent of the available bandwidth be allocated to class1, and 60 percent of the bandwidth be allocated to class2. Essentially, you are specifying the ratio of the bandwidth to be allocated to the traffic class. In this case, the ratio is 1 to 2 (30 percent allocated to class1 and 60 percent allocated to class2). The sum of the numbers used to indicate this ratio cannot exceed 100 percent. This way, you need not know the total amount of bandwidth available, just the relative percentage you want to allocate for each traffic class.
Each traffic class gets a minimum bandwidth as a relative percentage of the remaining bandwidth. The remaining bandwidth is the bandwidth available after the priority queue, if present, is given its required bandwidth, and after any Resource Reservation Protocol (RSVP) flows are given their requested bandwidth.
Because this is a relative bandwidth allocation, the packets for the traffic classes are given a proportionate weight only, and no admission control is performed to determine whether any bandwidth (in kbps) is actually available. The only error checking that is performed is to ensure that the total bandwidth percentages for the classes do not exceed 100 percent.
For more information about how this feature defines and calculates bandwidth, see the "Bandwidth Calculations in LLQ with Priority Percentage Support" section of this document. For the bandwidth command syntax description and usage guidelines, see the "Command Reference" section of this document.
Changes to the priority Command for LLQ with Priority Percentage Support
This feature also adds the percent keyword to the priority command. The priority percent command indicates that the bandwidth will be allocated as a percentage of the total bandwidth of the interface. You can then specify the percentage (that is, a number from 1 to 100) to be allocated by using the percentage argument with the priority percent command.
Unlike the bandwidth command, the priority command provides a strict priority to the traffic class, which ensures low latency to high priority traffic classes.
For more information about how this feature defines and calculates bandwidth, see the "Bandwidth Calculations in LLQ with Priority Percentage Support" section of this document. For the priority command syntax description and usage guidelines, see the "Command Reference" section of this document.
Bandwidth Calculations in LLQ with Priority Percentage Support
When the bandwidth and priority commands calculate the total amount of bandwidth available on an entity, the following guidelines are invoked:
•
If the entity is a physical interface, the total bandwidth is the bandwidth on the physical interface.
•
If the entity is a shaped ATM PVC, the total bandwidth is calculated as follows:
–
For a variable bit rate (VBR) VC, the average shaping rate is used in the calculation.
–
For an available bit rate (ABR) VC, the minimum shaping rate is used in the calculation.
•
If the entity is a shaped Frame Relay PVC, the total bandwidth is calculated as follows:
–
If a minimum acceptable committed information rate (minCIR) is not configured, the CIR divided by two is used in the calculation.
–
If a minimum acceptable CIR is configured, the minCIR setting is used in the calculation.
For more information on bandwidth allocation, refer to the Cisco IOS Quality of Service Solutions Configuration Guide.
LLQ with Priority Percent Support Restrictions
Dropping Excess Traffic
If the incoming high priority traffic exceeds the bandwidth percentage calculated by the priority percent command, and there is congestion in the network, the excess traffic is dropped. This is identical to the behavior demonstrated when the priority command uses bandwidth in kbps. In both cases, if the high priority traffic exceeds the bandwidth, and there is congestion in the network, excess traffic is dropped.
Exceeding the Configured Bandwidth Percentage Calculated by the bandwidth percent and priority percent Commands
By default, when the bandwidth percent and priority percent commands are used to allocate bandwidth, the sum of the bandwidth percentage allocated to the high priority traffic and the bandwidth percentage allocated to the nonpriority traffic cannot exceed 75 percent of the total bandwidth available on the interface.
The remaining 25 percent of the total bandwidth available on the interface is kept in reserve for the unclassified traffic and routing traffic, if any, and proportionally divided among the defined traffic classes. To override the 75 percent limitation, use the max-reserved bandwidth command in interface configuration mode.
Note
The max-reserved bandwidth command is intended for use on main interfaces only; it has no effect on virtual circuits (VCs) or ATM PVCs.
How to Configure LLQ with Priority Percentage Support
This section contains the following procedures.
•
Specifying the Bandwidth Percentage (required)
•
Verifying the Bandwidth Percentage (optional)
Specifying the Bandwidth Percentage
To specify the bandwidth percentage, perform the following steps.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
policy-map policy-map
4.
class {class-name | class-default}
5.
priority {bandwidth-kbps | percent percentage} [burst]
6.
bandwidth {bandwidth-kbps | percent percentage | remaining percent percentage}
7.
exit
DETAILED STEPS
Verifying the Bandwidth Percentage
To verify the bandwidth percentage, perform one or more of the following steps.
SUMMARY STEPS
1.
enable
2.
show policy-map policy-map
and/or
show policy-map policy-map class class-name
and/or
show policy-map interface interface-name
3.
exit
DETAILED STEPS
Note
The counters displayed for classes configured with bandwidth or priority after using the show policy-map interface command are updated only if congestion is present on the interface.
Configuration Examples for LLQ with Priority Percentage Support
This section provides the following configuration examples:
•
Specifying the Bandwidth Percentage: Example
•
Mixing the Units of Bandwidth for Nonpriority Traffic: Example
•
Verifying the Bandwidth Percentage: Example
Specifying the Bandwidth Percentage: Example
The following example uses the priority percent command to specify a bandwidth percentage of 10 percent for the class called voice-percent. Then the bandwidth remaining percent command is used to specify a bandwidth percentage of 30 percent for the class called data1, and a bandwidth percentage of 20 percent for the class called data2.
Router> enableRouter# configure terminalRouter(config)# policy-map policy1Router(config-pmap)# class voice-percentRouter(config-pmap-c)# priority percent 10Router(config-pmap-c)# class data1Router(config-pmap-c)# bandwidth remaining percent 30Router(config-pmap-c)# class data2Router(config-pmap-c)# bandwidth remaining percent 20Router(config-pmap-c)# endAs a result of this configuration, 10 percent of the interface bandwidth is guaranteed for the class called voice-percent. The classes called data1 and data2 get 30 percent and 20 percent of the remaining bandwidth, respectively.
Mixing the Units of Bandwidth for Nonpriority Traffic: Example
If a particular unit (that is, kbps or percentages) is used when specifying the bandwidth for a specific class of nonpriority traffic, the same bandwidth unit must be used when specifying the bandwidth for the other nonpriority classes in that policy map. The bandwidth units within the same policy map must be identical. However, the unit for the priority command in the priority class can be different from the bandwidth unit of the nonpriority class. The same configuration can contain multiple policy maps, however, which in turn can use different bandwidth units.
The following sample configuration contains three policy maps—policy1, policy2, and policy3. In the policy map called policy1 and the policy map called policy2, the bandwidth is specified by percentage. However, in the policy map called policy3, bandwidth is specified in kbps.
Router> enableRouter# configure terminalRouter(config)# policy-map policy1Router(config-pmap)# class voice-percentRouter(config-pmap-c)# priority percent 10Router(config-pmap-c)# class data1Router(config-pmap-c)# bandwidth percent 30Router(config-pmap-c)# class data2Router(config-pmap-c)# bandwidth percent 20Router(config-pmap-c)# exitRouter(config-pmap)# exitRouter(config)# policy-map policy2Router(config-pmap)# class voice-percentRouter(config-pmap-c)# priority percent 10Router(config-pmap-c)# class data1Router(config-pmap-c)# bandwidth remaining percent 30Router(config-pmap-c)# class data2Router(config-pmap-c)# bandwidth remaining percent 20Router(config-pmap-c)# exitRouter(config-pmap)# exitRouter(config)# policy-map policy3Router(config-pmap)# class voice-percentRouter(config-pmap-c)# priority percent 500Router(config-pmap-c)# class data1Router(config-pmap-c)# bandwidth 30Router(config-pmap-c)# class data2Router(config-pmap-c)# bandwidth 20Router(config-pmap-c)# endVerifying the Bandwidth Percentage: Example
The following sample output from the show policy-map interface command shows that 50 percent of the interface bandwidth is guaranteed for the class called class1, and 25 percent is guaranteed for the class called class2. The output displays the amount of bandwidth as both a percentage and a number of kbps.
Router# show policy-map interface serial3/2Serial3/2Service-policy output:policy1Class-map:class1 (match-all)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch:noneWeighted Fair QueueingOutput Queue:Conversation 265Bandwidth 50 (%)Bandwidth 772 (kbps) Max Threshold 64 (packets)(pkts matched/bytes matched) 0/0(depth/total drops/no-buffer drops) 0/0/0Class-map:class2 (match-all)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch:noneWeighted Fair QueueingOutput Queue:Conversation 266Bandwidth 25 (%)Bandwidth 386 (kbps) Max Threshold 64 (packets)(pkts matched/bytes matched) 0/0(depth/total drops/no-buffer drops) 0/0/0Class-map:class-default (match-any)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch:anyIn this example, interface s3/2 has a total bandwidth of 1544 kbps. During periods of congestion, 50 percent (or 772 kbps) of the bandwidth is guaranteed to the class called class1, and 25 percent (or 386 kbps) of the link bandwidth is guaranteed to the class called class2.
Additional References
The following sections provide references related to the Low Latency Queueing with Priority Percentage Support feature.
Related Documents
Related Topic Document TitleQoS commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples
Cisco IOS Quality of Service Solutions Command Reference, Release 12.3T
LLQ
Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.3T
Bandwidth allocation
Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.3T
Standards
MIBs
MIBs MIBs LinkNone
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:
RFCs
Technical Assistance
Command Reference
This section documents modified commands. All other commands used with this feature are documented in the Cisco IOS Release 12.3 command reference publications.
bandwidth (policy-map class)
To specify or modify the bandwidth allocated for a class belonging to a policy map, use the bandwidth command in policy-map class configuration mode. To remove the bandwidth specified for a class, use the no form of this command.
bandwidth {bandwidth-kbps | remaining percent percentage | percent percentage}
no bandwidth {bandwidth-kbps | remaining percent percentage | percent percentage}
Syntax Description
Defaults
No bandwidth is specified.
Command Modes
Policy-map class configuration
Command History
Usage Guidelines
You should use the bandwidth command when you configure a policy map for a class defined by the class-map command. The bandwidth command specifies the bandwidth for traffic in that class. Class-based weighted fair queueing (CBWFQ) derives the weight for packets belonging to the class from the bandwidth allocated to the class. CBWFQ then uses the weight to ensure that the queue for the class is serviced fairly.
Specifying Bandwidth as a Percentage
Besides specifying the amount of bandwidth in kbps, you can specify bandwidth as a percentage of either the available bandwidth or the total bandwidth. During periods of congestion, the classes are serviced in proportion to their configured bandwidth percentages. Available bandwidth is equal to the interface bandwidth minus the sum of all bandwidths reserved by the Resource Reservation Protocol (RSVP) feature, the IP RTP Priority feature, and the Low Latency Queueing (LLQ) feature.
Note
It is important to remember that when the bandwidth remaining percent command is configured, hard bandwidth guarantees may not be provided and only relative bandwidths are assured. That is, class bandwidths are always proportional to the specified percentages of the interface bandwidth. When the link bandwidth is fixed, class bandwidth guarantees are in proportion to the configured percentages. If the link bandwidth is unknown or variable, class bandwidth guarantees in kbps cannot be computed.
Bandwidth Command Restrictions
The following restrictions apply to the bandwidth command:
•
The amount of bandwidth configured should be large enough to also accommodate Layer 2 overhead.
•
A policy map can have all the class bandwidths specified in kbps or all the class bandwidths specified in percentages but not a mix of both in the same class. However, the unit for the priority command in the priority class can be different from the bandwidth unit of the nonpriority class.
•
When the bandwidth percent command is configured, and a policy map containing class policy configurations is attached to the interface to stipulate the service policy for that interface, available bandwidth is assessed. If a policy map cannot be attached to a particular interface because of insufficient interface bandwidth, the policy is removed from all interfaces to which it was successfully attached. This restriction does not apply to the bandwidth remaining percent command.
For more information on bandwidth allocation, refer to the chapter "Congestion Management Overview" in the Cisco IOS Quality of Service Solutions Configuration Guide.
Note that when the policy map containing class policy configurations is attached to the interface to stipulate the service policy for that interface, available bandwidth is assessed. If a policy map cannot be attached to a particular interface because of insufficient interface bandwidth, then the policy is removed from all interfaces to which it was successfully attached.
Queue Limits
The bandwidth command can be used with the Modular Command-Line Interface (MQC) to specify the bandwidth for a particular class. When used with the MQC, the bandwidth command uses a default queue limit for the class. This queue limit can be modified using the queue-limit command, thereby overriding the default set by the bandwidth command.
Note
Using the queue-limit command to modify the default queue-limit is especially important for higher-speed interfaces, in order to meet the minimum bandwidth guarantees required by the interface.
Examples
CBWFQ Bandwidth Guarantee Example
The following example shows how bandwidth is guaranteed when only CBWFQ is configured:
! The following commands create a policy map with two classes:policy-map policy1class class1bandwidth percent 50exitclass class2bandwidth percent 25exitend!The following commands attach the policy to interface serial3/2:interface serial3/2service output policy1endThe following output from the show policy-map command shows the configuration for the policy map called policy1:
Router# show policy-map policy1Policy Map policy1Class class1Weighted Fair QueueingBandwidth 50 (%) Max Threshold 64 (packets)Class class2Weighted Fair QueueingBandwidth 25 (%) Max Threshold 64 (packets)The output from the show policy-map interface command shows that 50 percent of the interface bandwidth is guaranteed for the class called class1, and 25 percent is guaranteed for the class called class2. The output displays the amount of bandwidth as both a percentage and a number of kbps.
Router# show policy-map interface serial3/2Serial3/2Service-policy output:policy1Class-map:class1 (match-all)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch:noneWeighted Fair QueueingOutput Queue:Conversation 265Bandwidth 50 (%)Bandwidth 772 (kbps) Max Threshold 64 (packets)(pkts matched/bytes matched) 0/0(depth/total drops/no-buffer drops) 0/0/0Class-map:class2 (match-all)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch:noneWeighted Fair QueueingOutput Queue:Conversation 266Bandwidth 25 (%)Bandwidth 386 (kbps) Max Threshold 64 (packets)(pkts matched/bytes matched) 0/0(depth/total drops/no-buffer drops) 0/0/0Class-map:class-default (match-any)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch:anyIn this example, interface serial3/2 has a total bandwidth of 1544 kbps. During periods of congestion, 50 percent (or 772 kbps) of the bandwidth is guaranteed to the class called class1, and 25 percent (or 386 kbps) of the link bandwidth is guaranteed to the class called class2.
CBWFQ and LLQ Bandwidth Allocation Example
The following output from the show policy-map command shows the configuration for a policy map called p1:
Router# show policy-map p1Policy Map p1Class voiceWeighted Fair QueueingStrict PriorityBandwidth 500 (kbps) Burst 12500 (Bytes)Class class1Weighted Fair QueueingBandwidth remaining 50 (%) Max Threshold 64 (packets)Class class2Weighted Fair QueueingBandwidth remaining 25 (%) Max Threshold 64 (packets)The following output from the show policy-map interface command on serial interface 3/2 shows that 500 kbps of bandwidth is guaranteed for the class called voice1. The classes called class1 and class2 receive 50 percent and 25 percent of the remaining bandwidth, respectively. Any unallocated bandwidth is divided proportionally among class1, class2, and any best-effort traffic classes.
Note
Note that in this sample output (unlike many of the others earlier in this section) the bandwidth is displayed only as a percentage. Bandwidth expressed as a number of kbps is not displayed because the bandwidth remaining percent keyword was used with the bandwidth command. The bandwidth remaining percent keyword allows you to allocate bandwidth as a relative percentage of the total bandwidth available on the interface.
Router# show policy-map interface serial3/2Serial3/2Service-policy output:p1Class-map:voice (match-all)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch:ip precedence 5Weighted Fair QueueingStrict PriorityOutput Queue:Conversation 264Bandwidth 500 (kbps) Burst 12500 (Bytes)(pkts matched/bytes matched) 0/0(total drops/bytes drops) 0/0Class-map:class1 (match-all)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch:noneWeighted Fair QueueingOutput Queue:Conversation 265Bandwidth remaining 50 (%) Max Threshold 64 (packets)(pkts matched/bytes matched) 0/0(depth/total drops/no-buffer drops) 0/0/0Class-map:class2 (match-all)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch:noneWeighted Fair QueueingOutput Queue:Conversation 266Bandwidth remaining 25 (%) Max Threshold 64 (packets)(pkts matched/bytes matched) 0/0(depth/total drops/no-buffer drops) 0/0/0Class-map:class-default (match-any)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch:anyRelated Commands
priority
To give priority to a class of traffic belonging to a policy map, use the priority command in policy-map class configuration mode. To remove a previously specified priority for a class, use the no form of this command.
priority {bandwidth-kbps | percent percentage} [burst]
no priority {bandwidth-kbps | percent percentage} [burst]
Syntax Description
Defaults
No default behavior or values
Command Modes
Policy-map class configuration
Command History
Usage Guidelines
This command configures low latency queueing (LLQ), providing strict priority queueing (PQ) for class-based weighted fair queueing (CBWFQ). Strict PQ allows delay-sensitive data such as voice to be dequeued and sent before packets in other queues are dequeued.
The priority command allows you to set up classes based on a variety of criteria (not just User Datagram Ports (UDP) ports) and assign priority to them, and is available for use on serial interfaces and ATM permanent virtual circuits (PVCs). A similar command, the ip rtp priority command, allows you to stipulate priority flows based only on UDP port numbers and is not available for ATM PVCs.
When the device is not congested, the priority class traffic is allowed to exceed its allocated bandwidth. When the device is congested, the priority class traffic above the allocated bandwidth is discarded.
The bandwidth and priority commands cannot be used in the same class, within the same policy map. These commands can be used together in the same policy map, however.
Within a policy map, you can give one or more classes priority status. When multiple classes within a single policy map are configured as priority classes, all traffic from these classes is queued to the same, single, priority queue.
When the policy map containing class policy configurations is attached to the interface to stipulate the service policy for that interface, available bandwidth is assessed. If a policy map cannot be attached to a particular interface because of insufficient interface bandwidth, the policy is removed from all interfaces to which it was successfully attached.
For more information on bandwidth allocation, refer to the chapter "Congestion Management Overview" in the Cisco IOS Quality of Service Solutions Configuration Guide.
Examples
The following example configures PQ with a guaranteed bandwidth of 50 kbps and a one-time allowable burst size of 60 bytes for the policy map called policy1:
Router(config)# policy-map policy1Router(config-pmap)# class voiceRouter(config-pmap-c)# priority 50 60In the following example, 10 percent of the available bandwidth is reserved for the class called voice on interfaces to which the policy map called policy1 has been attached:
Router(config)# policy-map policy1Router(config-pmap)# class voiceRouter(config-pmap-c)# priority percent 10Related Commands
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
© 2003-2006 Cisco Systems, Inc. All rights reserved.