|
|
This chapter explains how to configure the following types of Quality of Service (QoS) on the Cisco 10000 Edge Services Router (ESR):
In addition, the Cisco 10000 supports QoS policy propagation through the Border Gateway Protocol (QPPB). For a QPPB configuration example, see "Configuration Examples." For information about configuring QPPBs, refer to the online Cisco 10000 ESR Useful Links document.
You can configure WRED, CAR, and other qualities of service by performing the following tasks:
1. Create a QoS boilerplate that defines the criteria for prioritizing traffic.
2. Apply the boilerplate to an interface.
Figure 9-1 shows an overview of the QoS process.
This section provides the information you need to create a QoS boilerplate. To create a QoS boilerplate, perform two procedures:
1. Create a class mapThe class map tells the Cisco 10000 ESR how to recognize the packets that are subject to QoS.
2. Create a policy mapThe policy map lists QoS services to be applied to packets described by one or more class maps.
Use the following procedure to create a class map:
Router(config)# class-map mink Router(config-cmap)#
As the example shows, after you enter the class-map name command, you enter class map configuration mode (config-cmap).
![]() |
Note Some IOS documents refer to the QoS configuration modes as the modular CLI. |

Step 2 Describe the characteristics of the packets that are subject to QoS by entering the match command. In the following example, the packet is described as being associated to access group 10 and having the IP precedence bit set to 1.
Router(config-cmap)# match access-group 10 Router(config-cmap)# match ip precedence 1
Step 3 Exit class map configuration mode.
Router(config-cmap)# exit Router(config)
As a result of the creation of a class map, the router can recognize packets that are subject to QoS. You must now tell the router the action to take on those packets.
To create a policy map, use this procedure:
Router(config)# policy-map lynx Router(config-pmap)#
As the example shows, after you enter the policy-map name command, you enter policy map configuration mode (config-pmap).
Step 2 Associate the policy map with a class map.
Router(config-pmap)# class mink Router(config-pmap-c)#
As the example shows, after you enter the class name command, you enter the policy map class configuration mode (config-pmap-c).
Step 3 Describe the QoS actions you want the router to perform when the router encounters a packet that has the characteristics described by the class map. In this example, the router executes default behavior for the police command. (See the "Specifying a Committed Access Rate" section for details.)
Router(config-pmap-c)# police 80000
Step 4 Exit policy map configuration mode.
Router(config-pmap-c)# exit Router(config-pmap)# exit Router(config)#
You have completed the creation of a QoS boilerplate, which can be assigned to an interface.
Use the service-policy command to assign a QoS boilerplate to an interface. In the following example, the policy map lynx is assigned to traffic that enters the gigabit Ethernet interface of a Cisco 10000 ESR:
Router(config)# interface gigabitethernet 1/0/0 Router(config-if)# service-policy input lynx
This section describes commands for creating and modifying class maps.
You can create a class map and enter class-map configuration mode by entering the class-map command.
class-map [match-any | match-all] class-map-name [no] class-map class-map-name
Where:
The default value is match-all.
Use the no class-map command to delete a class map.
Cisco IOS software supports a maximum of 255 unique class maps.
In the following example, a class-map named mink is created. In the example, the default value of match-all is used.
Router(config)# class-map mink Router(config-cmap)#
Use the match command to define the characteristics of the packets that belong to the class map.
match match_statement [no] match match_statement
Where match_statement is one of the following:
Use the no form of this command to disable the match attributes.
Enter one or more match commands to construct your mapping rules. Each packet is compared to the criteria specified by the match commands to determine if the packet contains the attribute you specify.
The Cisco 10000 ESR supports a maximum of 16 match statements in a class map.
In the following example, a class map is created that tells the router to look for packets that belong to access group 1 and have an IP precedence value of 3 or 7:
Router(config)# class-map mink Router(config-cmap)# match access-group 1 Router(config-cmap)# match ip precedence 3 7
This section describes commands for creating and modifying policy maps.
You can create a policy map and enter policy-map configuration mode by entering the policy-map command from global configuration mode.
policy-map policy-map-name [no] policy-map policy-map-name
Where policy-map-name is any word or number.
Use the no form of the command to remove a policy map.
In the following example, a policy map named lynx is created:
Router(config)# policy-map lynx Router(config-pmap)#
Use the class class-map-name command from policy-map configuration mode to assign a class map to a policy map.
class class-map-name [no] class class-map-name
Where class-map-name is the name assigned to the class map.
Use the no form of the command to remove a class.
You can use a special class map name called class-default on a given interface to do the following:
After you enter the class class-map-name command, you enter policy-map class configuration mode, in which you can enter QoS policies.
![]() |
Tips A packet is processed by a policy map as soon as a match is found. When you assign class names to a policy map, assign the first name to the class that is most likely to be used. This can improve QoS performance. |
In the following example, the class map named mink is assigned to the policy map named lynx:
Router(config)# policy-map lynx Router(config-pmap)# class mink Router(config-pmap-c)#
In the following example, the default class map is assigned to the policy map named lynx:
Router(config)# policy-map lynx Router(config-pmap)# class class-default Router(config-pmap-c)#
To specify a committed access rate (CAR), enter the police command while you are in policy-map class configuration mode. You can use this command to control low-priority traffic, so that an interface has more bandwidth for high-priority traffic or to enforce a specific rate on an interface.
police bps [normal-burst | max-burst | conform-action action | exceed-action action][no]police [normal-burst | max-burst | conform-action action | exceed-action action]
Where:
| Action | Description |
|---|---|
Mark unmatched traffic with a new dscp value. Value is in the range 0 to 63. | |
Mark matched traffic with a new IP precedence value. Value is in the range 0 to 7. | |
Mark matched traffic with a new QoS value. Value is in the range 0 to 99. | |
If you enter only police bps at the command line, the default behavior is that traffic that conforms to the bps value is transmitted and traffic that exceeds the bps value is dropped.
Use the no form of the command to disable policing.
In the following example, CAR is assigned to the class named mink:
Router(config)# policy-map lynx Router(config-pmap)# class mink Router(config-pmap-c)# police 720000 90000 90000 conform-action transmit exceed-action drop
Use the random-detect command to enable WRED, which randomly discards packets based on IP precedence settings.
![]() |
Note On the OC-12 ATM line card, you can only use WRED on the main interface or on variable bit rate (VBR) PVCs. You cannot use WRED on PVCs configured for an unspecified bit rate (UBR). |
random-detect [ewc value | prec prec-value min-value max-value mark-denom][no]random-detect [ewc value | prec prec-value min-value max-value mark-denom]
Where:
![]() |
Tips In most cases, the benefits of WRED can be best realized if you use the random-detect keyword without arguments. |
Value | Description |
|---|---|
|
|
| |
| |
Use the no form of the command to disable WRED.
![]() |
Note WRED can be assigned only to the class class-default. WRED affects all packets that pass through the interface to which the service policy is attached. |
The following example shows the implementation of WRED:
Router(config)# policy-map lynx Router(config-pmap)# class class-default Router(config-pmap-c)# random-detect
This section describes how to specify the number of packets held by the queue. Increase the queue limit to reduce the number of packets dropped due to temporary congestion on the assigned interface. Queue limit operates on the default tail-drop method of congestion management.You cannot use the queue limit command on ATM PVCs configured for unspecified bit rate (UBR).
![]() |
Note On the OC-12 ATM line card, you can only apply queue limits to the main interface or on variable bit rate (VBR) PVCs. You cannot apply queue limits to PVCs configured for unspecified bit rate (UBR). |
queue-limit packets[no]queue-limit =
Where packets is a number of packets from 1 to 32768.
Use the no form of the command to return the queue limit to its default value.
Use the show interface command to find out the current queue limit. Setting the queue limit to a high value might reduce the number of packet buffers available to other interfaces.
![]() |
Note Only the default class supports queue-limit. |
In the following example, the queue limit is set to 500 packets:
Router(config)# policy-map lynx Router(config-pmap)# class class-default Router(config-pmap-c)# queue-limit 500
The set command allows you to specify a bit value that can be used by other routers to manage QoS. You can enable a set by entering the set command.
set {ip {dscp value | precedence value} | qos-group value | atm-clp}
[no] set {ip {dscp value | precedence value} | qos-group value}
Where:
Use the no form of the command to return the set values to their defaults.
In the following example, bit values are set for IP precedence and a QoS group:
Router(config)# policy-map lynx Router(config-pmap)# class mink Router(config-pmap-c)# set ip precedence 7 Router(config-pmap-c)# set qos-group 8
To associate a policy map with an interface, use the service-policy command.
service-policy[input|output]name[no]service-policy[input|output]name
Where:
Use the no form of the command to remove a service policy from an interface.
No more than two service policies can be associated with an interface, one for input and one for output.
On ATM cards, you can apply the policy map to the main interface and to individual PVCs. The policy map assigned to a PVC takes precedence over one assigned to the main interface.
In the following example, the policy map lynx is applied to the input queue of a gigabit Ethernet card:
Router(config)# interface gigabitethernet 1/0/0 Router(config-if)# service-policy input lynx
In the following example, a policy map is applied to an ATM PVC:
Router(config)# interface atm 3/0/0 Router(config-if)# pvc 0/101 Router(config-if-atm-vc)# service-policy input lynx
This section lists show commands you can use to get information on class maps and policy maps.
This command displays the policy maps and lists information about the configurations. For example:
Router# show policy-map Policy Map lynx class mink set qos-group 8 Policy Map jaguar class class-default random-detect random-detect exponential-weighting-constant 9 random-detect precedence 0 16 32 10 random-detect precedence 1 18 32 10 random-detect precedence 2 20 32 10 random-detect precedence 3 22 32 10 random-detect precedence 4 24 32 10 random-detect precedence 5 26 32 10 random-detect precedence 6 28 32 10 random-detect precedence 7 30 32 10
This command generates detailed information and statistics about a policy map.
Router# show policy-map interface serial 2/0/0/5:4
Serial2/0/0/5:4
service-policy input: lynx
class-map: mink (match-all)
0 packets, 0 bytes
5 minute rate 0 bps
match: access-group 3
set:
qos-group 8
This command lists the class maps and displays their match statements. For example:
Router# show class-map Class Map match-all mink (id 3) Match access-group 3 Class Map match-all pink (id 4) Match access-group 23 Match qos-group 32 Class Map match-any class-default (id 0) Match any Class Map match-all customer_pri (id 2)
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Tue Oct 3 09:48:47 PDT 2000
Copyright 1989-2000©Cisco Systems Inc.