Contents
Quality of Service Commands on the Cisco IOS XR Software
- bandwidth (QoS)
- bandwidth remaining
- child-conform-aware
- class (policy-map)
- class-map
- clear qos counters interface
- compress header ip
- conform-action
- end-class-map
- end-policy-map
- exceed-action
- hw-module mrq-polling
- hw-module qos acc-l2-with-additional
- hw-module qos account layer2 encapsulation
- hw-module qos acl-deny enable
- hw-module qos if-ref-bw
- hw-module qos multicast
- hw-module qos multicast priorityq disable
- hw-module qos pol-gran location
- hw-module qos queue-auto-defrag disable location
- hw-module queue-defrag location
- hw-module sanity
- match access-group
- match atm
- match cos
- match dscp
- match fr-de
- match frame-relay dlci
- match mpls experimental topmost
- match precedence
- match qos-group
- match vlan
- match vpls
- police rate
- policy-map
- priority (QoS)
- queue-limit
- random-detect
- random-detect discard-class
- random-detect dscp
- random-detect exp
- random-detect precedence
- service-policy (interface)
- service-policy (policy map class)
- set atm-clp
- set cos
- set discard-class
- set dscp
- set fr-de
- set mpls experimental
- set precedence
- set qos-group
- shape average
- show controllers egressq enaq location
- show controllers sanity
- show hw-module multicast qos
- show policy-map interface
- show policy-map targets
- show qos acl-deny enable
- show qos if-ref-bw
- show qos interface
- show qos pol-gran location
- switch-fabric service-policy
- violate-action
bandwidth (QoS)
To specify the minimum bandwidth allocated to 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 { rate [units] | percent percentage-value }
no bandwidth { rate [units] | percent percentage-value }
Syntax Description
rate
Minimum bandwidth, in the units specified, to be assigned to the class. Range is from 1 to 4294967295. For 16 kbps granularity on 2.5 Gbps IP Services Engine (Engine 3) line cards, the maximum value is 1.05 gbps.
units
Specifies the units for the bandwidth. Values can be:
percent percentage-value
Specifies the amount of guaranteed bandwidth, based on an absolute percentage of available bandwidth. Range is from 1 to 100.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.3.0
The ability to select the units for the bandwidth was added.
The range of bandwidth values was changed from 8 to 4000000 to 1 to 4294967295.
Release 3.3.1
Minimum rate value changed from 128 kbps to 256 kbps.
Release 3.9.0
The granularity of the rates specified was changed to 8 kbps.
Usage Guidelines
You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The bandwidth command is used to specify the minimum guaranteed bandwidth allocated for traffic matching a particular class. Bandwidth may be defined as a specific value or may be set as a percentage of the interface bandwidth.
The actual bandwidth used is calculated in multiples of 8 kbps, the minimum bandwidth rate. The configured value is rounded down to a multiple of 8 kbps.
Line card Type
Ingress Granularity
Egress Granularity
2.5 Gbps IP Services Engine (Engine 3)**Exceptions: 1-Port OC-48c POS ISE 4-Port OC-12c POS ISE
16 kbps64 kbps64 kbps
16 kbps64 kbps64 kbps
10 Gbps IP Services Engine (Engine 5)
32 kbps
32 kbps
Multirate 10G IP Services Engines (Engine 5+)
32 kbps
8 kbps
If a percentage value is set, the accuracy that can be expected is 1 percent.
The bandwidth command can be used only within egress service policies. Use within an ingress policy is not supported.
Note
The bandwidth value takes into account the Layer 2 encapsulation that is applied to traffic leaving the interface. For POS/SDH transmission, the encapsulation is considered to be 4 bytes. For Ethernet, the encapsulation is 14 bytes; whereas for IEEE 802.1Q, the encapsulation is 18 bytes. The actual bandwidth assigned to a class can be seen in the output of the show qos interface command.
Be careful when specifying bandwidth guarantees close to 100 percent, because the Layer 2 encapsulation considered does not include the entire Layer 2 header. This can lead to oversubscription, particularly in the case of small packet sizes.
For bundled interfaces, bandwidth can be configured only as a percentage.
A policy map can have a single bandwidth statement per class. Both percentage and actual value bandwidth configurations can be used within a policy map.
The bandwidth command does not specify how the bandwidth is to be shared. Instead it specifies how much bandwidth is guaranteed per class, by setting the number of tokens that are assigned to the token bucket of a particular class. For configured behavior to work correctly, you must ensure that the sum of the bandwidths plus any priority traffic is not greater than the bandwidth of the interface itself. If the interface is oversubscribed, unpredictable behavior results.
The bandwidth of the interface is set to be that of the physical interface, unless a hierarchical policy is defined that reduces the bandwidth available to the traffic. The following example shows a hierarchical policy being used to shape traffic to the specified value. The child policy then determines how the shaped bandwidth should be apportioned between the specified classes:
policy-map parent class match_all shape average 1000000 bandwidth 1000000 service-policy child policy-map child class gold bandwidth percent 20 class silver bandwidth percent 40 class default bandwidth percent 40
Note
The bandwidth command is part of the parent policy. In this instance, the bandwidth command not only sets the minimum bandwidth for the class but also resets the reference point for the bandwidth percent statements in the child policy.
For main interface service policies:
- If bandwidth is configured in the parent class, parent minimum bandwidth is used as a reference for the child bandwidth percentages.
- If bandwidth is not configured in the parent class, the implicit minimum bandwidth, which is a portion of the total unallocated bandwidth allocated to the class based on the explicit or implicit bandwidth remaining, is used as a reference.
Implicit bandwidth remaining is an equal share of unallocated bandwidth among all queuing classes without either bandwidth or bandwidth remaining actions.
For subinterface policies:
- If bandwidth is configured in the parent class, parent minimum bandwidth is used as a reference for child bandwidth percentages.
- If bandwidth remaining is configured in the parent class, bandwidth-remaining-percent * interface-rate is used as a reference.
- If bandwidth is not configured in the parent class, shape rate is used as a reference.
In the following example, the hierarchical policy is attached to the main interface, and the parent classes are a mix of bandwidth and shape only classes:
policy-map hqos class c1 bandwidth percent 40 service-policy child class c2 shape average 500000000 service-policy childThe reference for the child policy in class c2 is the implicit bandwidth of class c2 bounded by the shape rate of class c2. Therefore, the reference = (60 percent * interface bandwidth) / 3 bounded by 500000000 kbps.
In the following example, the hierarchical policy is a class-default only parent shape configured on subinterfaces:
policy-map sub_int_hqos class c1ass-default shape average 40 service-policy childThe class-default parent shape rate is used as reference.
When the percent keyword is used with the bandwidth command, the bandwidth of the interface is defined as being the Layer 2 capacity excluding the Gigabit Ethernet or POS encapsulation but including the High-Level Data Link Control (HDLC) flags, frame check sequence (FCS), and so on. These have to be included because they are applied per packet, and the system cannot predict how many packets of a particular packet size are being sent out.
For example, the following policy is applied to an OC-192 interface:
policy-map oc-192 class c1 bandwidth percent 50The resulting bandwidth reservation for class c1 is 4,792,320 kbps. This equates to 50 percent of the OC-192 bandwidth excluding the GE or POS overhead.
Task ID
Examples
The following example shows how to guarantee 50 percent of the interface bandwidth to a class called class1 and 10 percent of the interface bandwidth to a class called class2:
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# bandwidth percent 50 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# class class2 RP/0/0/CPU0:router(config-pmap-c)# bandwidth percent 10Related Commands
Command
Description
Specifies the name of the class whose policy you want to create or change.
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Specifies or modifies the maximum number of packets the queue can hold for a class policy configured in a policy map.
Configures the Weighted Random Early Detection (WRED) thresholds for packets with a particular IP precedence.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
Displays QoS information for a specific interface.
bandwidth remaining
To specify how to allocate leftover bandwidth to various classes, use the bandwidth remaining command in policy map class configuration mode. To return to the system defaults, use the no form of this command.
Syntax Description
percent percentage-value
Specifies the amount of guaranteed bandwidth, based on an absolute percentage of the available bandwidth. Range is from 1 to 100.
Command History
Usage Guidelines
You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The bandwidth remaining command is used to set the Modified Deficit Round Robin (MDRR) weight for the particular class.
When applied within an egress service policy, the command is used to define how any unallocated bandwidth should be apportioned. It typically is used in conjunction with the bandwidth command. In such a combination, if the minimum bandwidth guarantees are met, the remaining bandwidth is shared in the ratio defined by the bandwidth remaining command in the class configuration in the policy map.
The available bandwidth is equally distributed among those queueing classes that do not have the remaining bandwidth explicitly configured.
Note
On egress, the actual bandwidth of the interface is determined to be the Layer 2 capacity excluding the Layer 2 encapsulation, but including the HDLC flags, FCS, and so on. These have to be included because they are applied per packet, and the system cannot predict how many packets of a particular packet size are being sent out.
On egress, if the bandwidth remaining command is not present, then the bandwidth is shared equally among the configured queueing classes present in the policy-map. When attempting precise calculations of expected MDRR behavior, you must bear in mind that because you are dealing with the bandwidth remaining on the link, you must convert the values to the bandwidth remaining percentages on the link, based upon the packet sizes of the traffic within the class. If the packet sizes are the same in all the classes, then the defined ratio is enforced precisely and predictably on the link.
The bandwidth remaining command is not supported on ingress.
Task ID
Examples
In the following example, a class called class1 is guaranteed 50 percent of the interface bandwidth and a class called class2 is guaranteed 10 percent of the interface bandwidth. The remaining bandwidth of 40 percent is shared by classes class1 and class2 in a 20:80 ratio: class class1 receives 20 percent of the 40 percent, and class class2 receives 80 percent of the 40 percent.
RP/0/0/CPU0:router(config)#policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# bandwidth percent 50 RP/0/0/CPU0:router(config-pmap-c)#bandwidth remaining percent 20 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)#class class2 RP/0/0/CPU0:router(config-pmap-c)# bandwidth percent 10 RP/0/0/CPU0:router(config-pmap-c)# bandwidth remaining percent 80child-conform-aware
To prevent the parent policer from dropping any ingress traffic that conforms to the maximum rate specified in the child policer, use the child-conform-aware command in policy map police configuration mode. To remove this action from the policy map, use the no form of this command.
Command History
Usage Guidelines
You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
In hierarchical policing, traffic is policed first at the child policer level and then at the parent policer level. It is possible for traffic that conforms to the maximum rate specified by the child policer to be dropped by the parent policer.
In enhanced hierarchical ingress policing, the child-conform-aware command prevents the parent policer from dropping any ingress traffic that conforms to the maximum rate specified in the child policer.
Task ID
Examples
This example shows parent and child policy maps in which two classes are defined in the child policy. In class AF1, the exceed action is set to an action other than to drop traffic.
If the child-conform-aware command were not configured in the parent policy, the parent policer would drop traffic that matches the conform rate of the child policer but exceeds the conform rate of the parent policer.
The child-conform-aware command prevents the parent policer from dropping any ingress traffic that conforms to the maximum rate specified in the child policer.
RP/0/0/CPU0:router(config)# policy-map parent RP/0/0/CPU0:router(config-pmap)# class class-default RP/0/0/CPU0:router(config-pmap-c)# service-policy child RP/0/0/CPU0:router(config-pmap-c)# police rate percent 50 RP/0/0/CPU0:router(config-pmap-c-police)# child-conform-aware RP/0/0/CPU0:router(config-pmap-c-police)# conform-action transmit RP/0/0/CPU0:router(config-pmap-c-police)# exceed-action drop RP/0/0/CPU0:router(config)# policy-map child RP/0/0/CPU0:router(config-pmap)# class EF RP/0/0/CPU0:router(config-pmap-c)# police rate 1 mbps RP/0/0/CPU0:router(config-pmap-c-police)# conform-action set mpls experimental imposition 4 RP/0/0/CPU0:router(config-pmap-c-police)# exceed-action drop RP/0/0/CPU0:router(config-pmap-c-police)# exit RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# class AF1 RP/0/0/CPU0:router(config-pmap-c)# police rate percent 50 RP/0/0/CPU0:router(config-pmap-c-police)# conform-action set mpls experimental imposition 3 RP/0/0/CPU0:router(config-pmap-c-police)# conform-action set mpls experimental imposition 2Related Commands
Command
Description
Configures the action to take on packets that exceed the rate limit.
Configures traffic policing and enters policy map police configuration mode.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
class (policy-map)
To specify the name of the class whose policy you want to create or change, use the class command in policy map configuration mode. To remove a class from the policy map, use the no form of this command.
class [ type qos ] { class-name | class-default }
no class [ type qos ] { class-name | class-default }
Syntax Description
type qos
(Optional) Specifies a quality-of-service (QoS) class.
class-name
Name of the class for which you want to configure or modify policy.
class-default
Configures the default class.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.6.0
The type qos keywords were added.
Usage Guidelines
You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Within a policy map, the class (policy-map) command can be used to specify the name of the class whose policy you want to create or change. The policy map must be identified first.
To identify the policy map (and enter the required policy map configuration mode), use the policy-map command before you use the class (policy-map) command. After you specify a policy map, you can configure the policy for new classes or modify the policy for any existing classes in that policy map.
The class name that you specify in the policy map ties the characteristics for that class—that is, its policy—to the class map and its match criteria, as configured using the class-map command.
The class-default keyword is used for configuring default classes. It is a reserved name and cannot be used with user-defined classes. It is always added to the policy map (type qos) even if the class is not configured. For example, the following configuration shows that the class has not been configured, but the running configuration shows ‘class class-default’.
RP/0/0/CPU0:router(config)# policy-map pm1 RP/0/0/CPU0:router(config-pmap)# end-policy-map RP/0/0/CPU0:router(config)# end ! RP/0/0/CPU0:router# show running-config ! policy-map pm1 class class-default ! end-policy-map !Task ID
Examples
The following example shows how to create a policy map called policy1, which is defined to shape class1 traffic at 30 percent and default class traffic at 20 percent.
RP/0/0/CPU0:router(config)# class-map class1 RP/0/0/CPU0:router(config-cmap)# match precedence ipv4 3 ! RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:routerconfig-pmap-c)# shape average percent 30 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# class class-default RP/0/0/CPU0:router(config-pmap-c)# shape average percent 20The default class is used for packets that do not satisfy configured match criteria for class1. Class1 must be defined before it can be used in policy1, but the default class can be directly used in a policy map, as the system defines it implicitly.
class-map
To define a traffic class and the associated rules that match packets to the class, use the class-map command in global configuration mode. To remove an existing class map from the router, use the no form of this command.
class-map [ type qos ] [match-all] [match-any] class-map-name
no class-map [ type qos ] [match-all] [match-any] class-map-name
Syntax Description
type qos
(Optional) Specifies a quality-of-service (QoS) class-map.
match-all
(Optional) Specifies a match on all of the match criteria.
match-any
(Optional) Specifies a match on any of the match criteria. This is the default.
class-map-name
Name of the class for the class map. The class name is used for the class map and to configure policy for the class in the policy map. The class name can be a maximum of 63 characters, must start with an alphanumeric character, and in addition to alphanumeric characters, can contain any of the following characters: . _ @ $ % + | # : ; - =
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.6.0
The type qos keywords were added.
Release 3.7.0
Support was added for the character ‘=’ in the class-map-name argument. The argument accepts a maximum of 63 characters.
Usage Guidelines
You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The class-map command specifies the name of the class for which you want to create or modify class map match criteria. Use of this command enables class map configuration mode in which you can enter any match command to configure the match criteria for this class. Packets arriving on the interface are checked against the match criteria configured for a class map to determine if the packet belongs to that class.
The following commands can be used in a class map:
- match access-group
- match atm
- match [not] cos
- match destination-address
- match [not] discard-class
- match [not] dscp
- match frame-relay dlci
- match [not] mpls experimental topmost
- match [not] precedence
- match precedence
- match [not] protocol
- match [not] qos-group
- match source-address
- match vlan
- match vpls
Task ID
Examples
The following example shows how to specify class101 as the name of a class and defines a class map for this class. The packets that match the access list 101 are matched to class class101.
RP/0/0/CPU0:router(config)# class-map class101 RP/0/0/CPU0:router(config-cmap)# match access-group ipv4 101Related Commands
Command
Description
Specifies the name of the class whose policy you want to create or change.
Identifies a specified access control list (ACL) number as the match criteria for a class map.
Enables packet matching on the basis of the ATM operations, administration, and maintenance (OAM) or cell loss priority (CLP).
Identifies specified class of service (CoS) values as a match criteria in a class map.
Identifies specific IP differentiated services code point (DSCP) values as match criteria for a class map.
Identifies specific three-bit experimental (EXP) field values in the topmost Multiprotocol Label Switching (MPLS) label as match criteria for a class map.
Identifies IP precedence values as match criteria.
Identifies specific quality-of-service (QoS) group values as match criteria in a class map.
Identifies a specific source MAC address as match criterion in a class map.
Identifies selected VLAN IDs as the match criteria for a class map.
Identifies selected virtual private LAN service (VPLS) fields as the match criteria for a class map.
clear qos counters interface
To clear QoS counters for a specified interface, use the clear qos counters interface command in EXEC mode.
Syntax Description
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.9.0
The interface keyword was added.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The clear qos counters interface command clears all input and output QoS counters that are attached to a specified interface, unless the input or output keyword is specified. If the input or output keyword is specified, only counters attached to the interface in a specified direction are cleared.
Task ID
Examples
The following example shows how to clear QoS counters attached to Gigabit Ethernet interface 0/1/0/9:
RP/0/0/CPU0:router# clear qos counters interface gigabitethernet 0/1/0/9The following example shows how to clear output QoS counters attached to POS interface 0/7/0/3:
RP/0/0/CPU0:router# clear qos counters interface pos 0/7/0/3 outputcompress header ip
To enable IP header compression for a policy map class, use the compress header ip command in policy map class configuration mode. To disable header compression, use the no form of this command.
Command History
Usage Guidelines
You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Task ID
Examples
The following example shows how to enable IP header compression for a policy map class:
RP/0/0/CPU0:router(config)#class-map class1 RP/0/0/CPU0:router(config-cmap)# match access-group ipv4 customer1 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# compress header ip RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exitRelated Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Attachs a policy map to an input interface or output interface to be used as the service policy for that interface.
conform-action
To configure the action to take on packets that conform to the rate limit, use the conform-action command in policy map police configuration mode. To remove a conform action from the policy-map, use the no form of this command.
conform-action [ drop | set options | transmit ]
no conform-action [ drop | set options | transmit ]
Syntax Description
drop
(Optional) Drops the packet.
set options
(Optional) Configures the specified packet properties. Replace options with one of the following keywords or keyword arguments:
- atm-clp value —Sets the cell loss priority (CLP) bit.
- cos value —Sets the class of service value. Range is 0 to7.
- cos [inner]value —Sets the class of service value. Range is 0 to 7.
- dei—Sets the drop eligible indicator (DEI). Can be 0 or 1.
- discard-class value —Sets the discard class value. Range is 0 to 7.
- dscp value —Sets the differentiated services code point (DSCP) value and sends the packet. See Table 1 for a list of valid values.
- dscp [tunnel] value —Sets the differentiated services code point (DSCP) value and sends the packet. See Table 1 for a list of valid values. With the tunnel keyword, the DSCP is set in the outer header.
- mpls experimental {topmost | imposition} value —Sets the experimental (EXP) value of the Multiprotocol Label Switching (MPLS) packet topmost label or imposed label. Range is 0 to 7.
- precedence precedence —Sets the IP precedence and sends the packet See Table 2 for a list of valid values.
- precedence [tunnel] precedence —Sets the IP precedence and sends the packet. See Table 1 for a list of valid values. With the tunnel keyword, the precedence is set in the outer header.
- qos-group value —Sets the QoS group value.
- srp-priority value —Sets the Spatial Reuse Protocol (SRP) priority. Range is 0 to 7.
transmit
(Optional) Transmits the packets.
Command Default
By default, if no action is configured on a packet that conforms to the rate limit, the packet is transmitted.
Command History
Release
Modification
Release 3.4.0
This command was introduced.
Release 3.4.1
The set qos-group keyword was added.
Release 3.7.0
Multi-action policer set action for the conform-action command was added.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
For more information regarding the traffic policing feature, see the police rate command.
The conform-action command can be used to set values for MPLS packets in the ingress direction. The values can be set in the following combinations:
- experimental, qos-group, and discard class values, or
- experimental and qos-group values, or
- experimental and discard class values
Note
The multi-action policer sets cannot be used for IP packets.
Task ID
Examples
In the following example for MPLS, traffic policing is configured to set the MPLS experimental bit for packets that conform to the rate limit:
RP/0/0/CPU0:router(config)# class-map class RP/0/0/CPU0:router(config-cmap)# match mpls experimental topmost 0 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map child RP/0/0/CPU0:router(config-pmap)# class prec1 RP/0/0/CPU0:router(config-pmap-c)# police rate 100000000 peak-rate 3125000 peak-burst 3125000 RP/0/0/CPU0:router(config-pmap-c-police)# conform-action set mpls experimental imp 1 RP/0/0/CPU0:router(config-pmap-c-police)# conform-action set qos-group 1 RP/0/0/CPU0:router(config-pmap-c-police)# exit RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/9 RP/0/0/CPU0:router(config-if) service-policy input policy1Related Commands
Command
Description
Prevents the parent policer from dropping any ingress traffic that conforms to the maximum rate specified in the child policer.
(Used for SIP 700 cards only.) Configures preclassification of ingress Layer 2 Frame Relay packets that have been previously marked as not discard eligible on an upstream node. These previously-marked packets are analyzed and preclassified by the color-aware policer on the ingress interface as part of the 2-rate 3-color (2R3C) traffic policing feature.
Configures the action to take on packets that exceed the rate limit.
Configures traffic policing and enters policy map police configuration mode.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
Configures the action to take on packets that violate the rate limit.
end-class-map
To end the configuration of match criteria for the class and to exit class map configuration mode, use the end-class-map command in class map configuration mode.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Task ID
Examples
The following example shows how to end the class map configuration and exit class map configuration mode:
RP/0/0/CPU0:router(config)# class-map class101 RP/0/0/CPU0:router(config-cmap)# match access-group ipv4 101 RP/0/0/CPU0:router(config-cmap)# end-class-map RP/0/0/CPU0:router(config)#end-policy-map
To end the configuration of a policy map and to exit policy map configuration mode, use the end-policy-map command in policy map configuration mode.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Task ID
Examples
The following example shows how to end the policy map configuration and exit policy map configuration mode.
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# police cir 250 RP/0/0/CPU0:router(config-pmap-c)# set precedence 3 RP/0/0/CPU0:router(config-pmap)# end-policy-map RP/0/0/CPU0:router(config)#exceed-action
To configure the action to take on packets that exceed the rate limit, use the exceed-action command in policy map police configuration mode. To remove an exceed action from the policy-map, use the no form of this command.
Syntax Description
drop
(Optional) Drops the packet.
set options
Configures the specified packet properties. Replace options with one of the following keywords or keyword arguments:
- atm-clp value —Sets the cell loss priority (CLP) bit.
- cos [inner] value —Sets the class of service value. Range is 0 to 7.
- cos value —Sets the class of service value. Range is 0 to 7.
- dei —Sets the drop eligible indicator (DEI). Can be 0 or 1.
- discard-class value —Sets the discard class value. Range is 0 to 7.
- dscp value —Sets the differentiated services code point (DSCP) value and sends the packet. See Table 1 for a list of valid values.
- dscp [tunnel] value —Sets the differentiated services code point (DSCP) value and sends the packet. See Table 1 for a list of valid values. With the tunnel keyword, the DSCP is set in the outer header.
- fr-de value —Sets the Frame Relay discard eligible (DE) bit on the Frame Relay frame then transmits that packet. In congested environments, frames with the DE bit set to 1 are discarded before frames with the DE bit set to 0. The frame relay DE bit has only one bit and has only two settings, 0 or 1. The default DE bit setting is 0.
- mpls experimental {topmost | imposition} value —Sets the experimental (EXP) value of the Multiprotocol Label Switching (MPLS) packet topmost label or imposed label. Range is 0 to 7.
- precedence precedence —Sets the IP precedence and sends the packet. See Table 1 for a list of valid values.
- precedence [tunnel] precedence —Sets the IP precedence and sends the packet. See Table 1 for a list of valid values. With the tunnel keyword, the precedence is set in the outer header.
- qos-group value —Sets the QoS group value.
- qos-group value —Sets the QoS group value. Range is 0 to 63.
- srp-priority value —Sets the Spatial Reuse Protocol (SRP) priority. Range is 0 to 7
transmit
(Optional) Transmits the packets.
Command Default
By default, if no action is configured on a packet that exceeds the rate limit, the packet is dropped.
Command History
Release
Modification
Release 3.4.0
This command was introduced.
Release 3.4.1
The set qos-group keyword was added.
Release 3.7.0
Multi-action policer set action for the exceed-action command was supported.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
For more information regarding the traffic policing feature, see the police rate command.
The exceed-action command can be used to set values for MPLS packets in the following combinations:
- experimental, qos-group, and discard class values, or
- experimental and qos-group values, or
- experimental and discard class values
Note
The multi-action policer sets cannot be used for IP packets.
Task ID
Examples
In the following example for MPLS, traffic policing is configured to drop traffic that exceeds the rate limit:
RP/0/0/CPU0:router(config)# class-map class1 RP/0/0/CPU0:router(config-cmap)# match mpls experimental topmost 0 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# police rate 250 kbps burst 50 RP/0/0/CPU0:router(config-pmap-c-police)# exceed-action drop RP/0/0/CPU0:router(config-pmap-c-police)# exit RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface pos 0/5/0/0 RP/0/0/CPU0:router(config-if) service-policy input policy1Related Commands
Command
Description
Configures the action to take on packets that conform to the rate limit.
(Used for SIP 700 cards only.) Configures preclassification of ingress Layer 2 Frame Relay packets that have been previously marked as discard eligible on an upstream node. These previously-marked packets are analyzed and preclassified by the color-aware policer on the ingress interface as part of the 2-rate 3-color (2R3C) traffic policing feature.
Configures traffic policing and enters policy map police configuration mode.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
Configures the action to take on packets that violate the rate limit.
hw-module mrq-polling
To configure the threshold values for polling of MRQ counters, use the hw-module mrq-polling command in global configuration mode. To revert to the default threshold values for MRQ polling, use the no form of this command.
hw-module mrq-polling { max-threshold | min-threshold } threshold value location node-id
no hw-module mrq-polling { max-threshold | min-threshold } threshold value location node-id
Syntax Description
max-threshold
Configures the maximum threshold value for the polling of MRQ counters.
min-threshold
Configures the minimum threshold value for the polling of MRQ counters.
threshold value
Threshold value. For Multirate 10G IP Services Engines (Engine 5+) line cards, range is 1 to 16384. For 2.5 Gbps IP Services Engine (Engine 3) line cards, range is 1 to 2048.
location
Configures threshold values for MRQ polling, for a designated node.
node-id
Location of node to be configured. The node-id argument is entered in the rack/slot/module notation.
Command Default
The default minimum threshold is 25 percent of the available MRQ counters, 4096 for Engine 5+ line cards, 512 for Engine 3 line cards. The default maximum threshold is 75 percent of the available MRQ counters, 12288 for Engine 5+ line cards, 1536 for Engine 3 line cards.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
This command is supported on 2.5 Gbps IP Services Engine (Engine 3) line cards and Multirate 10G IP Services Engines (Engine 5+) line cards.
The maximum threshold value should always exceed the minimum threshold value. Attempting to commit a configuration with threshold values which do not meet this criteria will result in an error.
Task ID
Examples
The following example demonstrates how to configure the maximum threshold value for MRQ polling as 2000, at location 0/2/CPU0:
RP/0/0/CPU0:router# configure terminal Wed Aug 11 01:21:51.378 UTC RP/0/0/CPU0:router(config)# RP/0/0/CPU0:router(config)# hw-module mrq-polling max-threshold 2000 location 0/2/CPU0 RP/0/0/CPU0:router(config)# commit RP/0/0/CPU0:router : config[65809]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'root'. Use 'show configuration commit changes 1000000015' to view the changes. RP/0/0/CPU0:router(config)#The following example demonstrates how to configure the default maximum threshold value for MRQ polling, at location 0/2/CPU0:
RP/0/0/CPU0:router# configure terminal Wed Aug 11 01:21:51.378 UTC RP/0/0/CPU0:router(config)# RP/0/0/CPU0:router(config)# no hw-module mrq-polling max-threshold 2000 location 0/2/CPU0 RP/0/0/CPU0:router(config)# commit RP/0/0/CPU0:router : config[65809]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'root'. Use 'show configuration commit changes 1000000016' to view the changes. RP/0/0/CPU0:router(config)#hw-module qos acc-l2-with-additional
To account Layer 2 with additional bytes, use the hw-module qos acc-l2-with-additional command in global configuration mode. To account Layer 2 without additional bytes, use the no form of this command.
hw-module qos acc-l2-with-additional number of bytes location node-id
no hw-module qos acc-l2-with-additional number of bytes location node-id
Syntax Description
number of bytes
Number of additional bytes to be used for Layer 2 accounting.
location
Configures additional Layer 2 bytes for the designated node.
node-id
Location of node to be configured. The node-id argument is entered in the rack/slot/module notation.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
This command is supported on 10 Gbps IP Services Engine (Engine 5) line cards and Multirate 10G IP Services Engines (Engine 5+) line cards only.
Layer 2 accounting must be enabled on the location specified at node-id. The specified interface must not be configured using the service-policy (interface) command with the optional account nolayer2 keyword, as this disables Layer 2 accounting of the specified interface and enables Layer 3 accounting only.
This command configures all interfaces on the specified node to account Layer 2 using the specfified number of additional bytes.
Task ID
Examples
The following example demonstrates how to configure Layer 2 accounting to use an additional 4 bytes, at location 0/2/CPU0:
RP/0/0/CPU0:router# configure terminal RP/0/0/CPU0:router (config)# hw-module qos acc-l2-with-additional 4 location 0/2/CPU0 RP/0/0/CPU0:router (config)#hw-module qos account layer2 encapsulation
To configure Layer 2 encapsulation header lengths on a node, use the hw-module qos account layer2 encapsulation command in global configuration mode. To disable this functionality, use the no form of this command.
hw-module qos account layer2 encapsulation { arpa | dot1q | length value } location node-id
no hw-module qos account layer2 encapsulation { arpa | dot1q | length value } location node-id
Syntax Description
arpa
Specifies the ARPA encapsulation size (14 bytes).
dot1q
Specifies the EEE 802.1q encapsulation size (18 bytes).
length value
Specifies the Layer 2 encapsulation length in bytes. Range is 1-50.
location node-id
Enables Layer 2 encapsulation header lengths for the designated node. The node-id argument is entered in the rack/slot/module notation.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The default packet size for QoS accounting on 2.5 Gbps IP Services Engine (Engine 3) line cards is Layer 3 packet size. This command allows you to specify Layer 2 packet size for QoS accounting and to specify its length, which allows service providers to limit the amount of traffic that is passed to particular users.
This command applies only to the 4-Port Gigabit Ethernet ISE line card. If enabled, this command applies to all interfaces on the 4-port Gigabit Ethernet ISE line card. Ingress QoS traffic uses the actual Layer 2 encapsulation size of each packet. For example, if packets come from a dot1q interface the encapsulation size is 18 bytes. If packets come from a QinQ interface, the encapsulation size is 22 bytes. Egress QoS traffic uses the encapusulation size specified in this command regardless of the egress interface type.
Task ID
Examples
The following example shows how to configure Layer 2 encapsulation header lengths to 25 on 0/1/CPU0:
RP/0/0/CPU0:router# configure RP/0/0/CPU0:router(config)# hw-module qos account layer2 encapsulation length 25 0/1/CPU0hw-module qos acl-deny enable
To deny access control lists (ACL) on a node, use the hw-module qos acl-deny enable command in global configuration mode. To disable this functionality, use the no form of this command.
hw-module qos acl-deny enable [ location node-id ]
no hw-module qos acl-deny enable [ location node-id ]
Syntax Description
location node-id
Denies ACLs for the designated node. The node-id argument is entered in the rack/slot/module notation.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
For the hw-module qos acl-deny enable command to run effectively, you must reload the line card (LC).
Task ID
Examples
The following example shows how to configure an acl-deny function on location 0/1/CPU0:
RP/0/0/CPU0:router# configure RP/0/0/CPU0:router(config)# hw-mod qos acl-deny enable location 0/1/CPU0hw-module qos if-ref-bw
To enable the interface bandwidth as the Quality of Service (QoS) reference bandwidth, use the hw-module qos if-ref-bw command in global configuration mode. To revert to the default configuration, use the no form of this command.
Syntax Description
enable
Enables interface bandwidth as the QoS reference bandwidth.
location
Configures node for which the QoS reference bandwidth is to be defined.
node-id
Node for which the QoS reference bandwidth is to be defined. The node-id argument is entered in the rack/slot/module notation.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
New configuration will only take effect after a line card reload.
The QoS reference bandwidth is used for the conversion of time based values to equivalent packet based interpretation.
Task ID
Examples
The following example shows how to enable the interface bandwidth as the QoS reference bandwidth, on location 0/3/cpu0:
RP/0/0/CPU0:router(config)# hw-module qos if-ref-bw enable location 0/3/cpu0 RP/0/0/CPU0:router(config)# commit RP/0/0/CPU0:router:Aug 9 02:41:43.952 : qos_ea[238]: %QOS-QOSEA-6-INFO : QoSEA-Info: if-ref-bw config accepted, reload LC to take effect. RP/0/0/CPU0:router:Aug 9 02:41:44.537 : config[65809]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'root'. Use 'show configuration commit changes 1000000012' to view the changes. RP/0/0/CPU0:router(config)#The following example shows how to enable the class service rate as the QoS reference bandwidth, on location 0/3/cpu0:
RP/0/0/CPU0:router(config)# no hw-module qos if-ref-bw enable location 0/3/cpu0 RP/0/0/CPU0:router(config)# commit RP/0/0/CPU0:router:Aug 9 02:41:58.168 : qos_ea[238]: %QOS-QOSEA-6-INFO : QoSEA-Info: if-ref-bw config accepted, reload LC to take effect. RP/0/0/CPU0:router:Aug 9 02:41:58.669 : config[65809]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'root'. Use 'show configuration commit changes 1000000013' to view the changes. RP/0/0/CPU0:router(config)#hw-module qos multicast
To enable multicast egress quality of service (QoS) on a node, use the hw-module qos multicast command in global configuration mode. To disable this functionality, use the no form of this command.
Syntax Description
location node-id
Enables egress QoS for the designated node. The node-id argument is entered in the rack/slot/module notation.
Command History
Release
Modification
Release 3.3.0
This command was introduced.
Release 3.4.0
The enable keyword was deleted from the command syntax.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The hw-module qos multicast command enables multicast QoS, which means that general, system wide QoS applies to multicast traffic as well.
Note
The following commands apply to Cisco XR 12000 Series Router Engine 3 line cards only: hw-module qos multicast , hw-module qos multicast priorityq , and show hw-module qos multicast . For Engine 5 line cards, there is no requirement for a command to enable QoS. On Engine 5 line cards, multicast QoS behaves like unicast QoS (when a policy is attached to an interface).
If multicast QoS is disabled (which is the default value), all multicast traffic travels to the default queue. When multicast routes are configured with QoS enabled, there may be insufficient resources (PLU/TLU, MGIDs, and so on.) to support multicast QoS for all routes. In such cases, some multicast routes are unchanged and associated multicast traffic is routed to the default queue.
For complete information about QoS in Cisco IOS XR software, see the Cisco IOS XR Modular Quality of Service Configuration Guide.
Task ID
Examples
The following example shows how to enable multicast QoS on location 0/1/CPU0:
RP/0/0/CPU0:router# configure RP/0/0/CPU0:router(config)# hw-module qos multicast location 0/1/CPU0hw-module qos multicast priorityq disable
To divert multicast traffic slated for the priority queue to the default queue, use the hw-module qos multicast priorityq disable command in global configuration mode. To disable this functionality, use the no form of this command.
hw-module qos multicast priorityq disable location node-id
no hw-module qos multicast priorityq disable location node-id
Syntax Description
location node-id
Assigns a QoS priority value for the designated node. The node-id argument is entered in the rack/slot/module notation.
Command Default
By default, all multicast traffic is routed to the priority queue (as defined by the QoS policy).
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Note
The following commands apply to Engine 3 line cards only: hw-module qos multicast , hw-module qos multicast priorityq disable , and show hw-module qos multicast . For Engine 5 line cards, there is no requirement for a command to enable QoS. On Engine 5 line cards, multicast QoS behaves like unicast QoS (when a policy is attached to an interface).
For complete information about QoS in Cisco IOS XR software, see the Cisco IOS XR Modular Quality of Service Configuration Guide.
Task ID
Examples
The following example shows how to divert multicast traffic slated for the priority queue to the default queue on 0/1/CPU0:
RP/0/0/CPU0:router# hw-module qos multicast priorityq disable 0/1/CPU0hw-module qos pol-gran location
To override the default policer granularity, use the hw-module qos pol-gran location command in global configuration mode. To return to the default policer granularity, use the no form of this command.
hw-module qos pol-gran granularity location interface-path-id
no hw-module qos pol-gran granularity location interface-path-id
Syntax Description
granularity
Policer granularity in kbps. Valid values are from 8 kbps to 64 kbps.
interface-path-id
Physical location of the Shared Interface Processor (SIP). Naming notation is rack/slot/module and a slash between values is required as part of the notation.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The police rate you set should be a multiple of the policer granularity. For example, if the police rate is set to 72 kbps but the default policer granularity is 64 kbps, the effective police rate is 64 kbps. To get an actual police rate of 72 kbps, configure the policer granularity to 8 kbps. Because 72 is a multiple of 8, the police rate will be exactly 72 kbps.
Policer granularity values, whether default or configured, apply to the SIP and to all SPAs that are installed on the SIP.
Task ID
Examples
The following example shows how to set the policer granularity to 8 on location 0/1/CPU0:
RP/0/0/CPU0:router# configure RP/0/0/CPU0:router(config)# hw-module qos pol-gran 8 location 0/1/CPU0hw-module qos queue-auto-defrag disable location
To disable automatic QoS queue defragmentation on a node, use the hw-module qos queue-auto-defrag disable location command in global configuration mode. To disable this functionality, use the no form of this command.
hw-module qos queue-auto-defrag disable location node-id
no hw-module qos queue-auto-defrag disable location node-id
Syntax Description
Command History
Release
Modification
Release 3.3.0
This command was introduced.
Release 3.5.0
The enable keyword was removed.
Release 3.9.0
Added usage guidelines to refer to the hw-module queue-defrag location command for information on manually defragmenting QoS queues.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
When policies are frequently added and removed in large-scale configurations, the line card might not have enough free contiguous QoS queues to accommodate a new policy—even though there are enough free queues on the line card. Defragmentation solves this problem by moving the minimum number of queues to make all occupied queues contiguous.
There is the potential for packet loss during QoS queue defragmentation. However, if you disable automatic defragmentation, you could get an error while trying to applying a policy map because there are not enough queues available on the line card.
To avoid packet loss during defragmentation or running out of available queues, schedule a maintenance window and manually defragment the QoS queues using the hw-module queue-defrag location command.
Task ID
Examples
The following example shows how to disable automatic QoS queue defragmentation on location 0/1/CPU0. Automatic defragmentation is disabled for all interfaces on location 0/1/CPU0.
RP/0/0/CPU0:router# configure RP/0/0/CPU0:router(config)# hw-module qos queue-auto-defrag disable location 0/1/CPU0hw-module queue-defrag location
To manually defragment the QoS queues on a node, use the hw-module queue-defrag location command in EXEC mode.
Syntax Description
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
When policies are frequently added and removed in large-scale configurations, the line card might not have enough free contiguous QoS queues to accommodate a new policy—even though there are enough free queues on the line card. Defragmentation solves this problem by moving the minimum number of queues to make all occupied queues contiguous.
You can manually defragment the QoS queues on a node regardless of whether automatic defragmentation is enabled. If automatic defragmentation is disabled, you could get an error while trying to applying a policy map because there are not enough free contiguous queues available on the line card. In this case, use the hw-module queue-defrag location command to defragment the queues on the node.
To determine the number of occupied QoS queues and the level of fragmentation on a node, use the show controllers egressq enaq location command.
Task ID
Examples
The following example shows how to manually defragment QoS queues on location 0/1/CPU0. QoS queues are defragmented for all the interfaces on location 0/1/CPU0.
RP/0/0/CPU0:router# hw-module queue-defrag location 0/1/CPU0hw-module sanity
To configure sanity checking of ingress and egress queueing ASICs, use the hw-module sanity command in global configuration mode. To revert to the default sanity checking configuration, use the no form of this command.
hw-module sanity { egressq | ingressq } { action action | threshold threshold-value | timer seconds } location node-id
no hw-module sanity { egressq | ingressq } { action action | threshold threshold-value | timer seconds } location node-id
Syntax Description
egressq
Configures sanity checking of egress queueing ASIC.
ingressq
Configures sanity checking of ingress queuing ASIC.
action
Configures action performed when buffer has depleted completely.
action
Action to be performed when buffer has depleted completely. Valid values are
threshold
Configures remaining buffer threshold value. Warning printed on the console when the remaining buffer threshold value is reached.
threshold-value
Buffer threshold value, as a percentage. Range: 1 to 100.
timer
Configures time lapse between successive sanity checks.
seconds
Time lapse between successive sanity checks, in seconds.
location
Configures sanity checking for a designated node.
node-id
Node for which sanity checking is to be configured. The node-id argument is entered in the rack/slot/module notation.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
This command is supported on 10 Gbps IP Services Engine (Engine 5) line cards and Multirate 10G IP Services Engines (Engine 5+) line cards only.
Use of the no form of this command, with the keyword action , configures the action as none. The default action, pcds, is equivalent to the user configurable action, none. When action is set as pcds or none, a warning is printed on the console when the buffer threshold value is reached, but no action is performed as recovery when the buffer has depleted completely.
Task ID
Examples
The following example shows how to configure sanity checking of the ingress queuing ASIC at 30 second intervals on location 0/2/CPU0, to print a warning on the console when the buffer has depleted to 7 percent and to perform a line card reload when the buffer has depleted completely.
RP/0/0/CPU0:router# configure terminal RP/0/0/CPU0:router(config)# hw-module sanity ingressq timer 30 location 0/2/CPU0 RP/0/0/CPU0:router(config)# hw-module sanity ingressq action reload location 0/2/CPU0 RP/0/0/CPU0:router(config)# hw-module sanity ingressq threshold 7 location 0/2/CPU0 RP/0/0/CPU0:router(config)#match access-group
To identify a specified access control list (ACL) number as the match criteria for a class map, use the match access-group command in class map configuration mode. To remove ACL match criteria from a class map, use the no form of this command.
match access-group { ipv4 | ipv6 } access-group-name
no match access-group { ipv4 | ipv6 } access-group-name
Syntax Description
ipv4
Specifies the name of the IPv4 access group to be matched.
ipv6
Specifies the name of the IPv6 access group to be matched.
access-group-name
ACL whose contents are used as the match criteria against which packets are checked to determine if they belong to this class.
Command Default
By default, if neither IPv6 nor IPv4 is specified as the match criteria for a class map, IPv4 addressing is used.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.2.2
Support for IPv6 ACLs with source port matching was added in MQC policy maps.
Release 3.3.0
No modification.
Release 3.3.1
Support for IPv4 ACLs with source port matching was added in MQC policy maps.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
For class-based features (such as marking, Modified Deficit Round Robin [MDRR], and policing), you define traffic classes based on match criteria, including ACLs and input interfaces. Packets satisfying the match criteria for a class constitute the traffic for that class.
The match access-group command specifies an ACL whose contents are used as the match criteria against which packets are checked to determine if they belong to the class specified by the class map.
To use the match access-group command, you must first enter the class-map command to specify the name of the class whose match criteria you want to establish. You can specify up to eight IPv4 and IPv6 ACLs in a match statement.
Task ID
Examples
The following example shows how to specify a class map called map1 and configures map1 to be used as the match criteria for this class:
RP/0/0/CPU0:router(config)# class-map map1 RP/0/0/CPU0:router(config-cmap)# match access-group ipv4 map1match atm
To enable packet matching on the basis of the ATM operations, administration, and maintenance (OAM) or cell loss priority (CLP), use the match atm command in class-map configuration mode. To disable packet matching, use the no form of this command.
Syntax Description
clp
Configures the ATM CLP bit to be matched. Use either 0 or 1 for clp-bit-value .
clp-bit-value
(Optional) Value for the ATM CLP bit. Choose either 0 or 1 as the bit value. If you do not specify a bit value, the default value of 1 is used.
oam
Configures the ATM OAM to be matched.
Command History
Release
Modification
Release 3.8.0
This command was introduced.
The clp-bit-value argument was added.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The match atm command is supported on policy maps that are attached to ATM main interfaces, ATM subinterfaces, or ATM permanent virtual circuits (PVCs). However, policy maps (containing the match atm command) that are attached to these types of ATM interfaces can be input policy maps only.
Task ID
Examples
The following example shows how to specify a class map called map1 and configures map1 to be used as the match criteria for this class:
RP/0/0/CPU0:router(config)#class-map map1 RP/0/0/CPU0:router(config-cmap)# match atm oamRelated Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Identifies a specified access control list (ACL) number as the match criteria for a class map.
Identifies specified class of service (CoS) values as a match criteria in a class map.
Identifies specific IP differentiated services code point (DSCP) values as match criteria for a class map.
Identifies specific three-bit experimental (EXP) field values in the topmost Multiprotocol Label Switching (MPLS) label as match criteria for a class map.
Identifies IP precedence values as match criteria.
Identifies specific quality-of-service (QoS) group values as match criteria in a class map.
Identifies a specific source MAC address as match criterion in a class map.
Identifies selected VLAN IDs as the match criteria for a class map.
match cos
To identify specified class of service (CoS) values as a match criteria in a class map, use the match cos command in class map configuration mode. To remove a specified CoS class value from the matching criteria for a class map, use the no form of this command.
match cos cos-value [ cos-value1 . .. cos-value7 ]
no match cos cos-value [ cos-value1 . .. cos-value7 ]
Syntax Description
cos-value
Class-of-service identifier that specifies the exact value from 0 to 7. Up to eight CoS identifiers can be specified to match packets.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The match cos command specifies a class of service that is used as the match criteria against which packets are checked to determine if they belong to the class specified by the class map.
To use the match cos command, you must first enter the class-map command to specify the name of the class whose match criteria you want to establish. If you specify more than one match cos command in a class map, the values of subsequent match statements are added to the first match cos command.
The match cos command is not supported on an output service policy attached to a Layer 3 interface (POS interface or routed VLAN subinterface).
The match cos command is supported on egress Layer 2 interfaces, Layer 2 subinterfaces, and Layer 3 physical interfaces. Layer 3 physical interfaces are supported, because it is possible for a Layer 3 interface to have underlying Layer 2 subinterfaces. This command is supported only on the ingress ethernet subinterface.
Task ID
Examples
The following example shows how to configure the service policy called policy1 and attach service policy policy1 to an interface. In this example, class map cos146 evaluates all packets entering Gigabit Ethernet subinterface 0/1/0/0.100 for class of service values of 1, 4, or 6. If the incoming packet has been marked with any of these CoS values, the packet is queued to the class queue with the bandwidth setting of 300 kbps.
RP/0/0/CPU0:router(config)# class-map cos146 RP/0/0/CPU0:router(config-cmap)# match cos 1 4 6 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class cos146 RP/0/0/CPU0:router(config-pmap-c)# bandwidth 300 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/0.100 RP/0/0/CPU0:router(config-if)# service-policy output policy1Related Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Identifies a specified access control list (ACL) number as the match criteria for a class map.
Enables packet matching on the basis of the ATM operations, administration, and maintenance (OAM) or cell loss priority (CLP).
Identifies specific IP differentiated services code point (DSCP) values as match criteria for a class map.
Identifies specific three-bit experimental (EXP) field values in the topmost Multiprotocol Label Switching (MPLS) label as match criteria for a class map.
Identifies IP precedence values as match criteria.
Identifies specific quality-of-service (QoS) group values as match criteria in a class map.
Identifies a specific source MAC address as match criterion in a class map.
Identifies selected VLAN IDs as the match criteria for a class map.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Sets the Layer 2 class of service (CoS) value of an outgoing packet.
match dscp
To identify specific IP differentiated services code point (DSCP) values as match criteria for a class map, use the match dscp command in class map configuration mode. To remove a DSCP value from a class map, use the no form of this command.
match dscp [ ipv4 | ipv6 ] dscp-value [ dscp-value1 . .. dscp-value7 ]
no match dscp [ ipv4 | ipv6 ] dscp-value [ dscp-value1 . .. dscp-value7 ]
Syntax Description
ipv4
(Optional) Specifies the IPv4 DSCP value.
ipv6
(Optional) Specifies the IPv6 DSCP value.
dscp-value
IP DSCP value identifier that specifies the exact value or a range of values. Range is 0 to 63. Up to eight IP DSCP values can be specified to match packets. Reserved keywords can be specified instead of numeric values. Table 1 describes the reserved keywords.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.3.0
The ipv6 and ipv4 keywords were added.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The match dscp command specifies a DSCP value that is used as the match criteria against which packets are checked to determine if they belong to the class specified by the class map.
To use the match dscp command, you must first enter the class-map command to specify the name of the class whose match criteria you want to establish. If you specify more than one match dscp command in a class map, only the last command entered applies.
The match dscp command examines the higher-order six bits in the type of service (ToS) byte of the IP header. Only one of the eight values is needed to yield a match (OR operation).
The command supports only eight IP DSCP values. If you try to configure more match statements after all the eight values are matched, the statements get rejected.
The IP DSCP value is used as a matching criterion only. The value has no mathematical significance. For instance, the IP DSCP value 2 is not greater than 1. The value simply indicates that a packet marked with the IP DSCP value of 2 should be treated differently than a packet marked with an IP DSCP value of 1. The treatment of these marked packets is defined by the user through the setting of QoS policies in policy map class configuration mode.
The reserved keywords listed in the following table can be specified instead of numeric values.
Task ID
Examples
The following example shows how to configure the service policy called policy1 and attach service policy policy1 to an interface. In this example, class map dscp14 evaluates all packets entering Packet-over-SONET/SDH (POS) interface 0/1/0/0 for an IP DSCP value of 14. If the incoming packet has been marked with the IP DSCP value of 14, the packet is queued to the class queue with the bandwidth setting of 300 kbps.
RP/0/0/CPU0:router(config)# class-map dscp14 RP/0/0/CPU0:router(config-cmap)# match dscp ipv4 14 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class dscp14 RP/0/0/CPU0:router(config-pmap-c)# bandwidth 300 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface pos 0/1/0/0 RP/0/0/CPU0:router(config-if)# service-policy output policy1Related Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Marks a packet by setting the IP differentiated services code point (DSCP) in the type of service (ToS) byte.
Enables packet matching on the basis of the ATM operations, administration, and maintenance (OAM) or cell loss priority (CLP).
Identifies specified class of service (CoS) values as a match criteria in a class map.
Identifies IP precedence values as match criteria.
Identifies specific quality-of-service (QoS) group values as match criteria in a class map.
Identifies a specific source MAC address as match criterion in a class map.
Identifies selected VLAN IDs as the match criteria for a class map.
Marks a packet by setting the IP differentiated services code point (DSCP) in the type of service (ToS) byte.
match fr-de
To match packets on the basis of the Frame Relay discard eligibility (DE) bit setting, use the match fr-de command in class-map configuration mode. To remove the match criterion, use the no form of this command.
Syntax Description
not
(Optional) Negates the specified match result.
fr-de-bit-value
Specifies the Frame Relay DE bit. Value can be 0 or 1.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
This match criterion can be used under a subinterface (L2 PVC) using the service-policy command, and it is supported in the ingress direction only. This match criterion can also be used in hierarchical policy maps.
Task ID
Examples
The following example shows how to create a class called match-fr-de and match packets on the basis of the Frame Relay DE bit setting. Packets match Frame Relay DE bit 1.
RP/0/0/CPU0:router(config)# class-map match-fr-d RP/0/0/CPU0:router(config-cmap)# match fr-de 1 RP/0/0/CPU0:routerrouter(config-cmap)# endmatch frame-relay dlci
To specify a Frame Relay packet data-link connection identifier (DLCI) number or number range as a match criterion in a class map, use the match frame-relay dlci command in class map configuration mode. To remove a previously specified DLCI number as a match criterion, use the no form of this command.
match frame-relay dlci [ Dlci | StartDlci-EndDlci ]
no match frame-relay dlci [ Dlci | StartDlci-EndDlci ]
Syntax Description
Dlci
A DLCI number associated with the packet. Range is from 16 to 1007.
StartDlci-EndDlci
A DLCI number range from 16 to 1007. Numbers are separated by a hyphen.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The match criterion for the match frame-relay dlci command can be used only on hierarchical policy maps.
Task ID
Examples
The following example shows how to create the fr-dlci class map, and specify the Frame Relay DLCI number range 100-200 as a match criterion. Packets with DLCIs matching this criterion are placed in fr-dlci. In this example, class map fr-dlci evaluates all packets entering Packet-over-SONET/SDH (POS) interface 0/1/0/0.1 for DLCIs in the range from 100 through 200. If the incoming packet has been marked with the DLCI in the range from 100 through 200, the packet is queued to the class queue with the bandwidth setting of 300 kbps.
RP/0/0/CPU0:router(config)# class-map fr-dlci RP/0/0/CPU0:router(config-cmap)# match frame-relay dlci 100-200 RP/0/0/CPU0:router(config-cmap)# end RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class fr-dlci RP/0/0/CPU0:router(config-pmap-c)# bandwidth 300 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface pos 0/1/0/0.1 RP/0/0/CPU0:router(config)# service-policy output policy1 RP/0/0/CPU0:router(config)# interface pos 0/1/0/0.1 point-to-point pvc 16 RP/0/0/CPU0:router(config-subif)# pvc 16 RP/0/0/CPU0:router(config-fr-vc)# service-policy output policy1match mpls experimental topmost
To identify specific three-bit experimental (EXP) field values in the topmost Multiprotocol Label Switching (MPLS) label as match criteria for a class map, use the match mpls experimental topmost command in class map configuration mode. To remove experimental field values from the class map match criteria, use the no form of the command.
match mpls experimental topmost exp-value [ exp-value1 ...exp-value7 ]
no match mpls experimental topmost exp-value [ exp-value1 ...exp-value7 ]
Syntax Description
exp-value
Experimental value that specifies the exact value from 0 to 7. Up to eight experimental values can be specified to match MPLS headers.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.3.0
The not keyword was added.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The match mpls experimental topmost command is used by the class map to identify MPLS experimental values matching on a packet.
To use the match mpls experimental topmost command, you must first enter the class-map command to specify the name of the class whose match criteria you want to establish. If you specify more than one match mpls experimental topmost command in a class map, the new values are added to the existing match statement.
This command examines the three experimental bits contained in the topmost label of an MPLS packet. Up to eight experimental values can be matched in one match statement. For example, match mpls experimental topmost 2 4 5 7 returns matches for experimental values of 2, 4, 5, and 7. Only one of the four values is needed to yield a match (OR operation).
The experimental values are used as a matching criterion only. The value has no mathematical significance. For instance, the experimental value 2 is not greater than 1. The value indicates that a packet marked with the experimental value of 2 should be treated differently than a packet marked with the EXP value of 1. The treatment of these different packets is defined by the user through the setting of QoS policies in policy map class configuration mode.
Task ID
Examples
The following example shows how to configure the service policy called policy1 and attach service policy policy1 to an interface. In this example, class map mplsmap1 evaluates all packets entering GigabitEthernet interface 0/1/0/9 for an MPLS experimental value of 1. If the incoming packet has been marked with the MPLS experimental value of 1, the packet is queued to the class queue with the bandwidth setting of 300 kbps.
RP/0/0/CPU0:router(config)# class-map mplsmap1 RP/0/0/CPU0:router(config-cmap)# match mpls experimental topmost 1 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class mplsmap1 RP/0/0/CPU0:router(config-pmap-c)# bandwidth 300 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/9 RP/0/0/CPU0:router(config-if)# service-policy input output policy1Related Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Identifies specific IP differentiated services code point (DSCP) values as match criteria for a class map.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
match precedence
To identify IP precedence values as match criteria, use the match precedence command in class map configuration mode. To remove precedence values from a class map, use the no form of this command.
match precedence [ ipv4 | ipv6 ] precedence-value [ precedence-value1 ... precedence-value7 ]
no match precedence [ ipv4 | ipv6 ] precedence-value [ precedence-value1 ... precedence-value7 ]
Syntax Description
ipv4
(Optional) Specifies the IPv4 precedence value.
ipv6
(Optional) Specifies the IPv6 precedence value.
precedence-value
An IP precedence value identifier that specifies the exact value. Range is from 0 to 7. Reserved keywords can be specified instead of numeric values. Table 1 describes the reserved keywords.
Up to eight precedence values can be matched in one match statement.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The match precedence command specifies a precedence value that is used as the match criteria against which packets are checked to determine if they belong to the class specified by the class map.
To use the match precedence command, you must first enter the class-map command to specify the name of the class whose match criteria you want to establish. If you specify more than one match precedence command in a class map, only the last command entered applies.
The match precedence command examines the higher-order three bits in the type of service (ToS) byte of the IP header. Up to eight precedence values can be matched in one match statement. For example, match precedence ipv4 0 1 2 3 4 5 6 7 returns matches for IP precedence values of 0, 1, 2, 3, 4, 5, 6, and 7. Only one of the eight values is needed to yield a match (OR operation).
The precedence values are used as a matching criterion only. The value has no mathematical significance. For instance, the precedence value 2 is not greater than 1. The value simply indicates that a packet marked with the precedence value of 2 is different than a packet marked with the precedence value of 1. The treatment of these different packets is defined by the user through the setting of QoS policies in policy map class configuration mode.
The following table lists the IP precedence value number and associated name in descending order of importance.
Task ID
Examples
The following example shows how to configure the service policy called policy1 and attach service policy policy1 to an interface. In this example, class map ipprec5 evaluates all packets entering GigabitEthernet interface 0/1/0/9 for a precedence value of 5. If the incoming packet has been marked with the precedence value of 5, the packet is queued to the class queue with the bandwidth setting 300 kbps.
RP/0/0/CPU0:router# configure RP/0/0/CPU0:router(config)# class-map ipprec5 RP/0/0/CPU0:router(config-cmap)# match precedence ipv4 5 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class ipprec5 RP/0/0/CPU0:router(config-pmap-c)# bandwidth 300 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/9 RP/0/0/CPU0:router(config-if)# service-policy output policy1Related Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Sets the precedence value in the IP header.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
match qos-group
To identify specific quality-of-service (QoS) group values as match criteria in a class map, use the match qos-group command in class map configuration mode. To remove a specific QoS group value from the matching criteria for a class map, use the no form of this command.
Syntax Description
qos-group-value
QoS group value identifier that specifies the exact value from 0 to 31 or a range of values from 0 to 31. Up to eight values can be entered in one match statement.
Command History
Release
Modification
Release 3.3.0
This command was introduced.
Release 3.4.0
The qos-group-value argument was deleted from the no match command.
Release 3.7.0
Up to eight values or ranges on a single match statement, and up to 32 values or ranges specified on up to eight match statements for qos-group-value , were supported.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The match qos-group command sets the match criteria for examining QoS groups marked on the packet. Up to eight QoS group values can be matched in one match statement. For example, match qos-group 4 9 11 15 16 21 30 31 returns matches for QoS group values of 4, 9, 11, 15, 16, 21, 30, and 31. Only one of the eight values is needed to yield a match (OR operation).
The match qos-group command is used on the ingress match to support QoS Policy Propagation using BGP (QPPB). To use this command, you must first enter the class-map command to specify the name of the class whose match criteria you want to establish. If you specify more than one match qos-group command in a class map, the subsequent match statements are added to the first match qos-group command.
The QoS group value is used as a matching criterion only. The value has no mathematical significance. For instance, the QoS group value 2 is not greater than 1. The value simply indicates that a packet marked with the QoS group value of 2 should be treated differently than a packet marked with a QoS group value of 1. The treatment of these different packets is defined using the service-policy command in policy map class configuration mode.
The QoS group setting is limited in scope to the local router. Typically, the QoS group is set on the local router and is used in conjunction with WRED or MDRR to give differing levels of service based on the group identifier.
Task ID
Examples
The following example shows a service policy called policy1 attached to an interface. In this example, class map qosgroup5 will evaluate all packets leaving GigabitEthernet 0/1/0/9 for a QoS group value of 5. If the packet has been marked with the QoS group value of 5, the packet is queued to the class queue with the bandwidth setting 300 kbps.
RP/0/0/CPU0:router(config)# class-map qosgroup5 RP/0/0/CPU0:router(config-cmap)# match qos-group 5 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class qosgroup5 RP/0/0/CPU0:router(config-pmap-c)# bandwidth 300 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/9 RP/0/0/CPU0:router(config-if)# service-policy output policy1Related Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Sets the discard class and Quality of Service (QoS) group identifiers on IP Version 4 (IPv4) or Multiprotocol Label Switching (MPLS) packets.
Sets the quality of service (QoS) group identifiers on packets.
match vlan
To identify selected VLAN IDs as the match criteria for a class map, use the match vlan command in class map configuration mode. To remove VLAN ID match criteria from a class map, use the no form of this command.
Syntax Description
vlanid
VLAN identifier that specifies the exact value from 1 to 4094 or a range of values from 1 to 4094. Up to eight values can be specified in a match statement.
Command History
Release
Modification
Release 3.3.0
This command was introduced.
Release 3.4.0
Changed the range value from 0 to 8096. to 1 to 4094.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The match vlan command specifies a VLAN ID that is used as the match criteria against which packets are checked to determine if they belong to the class specified by the class map.
To use the match vlan command, you must first enter the class-map command to specify the name of the class whose match criteria you want to establish. If you specify more than one match vlan command in a class map, up to eight values of the subsequent match statements are added to the first match vlan command, exceeding which, the statement is rejected.
Task ID
Examples
The following example shows how to configure the service policy called policy1 and attach service policy policy1 to an interface. In this example, class map vlan1 evaluates all packets entering Gigabit Ethernet interface 0/1/0/0 for VLAN IDs of 1234, 1698, and all the VLAN IDs in the range 3000 to 4000. If the incoming packet has been marked with any of these VLAN IDs, the packet is queued to the class queue with the bandwidth setting of 300 kbps.
RP/0/0/CPU0:router(config)# class-map vlan1 RP/0/0/CPU0:router(config-cmap)# match vlan 1234 1698 3000-4000 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class vlan1 RP/0/0/CPU0:router(config-pmap-c)# bandwidth 300 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/0 RP/0/0/CPU0:router(config-if)# service-policy output policy1match vpls
To identify selected virtual private LAN service (VPLS) fields as the match criteria for a class map, use the match vpls command in class map configuration mode. To remove the VPLS fields match criteria from a class map, use the no form of this command.
Syntax Description
vpls_field
VPLS field that specifies the known, multicast, and unknown MAC address on the router. Values can be:
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Task ID
Examples
This example shows how to configure VPLS:
RP/0/0/CPU0:router(config)# class-map vpls1 RP/0/0/CPU0:router(config-cmap)# match vpls multicast RP/0/0/CPU0:router(config-cmap)# exitpolice rate
To configure traffic policing and enter policy map police configuration mode, use the police rate command in policy map class configuration mode. To remove traffic policing from the configuration, use the no form of this command.
police rate { value [units] | percent percentage } [ burst burst-size [burst-units] ] [ peak-rate { value [units] | percent percentage } ] [ peak-burst peak-burst [burst-units] ]
no police rate { value [units] | percent percentage } [ burst burst-size [burst-units] ] [ peak-rate { value [units] | percent percentage } ] [ peak-burst peak-burst [burst-units] ]
Syntax Description
value
Committed information rate (CIR). Range is from 1 to 4294967295. For 8 kbps granularity the maximum value is 2.1 gbps, for 16 kbps granularity the maximum value is 4.2gbps, and for 32kbps granularity the maximum value is 8.4gbps.
units
(Optional) Unit of measurement for the CIR. Values can be:
percent percentage
Specifies the police rate as a percentage of the CIR. Range is from 1 to 100. See the Usage Guidelines for information on how to use this keyword.
burst burst-size
(Optional) Specifies the burst size (in the specified burst-units ). Range is from 1 to 4294967295.
burst-units
(Optional) Unit of measurement for the burst values. Values can be:
peak-rate value
(Optional) Specifies the Peak Information Rate (PIR) in the specified units . Range is from 1 to 4294967295.
peak-burst peak-burst
(Optional) Specifies the peak burst size in the specified burst-units . Range is from 1 to 4294967295.
Command History
Release
Modification
Release 3.2
This command was introduced without the pir and violate-action keywords.
Release 3.3.0
The command name was changed from police cir to police rate .
The keywords bc , be , and pir were changed to burst , peak-burst , and peak-rate , respectively.
The units argument was added.
The default units for the rate, peak rate, and burst rate changed from kbps to bps.
The keywords mpls experimental imposition were added to the action argument.
Release 3.4.0
This command now enters policy-map police configuration mode.
The conform-action , exceed-action and violate-action keywords changed into commands within the policy-map police configuration mode.
The cos and transmit keywords were added to the action argument. The atm-clp keyword was added.
Release 3.6.0
The packets burst value option was removed.
Release 3.7.0
Hierarchical ingress policing was supported.
Release 3.9.0
The granularity of the police rate specified changed to 8 kbps.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The traffic policing feature works with a single-token bucket algorithm.
The police rate can set the DSCP, the precedence, or the discard class for IP packets, and experimental and discard-class values for MPLS packets.
For bundled interfaces, traffic policing can be configured only as a percentage.
Policing can be applied in both ingress and egress directions.
The parameters set by the action keywords are rounded by the hardware. To check the actual values programmed in the hardware use the show qos interface command.
For police rate commands, interpret the percent keyword in this way:
For a one-level policy, the percent keyword specifies the CIR as a percentage of the link rate. For example, the command police rate percent 35 configures the CIR as 35% of the link rate.
For a two-level policy, in the parent policy, the percent keyword specifies the parent CIR as a percentage of the link rate. In the child policy, the percent keyword specifies the child CIR as a percentage of the maximum policing or shaping rate of the parent. If traffic policing or shaping is not configured on the parent, the parent inherits the interface policing or shaping rate.
Note
Configured values take into account the Layer 2 encapsulation applied to traffic. This applies to both ingress and egress policing. For POS/SDH transmission, the encapsulation is considered to be 4 bytes. For Ethernet, the encapsulation is 14 bytes; whereas for 802.1Q, the encapsulation is 18 bytes.
If the burst value is not specifically configured, it is automatically set to equate to 250 msec-worth of the CIR value. For example, if a CIR value of 1000000 kbps is entered, the burst value is calculated to be 32000000 bytes. However, the maximum burst value supported is 16777215 bytes.
Hierarchical policing is also supported. In such a configuration, both parent and child policies have class-maps containing policing statements, as in this example:
! policy-map child class gold police rate percent 50 conform-action set precedence immediate exceed-action drop ! ! policy-map parent class match_all police rate 10000 kbps burst 15000 exceed-action drop service-policy child !The router supports hierarchical ingress policing, which consists of a two-level hierarchical policy-map. The two levels are:
- Parent level: Consists of a class-default or match-vlan class (in nCmD model) only and has policing with only transmit/drop actions.
- Child level: Consists of a flat policy that can be configured with any action other than the queuing action. This level does not contain configurations that require a continuous bit support.
You can police the ingress interface while applying different classification submodels on the ingress interfaces. The order of the actions within the hierarchical policy-map is from child to parent as specified by the Modular Quality of Service command-line interface (MQC). This is with the exception of the queuing action (shape), which is executed after any police/set actions. If a police action is configured in a child policy, the child police action is executed before the parent police action.
The police action is invoked with only transmit/drop actions under the conform-action and exceed-action options specified for class-default traffic.
This example explains a hierarchical policer configuration:
! policy-map parent class class-default service-policy child police rate percent 50 conform-action transmit exceed-action drop !Task ID
Examples
In this example for MPLS, traffic policing is configured with the average rate at 250 kbps, and the normal burst size at 50 bytes for all packets leaving GigabitEthernet interface 0/1/0/9:
RP/0/0/CPU0:router(config)# class-map class1 RP/0/0/CPU0:router(config-cmap)# match mpls experimental topmost 0 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# police rate 250 kbps burst 50 RP/0/0/CPU0:router(config-pmap-c-police)#conform-action set mpls experimental topmost 4 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/9 RP/0/0/CPU0:router(config-if) service-policy input policy1Related Commands
Command
Description
Prevents the parent policer from dropping any ingress traffic that conforms to the maximum rate specified in the child policer.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
policy-map
To create or modify a policy map that can be attached to one or more interfaces to specify a service policy, use the policy-map command in global configuration mode. To delete a policy map, use the no form of this command.
Syntax Description
type qos
(Optional) Specifies a quality-of-service (QoS) policy map.
policy-name
Name of the policy map.
Command Default
A policy map does not exist until one is configured. Because a policy map is applied to an interface, no restrictions on the flow of data are applied to any interface until a policy map is created.
Type is QoS when not specified.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.3.0
Maximum number of classes permitted per policy map was increased to 32.
Release 3.6.0
The type qos keywords were added.
Maximum number of classes permitted per policy map was increased to 512.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Use the policy-map command to specify the name of the policy map to be created, added to, or modified before you can configure policies for classes whose match criteria are defined in a class map. Entering the policy-map command enables policy map configuration mode in which you can configure or modify the class policies for that policy map.
You can configure class policies in a policy map only if the classes have match criteria defined for them. Use the class-map and match commands to configure the match criteria for a class. Because you can configure a maximum of 512 classes in one policy map, no policy map can contain more than 512 class policies. The maximum number of 512 classes per policy includes the implicit default class and its child policies.
A single policy map can be attached to multiple interfaces concurrently. The maximum number of policy maps supported is 1000.
Task ID
Examples
The following examples show how to create a policy map called policy1 and configures two class policies included in that policy map. The policy map is defined to contain policy specification for class1 and the default class (called class-default) to which packets that do not satisfy configured match criteria are directed. Class1 specifies policy for traffic that matches access control list 136.
RP/0/0/CPU0:router(config)# class-map class1 RP/0/0/CPU0:router(config-cmap)# match access-group ipv4 136 RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# police cir 250 RP/0/0/CPU0:router(config-pmap-c)# set precedence 3 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# class class-default RP/0/0/CPU0:router(config-pmap-c)# queue-limit 1000000 bytespriority (QoS)
To assign a 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.
Syntax Description
level priority-level
(Optional) Sets the class priority level value. Value can be 1. Default level is 1. Level 1 traffic has higher priority.
Command Default
If a priority action is not configured in a class, traffic in that class is not serviced with strict priority.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.9.0
The level keyword was added.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The priority command configures low-latency queueing (LLQ), providing strict priority queueing (PQ). Strict PQ allows delay-sensitive data such as voice to be dequeued and sent before packets in other queues are dequeued. When a class is marked as high priority using the priority command, we recommend that you configure a policer to limit the priority traffic. This policer ensures that the priority traffic does not starve all other traffic on the line card, which protects low-priority traffic from starvation. Use the police rate to explicitly configure the policer.
The priority command sets up classes based on a variety of criteria (not just User Datagram Protocol [UDP] ports) and assigns a priority to them.
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, but only when the priority class has the policer limit configured .
There cannot be a WRED action along with a priority configuration in the same class. Only one class under a policy map can have a priority action configured.
Task ID
Examples
The following example shows how to configure priority queuing for the policy map named policy1:
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# priority level 1Related Commands
Command
Description
Specifies the minimum bandwidth allocated to a class belonging to a policy map.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
queue-limit
To specify or modify the maximum number of packets the queue can hold for a class policy configured in a policy map, use the queue-limit command in policy map class configuration mode. To remove the queue packet limit from a class, use the no form of this command.
Syntax Description
value
Maximum threshold for tail drop in bytes. Range is from 1 to 4294967295.
unit
(Optional) Units for the queue limit value. Values can be:
Note When the specified units is packets, packets are assumed to be 256 bytes in size.
atm-clp
Specifies an ATM cell loss priority (CLP)-based queue limit.
atm-value
Maximum threshold for the ATM CLP value. Range is from 1 to 4294967295.
atm-unit
ATM CLP unit. Values can be:
tail-value
Maximum threshold for tail drop. Range is from 1 to 4294967295.
tail-unit
(Optional) Tail drop unit. Values can be:
Command Default
100 milliseconds: maximum threshold for tail drop
10 milliseconds: maximum threshold for high-priority queues
Maximum threshold units are in packets.
Note
The default queue limit is 200 ms. Default queue limits are calculated considering 200 ms of data and assuming an average packet size of 256 bytes.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.3.0
Command name changed from queue-limit bytes to queue-limit .
Command order modified to place value before units.
The units argument was added.
Default units was changed from bytes to packets.
Release 3.6.0
The value range of 1 to 1000000000 has changed to 1 to 4294967295.
The cells unit keyword and argument were added.
The default threshold for tail drop changed from 200 milliseconds to 100 milliseconds.
Release 3.8.0
The atm-clp keyword was added for supporting the virtual circuit (VC) queuing on the segmentation and reassembly (SAR) in the egress direction.
Two discard threshold settings, CLP1 and CLP0+1, were supported using an extension to the queue-limit modular QoS CLI (MQC) configuration.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Packets satisfying the match criteria for a class accumulate in the queue reserved for the class until they are serviced by the scheduling mechanism. The queue-limit command defines the maximum threshold for a class. When that threshold is reached, enqueued packets to the class queue result in tail drop (packet drop). Tail drop is a congestion avoidance technique that drops packets when an output queue is full, until congestion is eliminated.
Use the show qos interface command to display the queue limit and other policer values.
The following default values are used when queue-limit is not configured in the class:
- If QoS is not configured:
- If QoS is configured and Weighted Random Early Detection (WRED) is not configured:
Queue limit is 200 ms at the guaranteed service rate of the queue for non-priority queues.
- When priority is configured with policing with an exceed action of DROP: queue limit = (rate_kpbs) * 200 / 8, where rate_kbps = (Police Be + Police Bc) * 8 / 1000, and Bc is conformed police rate, Be is exceeded police rate
When priority configured with policing with an exceed action other than DROP: queue limit = (rate_kpbs) * 200 / 8, where rate_kbps = police rate.
When priority configured without policing: queue limit = (rate_kpbs) * 200 / 8, where rate_kbps = interface rate / 2 for flat policies, and rate_kbps = parent shape rate / 2 for hierarchicalpolicies.
- If QoS is configured and WRED is configured:
Queue limit is two times the WRED maximum threshold. The maximum threshold is an explicitly configured value.
If more than one WRED profile is configured in the class, the maximum threshold is the maximum for all profiles.
When the queue-limit is configured in time units, the guaranteed service rate is used to compute the queue limit.
When the queue limit is configured in time units, the guaranteed service rate of the class is used to calculate the queue limit in bytes. For example: time_unit in ms * guaranteed_service_rate in kbps / 8 is equivalent to queue-limit in bytes.
The following restrictions apply to queue limits:
The guaranteed service rate is defined as the service rate of the queue when all queues are backlogged and derived as:
minimum_bandwidth + (bandwidth_remaining_percent * unallocated_bandwidth)
The following example shows the guaranteed service rate calculation:
policy-map sample_policy class c1 bandwidth percent 30 bandwidth remaining percent 40 class c2 bandwidth percent 20 class class-defaultguaranteed service rate of c1 = 30 percent LR + (40 percent * 50 percent * LR)
guaranteed service rate of c2 = 20 percent LR + (30 percent * 50 percent * LR)
guaranteed service rate of class-default = 30 percent * 50 percent * LR
Task ID
Examples
The following example shows how to set the queue limit for a class to 1000000 packets for policy map policy1:
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# queue-limit 1000000random-detect
To enable random early detection (RED), use the random-detect command in policy map class configuration mode. To remove RED, use the no form of this command.
random-detect { discard-class value | dscp value | exp value | precedence value | min-threshold [units] max-threshold [units] }
no random-detect [ discard-class value | dscp value | exp value | precedence value | min-threshold [units] max-threshold [units] ]
Syntax Description
discard-class value
Discard-class based WRED.
dscp value
DSCP-based WRED.
exp value
MPLS Experimental-based WRED.
precedence value
Precedence-based WRED. Values can be:
min-threshold
Minimum threshold in number of packets. The value range of this argument is from 0 to 1073741823 in bytes.
max-threshold
Maximum threshold the units specified. The value range of this argument is from the value of the min-threshold argument or 23, whichever is larger, to 1073741823. When the average queue length exceeds the maximum threshold, RED drops all packets with the specified discard class value.
units
(Optional) Units for the threshold values. Values can be:
Command History
Release
Modification
Release 3.3.0
This command was introduced.
Release 3.6.0
The cells unit was added.
The default keyword was removed.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The RED congestion avoidance technique takes advantage of the congestion control mechanism of TCP. By randomly dropping packets before periods of high congestion, RED tells the packet source to decrease its transmission rate. Assuming the packet source is using TCP, it decreases its transmission rate until all the packets reach their destination, indicating that the congestion is cleared. You can use RED as a way to cause TCP to slow transmission of packets. TCP not only pauses, but it also restarts quickly and adapts its transmission rate to the rate that the network can support.
RED distributes losses in time and maintains normally low queue depth while absorbing traffic bursts. When enabled on an interface, RED begins dropping packets when congestion occurs at a rate you select during configuration.
When time units are used, the guaranteed service rate is used to compute thresholds.
The default values for RED are calculated as follows:
default min_threshold = 0.03 * B
default max_threshold = 0.1 * B
where B is the bandwidth for the queue. When all the queues are congested, the bandwidth for the queue is equal to the guaranteed service rate of the queue.
The mark probability is always set to 1.
When the value of the units argument is packets, packets are assumed to be 256 bytes in size.
For the random-detect command to take effect, you must configure the shape average , bandwidth (QoS) , or bandwidth remaining commands in the user-defined policy map class. This dependency is not applicable to the class default for the policy map class.
The following restrictions apply to Weighted Random Early Detection (WRED):
- For thresholds in time units, the guaranteed service rate is used to calculate the thresholds in bytes.
- Default RED minimum threshold—30 ms at the guaranteed service rate.
- Default RED maximum threshold—100 ms as the guaranteed service rate.
For bundles, queue limit and WRED thresholds are supported in time units only.
Note
RED is enabled when you configure any of the supported random-detect commands.
Task ID
Examples
The following example shows how to enable RED using a minimum threshold value of 1000000 and a maximum threshold value of 2000000:
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# random-detect 1000000 2000000random-detect discard-class
To configure the Weighted Random Early Detection (WRED) thresholds for packets with a specific discard class value, use the random-detect discard-class command in policy map class configuration mode. To return the thresholds to the default for the discard class, use the no form of this command.
random-detect discard-class discard-value min-threshold [units] max-threshold [units]
no random-detect discard-class discard-value min-threshold [units] max-threshold [units]
Syntax Description
discard-value
Discard class value. Valid values are from 0 to 7. Up to eight values can be entered separated by commas.
min-threshold
Minimum threshold in number of packets. The value range of this argument is from 0 to 1073741823 in bytes.
max-threshold
Maximum threshold in number of packets. The value range of this argument is from the value of the min-threshold argument to 1073741823. When the average queue length exceeds the maximum threshold, WRED drops all packets with the specified discard class value.
units
(Optional) Units for the threshold values. Values can be:
Command History
Release
Modification
Release 3.3.0
This command was introduced.
Release 3.4.0
The units argument was added to allow specifying the units of the thresholds.
The discard-value min-threshold max-threshold arguments were deleted form the no random-detect discard-class command.
Release 3.6.0
The discard-value argument can accept up to eight values separated by commas.
The cells unit was added.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
For the random-detect discard-class command to take effect, you must configure the shape average, bandwidth (QoS), or bandwidth remaining commands in the user-defined policy map class. This dependency is not applicable to the class default for the policy map class.
WRED is a congestion avoidance mechanism that slows traffic by randomly dropping packets when congestion exists. WRED is most useful with protocols like TCP that respond to dropped packets by decreasing the transmission rate.
When you configure the random-detect discard-class command on an interface, packets are given preferential treatment based on the discard class of the packet.
When the value of the units argument is packets, packets are assumed to be 256 bytes in size.
Task ID
Examples
The following example shows how to set the discard class values for discard class 3 to a minimum byte threshold of 1000000 and a maximum byte threshold of 2000000:
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# random-detect discard-class 3 1000000 2000000Related Commands
Command
Description
Specifies the name of the class whose policy you want to create or change.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Configures the Weighted Random Early Detection (WRED) thresholds for packets with a particular IP precedence.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
random-detect dscp
To configure the Weighted Random Early Detection (WRED) thresholds for packets with a specific differentiated services code point (DSCP) value, use the random-detect dscp command in policy map class configuration mode. To return the thresholds to the default for the DSCP value, use the no form of this command.
random-detect dscp dscp-value min-threshold [units] max-threshold [units]
no random-detect dscp dscp-value min-threshold [units] max-threshold [units]
Syntax Description
dscp-value
DSCP value. Up to eight dscp-values (any combination of numbers, ranges, and reserved keywords) can be used separated by commas. The following arguments are supported:
- Number from 0 to 63 that sets the DSCP value.
- Range of DSCP values. Range is from 0 to 63.
- Reserved keywords can be specified instead of numeric values. Table 1 describes the reserved keywords.
min-threshold
Minimum threshold in number of packets. The value range of this argument is from 0 to 1073741823. When the average queue length reaches the minimum threshold, WRED randomly drops some packets with the specified DSCP value.
max-threshold
Maximum threshold in number of packets. The value range of this argument is from the value of the min-threshold argument to 1073741823. When the average queue length exceeds the maximum threshold, WRED drops all packets with the specified DSCP value.
units
(Optional) Units for the threshold values. Values can be:
Command Default
Match packets with default DSCP (000000).
Default unit for max-threshold and min-threshold is packets.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.4.0
The units argument was added to allow specifying the units of the thresholds.
The dscp-value min-threshold max-threshold arguments were deleted from the no random-detect dscp command.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
WRED is a congestion avoidance mechanism that slows traffic by randomly dropping packets when congestion exists. WRED is most useful with protocols like TCP that respond to dropped packets by decreasing the transmission rate.
For the random-detect dscp command to take effect, you must configure the shape average , bandwidth (QoS) , or bandwidth remaining commands in the user-defined policy map class. This dependency is not applicable to the class default for the policy map class.
Reserved keywords can be specified instead of numeric values. See Table 1 for the list of keywords.
When the value of the units argument is packets, packets are assumed to be 256 bytes in size.
Task ID
Examples
The following example shows that for packets with DSCP AF11, the WRED minimum threshold is 1,000,000 bytes and the maximum threshold is 2,000,000 bytes:
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# random-detect dscp AF11 1000000 2000000Related Commands
Command
Description
Specifies the name of the class whose policy you want to create or change.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Configures the Weighted Random Early Detection (WRED) thresholds for packets with a particular IP precedence.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
random-detect exp
To configure the Weighted Random Early Detection (WRED) thresholds for packets marked with a specific MPLS experimental (EXP) bit value, use the random-detect exp command in policy map class configuration mode. To return the value to the default, use the no form of this command.
random-detect exp exp-value min-threshold [units] max-threshold [units]
no random-detect exp exp-value min-threshold [units] max-threshold [units]
Syntax Description
exp-value
MPLS experimental value. Valid values are from 0 to 7. Up to eight values can be entered separated by commas.
min-threshold
Minimum threshold in number of packets. The value range of this argument is from 0 to 1073741823 in bytes.
max-threshold
Maximum threshold in units specified. The value range of this argument is from the value of the min-threshold argument to 1073741823. When the average queue length exceeds the maximum threshold, WRED drops all packets with the specified experimental value.
units
(Optional) Units for the threshold values. Values can be:
Command History
Release
Modification
Release 3.3.0
This command was introduced.
Release 3.4.0
The exp-value min-threshold max-threshold arguments were deleted form the no random-detect exp command.
Release 3.6.0
The exp-value argument can accept up to eight values separated by commas.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
For the random-detect exp command to take effect, you must configure the shape average , bandwidth (QoS) , or bandwidth remaining commands in the user-defined policy map class. This dependency is not applicable to the class default for the policy map class.
WRED is a congestion avoidance mechanism that slows traffic by randomly dropping packets when congestion exists. WRED is most useful with protocols like TCP that respond to dropped packets by decreasing the transmission rate.
When the value of the units argument is packets, packets are assumed to be 256 bytes in size.
Task ID
Examples
The following example shows that for Multiprotocol Label Switching (MPLS) packets with an EXP field value of 4, the WRED minimum threshold is 1,000,000 bytes and the maximum threshold is 2,000,000 bytes:
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# random-detect exp 4 1000000 20000Related Commands
Command
Description
Specifies the name of the class whose policy you want to create or change.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Configures the Weighted Random Early Detection (WRED) thresholds for packets with a specific differentiated services code point (DSCP) value.
Configures the Weighted Random Early Detection (WRED) thresholds for packets with a particular IP precedence.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
random-detect precedence
To configure the Weighted Random Early Detection (WRED) thresholds for packets with a particular IP precedence, use the random-detect precedence command in policy map class configuration mode. To return the thresholds to the default for the precedence, use the no form of this command.
random-detect precedence precedence-value min-threshold [units] max-threshold [units]
no random-detect precedence precedence-value min-threshold [units] max-threshold [units]
Syntax Description
precedence-value
An IP precedence value identifier that specifies the exact value. Range is from 0 to 7. Reserved keywords can be specified instead of numeric values. Table 1 describes the reserved keywords. Up to eight values or reserved keywords can be entered separated by commas.
min-threshold
Minimum threshold in number of packets. Range is from 0 to 1073741823 in bytes.
max-threshold
Maximum threshold in the units specified. Range is from the value of the min-threshold argument to 1073741823. When the average queue length exceeds the maximum threshold, WRED drops all packets with the specified precedence value.
units
(Optional) Units for the threshold values. Values can be:
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.3.0
The units argument was added to allow specifying the units of the thresholds.
Release 3.4.0
The precedence-value min-threshold max-threshold arguments were deleted from the no random-detect precedence command.
Release 3.6.0
The precedence-value argument can accept up to eight values or reserved keywords separated by commas.
The cells unit keword and argument were added.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
For the random-detect precedence command to take effect, you must configure the shape average, bandwidth (QoS), or bandwidth remaining commands in the user-defined policy map class. This dependency is not applicable to the class default for the policy map class.
WRED is a congestion avoidance mechanism that slows traffic by randomly dropping packets when congestion exists. WRED is most useful with protocols like TCP that respond to dropped packets by decreasing the transmission rate.
When you configure the random-detect command on an interface, packets are given preferential treatment based on the IP precedence of the packet. Use the random-detect precedence command to adjust the treatment for different precedences.
When the value of the units argument is packets, packets are assumed to be 256 bytes in size.
Task ID
Examples
The following example shows that for packets with precedence 3, the WRED minimum threshold is 1,000,000 bytes and maximum threshold is 2,000,000 bytes:
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)#random-detect precedence 3 1000000 2000000Related Commands
Command
Description
Specifies the minimum bandwidth allocated to a class belonging to a policy map.
Specifies the name of the class whose policy you want to create or change.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Configures the Weighted Random Early Detection (WRED) thresholds for packets with a specific differentiated services code point (DSCP) value.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
service-policy (interface)
To attach a policy map to an input interface or output interface to be used as the service policy for that interface, use the service-policy command in the appropriate configuration mode. To remove a service policy from an input or output interface, use the no form of the command.
service-policy { input | output } policy-map [ account nolayer2 ]
no service-policy { input | output } policy-map [ account nolayer2 ]
Syntax Description
input
Attaches the specified policy map to the input interface.
output
Attaches the specified policy map to the output interface.
policy-map
Name of a service policy map (created using the policy-map command) to be attached.
account nolayer2
(Optional) Turns off layer 2 QoS-specific accounting and enables Layer 3 QoS accounting.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.4.0
The pre-decrypt, post-decrypt, and pre-encrypt keywords were added for IPSec.
Release 3.5.0
The pre-decrypt, post-decrypt, and pre-encrypt keywords were removed.
Release 3.6.0
The command was supported in Layer 2 transport configuration mode.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
You can attach a single policy map to one or more interfaces to specify the service policy for those interfaces. The class policies composing the policy map are then applied to packets that satisfy the class map match criteria for the class. To apply a new policy to an interface, you must remove the previous policy. A new policy cannot replace an existing policy.
The default packet size for QoS accounting on 10 Gbps IP Services Engine (Engine 5) and Multirate 10G IP Services Engines (Engine 5+) line cards is Layer 2 packet size. The account nolayer2 option allows you to specify a Layer 3 packet size for QoS accounting. This option is enabled in a policy map and applies to a specific interface. It does not apply to any other interface on the line card or to any other line card on the router.
Less traffic passes through the network using Layer 2 packet size than using Layer 3 packet size. The account nolayer2 option allows service providers to tailor the amount of traffic that is passed to particular users, and to use QoS accounting based on Layer 3 packet size.
Task ID
Examples
The following example shows policy map policy1 applied to Packet-over-SONET/SDH (POS) interface 0/2/0/0:
RP/0/0/CPU0:router(config)# class-map class1 RP/0/0/CPU0:router(config-cmap)# match precedence ipv4 1 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# set precedence 2 RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface pos 0/2/0/0 RP/0/0/CPU0:router(config-if)# service-policy output policy1service-policy (policy map class)
To use a service policy as a QoS policy within a policy map (called a hierarchical service policy), use the service-policy command in policy map class configuration mode. To disable a particular service policy as a QoS policy within a policy map, use the no form of this command.
Syntax Description
type qos
(Optional) Specifies a QoS service policy.
policy-map-name
Name of the predefined policy map to be used as a QoS policy. The name can be a maximum of 40 alphanumeric characters.
Command History
Release
Modification
Release 3.3.0
This command was introduced.
Release 3.6.0
The type qos keywords were added.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The service-policy (policy-map class) command creates hierarchical service policies in policy-map class configuration mode.
This command is different from the service-policy (interface) command used in interface configuration mode.
The child policy is the previously defined service policy that is being associated with the class default of the parent policy-map. The new service policy using the preexisting service policy is the parent policy.
The service-policy (policy-map class) command has the following restrictions:
Task ID
Examples
The following example shows how to create a hierarchical service policy in the service policy called parent:
RP/0/0/CPU0:router(config)# policy-map child RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# priority RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# policy-map parent RP/0/0/CPU0:router(config-pmap)# class class-default RP/0/0/CPU0:router(config-pmap-c)# shape average 10000000 RP/0/0/CPU0:router(config-pmap-c)# service-policy childRelated Commands
Command
Description
Specifies the minimum bandwidth allocated to a class belonging to a policy map.
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Assigns a priority to a class of traffic belonging to a policy map.
Attachs a policy map to an input interface or output interface to be used as the service policy for that interface.
set atm-clp
To set the cell loss priority (CLP) bit when a policy map is configured, use the set atm-clp command in policy map class configuration mode. To remove a specific CLP bit setting, use the no form of this command.
Command Default
The CLP bit is automatically set to 0 when Cisco routers convert IP packets into ATM cells for transmission through Multiprotocol Label Switching (MPLS)-aware ATM networks.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The set atm-clp command sets the CLP bit within the packet. After the CLP bit is set, other QoS services such as Modified Deficit Round Robin (MDRR) and Weighted Random Early Detection (WRED) can operate on the bit settings.
A policy map containing the set atm-clp command can be attached as an output policy only. The set atm-clp command does not support packets that originate from the router.
Task ID
Examples
The following example illustrates setting the CLP bit using the set atm-clp command in the policy map:
RP/0/0/CPU0:router(config)# class-map c1 RP/0/0/CPU0:router(config-cmap)# match precedence ipv4 0 1 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map atm-clp-set RP/0/0/CPU0:router(config-pmap)# class c1 RP/0/0/CPU0:router(config-pmap-c)# set atm-clp RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface atm 0/2/0/0.1 RP/0/0/CPU0:router(config-subif)# pvc 10/100 RP/0/0/CPU0:router(config-atm-vc)# service-policy output atm-clp-set RP/0/0/CPU0:router(config-atm-vc)# endRelated Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Attachs a policy map to an input interface or output interface to be used as the service policy for that interface.
set cos
To set the Layer 2 class of service (CoS) value of an outgoing packet, use the set cos command in policy map class configuration mode. To remove a specific CoS value setting, use the no form of this command.
Syntax Description
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Use the set cos command to mark a packet that is being sent to a switch. Switches can leverage Layer 2 header information, including a CoS value marking.
The set cos command can be used only in service policies that are attached in the output direction of an interface. Packets entering an interface cannot be set with a CoS value.
Task ID
Examples
In the following example, the policy map called cos-set is created to assign different CoS values for different service classes, and then is attached to the output Gigabit Ethernet VLAN subinterface 0/1/0/9.100.
RP/0/0/CPU0:router(config)# policy-map cos-set RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# set cos 1 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# class class2 RP/0/0/CPU0:router(config-pmap-c)# set cos 2 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/9.100 RP/0/0/CPU0:router(config-if)# service-policy output cos-setRelated Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Attachs a policy map to an input interface or output interface to be used as the service policy for that interface.
set discard-class
To set the discard class and Quality of Service (QoS) group identifiers on IP Version 4 (IPv4) or Multiprotocol Label Switching (MPLS) packets, use the set discard-class command in policy map class configuration mode. To leave the discard-class values unchanged, use the no form of this command.
Syntax Description
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The set discard-class command associates a discard class ID with a packet. After the discard class and QoS group IDs are set, other QoS services such as Modified Deficit Round Robin (MDRR) and Weighted Random Early Detection (WRED) can operate on the bit settings.
Discard-class indicates the discard portion of the per hop behavior (PHB). The set discard-class command is typically used in Pipe mode. Discard-class is required when the input PHB marking is used to classify packets on the output interface.
The discard-class values can be used to specify the type of traffic that is dropped when there is congestion.
Note
Marking of the discard class and the QoS group has only local significance on a node.
Task ID
Examples
The following example shows how to set the discard class value to 5 for packets that match the MPLS experimental bits 1:
RP/0/0/CPU0:router(config)# class-map cust1 RP/0/0/CPU0:router(config-cmap)# match mpls experimental topmost 1 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy2 RP/0/0/CPU0:router(config-pmap)# class cust1 RP/0/0/CPU0:router(config-pmap-c)# set discard-class 5 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/9 RP/0/0/CPU0:router(config-if)# service-policy input policy2Related Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Attachs a policy map to an input interface or output interface to be used as the service policy for that interface.
set dscp
To mark a packet by setting the IP differentiated services code point (DSCP) in the type of service (ToS) byte, use the set dscp command in policy-map class configuration mode. To remove a previously set DSCP value, use the no form of this command.
Syntax Description
tunnel
(Optional) Sets the DSCP on the outer IP header. This command is available for IPSec in the egress direction.
dscp-value
Number from 0 to 63 that sets the DSCP value. Reserved keywords can be specified instead of numeric values. Table 1 describes the reserved keywords.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.8.0
The tunnel keyword is supported for QoS in a Multicast Virtual Private Network (mVPN) enabled network that requires both conditional and unconditional marking of DSCP bits on the tunnel header.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
After the DSCP bit is set, other quality-of-service (QoS) services can then operate on the bit settings.
Conditional marking marks the DSCP values on the tunnel header as a policer action. Unconditional marking marks the DSCP tunnel as a policy action. Both conditional and unconditional markings are supported only in the ingress direction.
The network gives priority (or some type of expedited handling) to marked traffic. Typically, you set the DSCP value at the edge of the network (or administrative domain); data then is queued based on the DSCP value. Modified Deficit Round Robin (MDRR) can speed up handling for high DSCP traffic at congestion points. Weighted Random Early Detection (WRED) ensures that high DSCP traffic has lower loss rates than other traffic during times of congestion.
Reserved keywords can be specified instead of numeric values. Table 1 describes the reserved keywords.
Task ID
Examples
In the following example, the DSCP ToS byte is set to 8 in the policy map called policy1. All packets that satisfy the match criteria of class1 are marked with the DSCP value of 8. The network configuration determines how packets are marked.
RP/0/0/CPU0:router (config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# set dscp 8Related Commands
Command
Description
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Attachs a policy map to an input interface or output interface to be used as the service policy for that interface.
Sets the precedence value in the IP header.
Displays policy configuration information for all classes configured for all service policies on the specified interface.
set fr-de
To change the discard eligible (DE) bit setting in the address field of a Frame Relay frame to 1 for all traffic leaving an interface, use the set fr-de command in policy map configuration mode. To remove the DE bit setting, use the no form of this command.
Syntax Description
not
(Optional) Negates the specified match result.
fr-de-bit-value
(Optional) Specifies the Frame Relay DE bit. Value can be 0 or 1. Value can be 1.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
To disable this command in a traffic policy, use the no set fr-de command in policy map configuration mode of the traffic policy.
If the DE bit is already set to 1, no changes are made to the frame.
Task ID
Examples
The following example shows how to set the DE bit using the set fr-de command in the traffic policy. The router sets the DE bit of outbound packets belonging to the ip-precedence class.
RP/0/0/CPU0:router(config)# class-map ip-precedence RP/0/0/CPU0:router(config-cmap)# match precedence 0 1 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map set-de RP/0/0/CPU0:router(config-pmap)# class ip-precedence RP/0/0/CPU0:router(config-pmap-c)# set fr-de 1 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface serial 1/0/0 RP/0/0/CPU0:router(config-if)# no ip address RP/0/0/CPU0:router(config-if)# encapsulation frame-relay RP/0/0/CPU0:router(config-if)# interface serial 1/0/0.1 RP/0/0/CPU0:router(config-subif)# ip address 10.1.1.1 255.255.255.252 RP/0/0/CPU0:router(config-subif)# no ip directed-broadcast RP/0/0/CPU0:router(config-subif)# service-policy output set-deset mpls experimental
To set the experimental (EXP) value of the Multiprotocol Label Switching (MPLS) packet topmost or imposition labels, use the set mpls experimental command in policy map configuration mode. To leave the EXP value unchanged, use the no form of this command.
set mpls experimental { imposition | topmost } exp-value
no set mpls experimental { imposition | topmost } exp-value
Syntax Description
imposition
Specifies to set the EXP value of the imposition label.
topmost
Specifies to set the EXP value of the topmost label.
exp-value
Value of the MPLS packet label. Range is 0 to 7.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.3.0
Added the imposition keyword and changed overall command name from set mpls experimental topmost to set mpls experimental.
Release 3.4.0
Added the range for the exp-value argument.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
After the MPLS experimental bits are set, other QoS services such as Modified Deficit Round Robin (MDRR) and Weighted Random Early Detection (WRED) then operate on the bit settings.
The network gives priority (or some type of expedited handling) to the marked traffic through the application of MDRR or WRED at points downstream in the network. Typically, the MPLS experimental value is set at the edge of the network (or administrative domain) and queueing is acted on it thereafter. MDRR can speed up handling for high-priority traffic at congestion points. WRED ensures that high-priority traffic has lower loss rates than other traffic during times of congestion.
Task ID
Examples
The following example shows how to set the MPLS experimental to 5 for packets that match access list 101:
RP/0/0/CPU0:router(config)# class-map class1 RP/0/0/CPU0:router(config-cmap)# match access-group ipv4 acl101 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# set mpls experimental imposition 5 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitithernet 0/3/0/2 RP/0/0/CPU0:router(config-if)# service-policy input policy1Related Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Attachs a policy map to an input interface or output interface to be used as the service policy for that interface.
set precedence
To set the precedence value in the IP header, use the set precedence command in policy map class configuration mode. To leave the precedence value unchanged, use the no form of this command.
Syntax Description
tunnel
(Optional) Sets the IP precedence on the outer IP header. This command is available on Layer 3 interfaces in the ingress direction.
value
Number or name that sets the precedence bits in the IP header. Range is from 0 to 7. Reserved keywords can be specified instead of numeric values. Table 1 describes the reserved keywords.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.8.0
The tunnel keyword is supported for QoS in a Multicast Virtual Private Network (mVPN) enabled network that requires both conditional and unconditional marking of precedence bits on the tunnel header.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Precedence can be set using a number or corresponding name. After IP Precedence bits are set, other QoS services such as Modified Deficit Round Robin (MDRR) and Weighted Random Early Detection (WRED) then operate on the bit settings.
Conditional marking marks the precedence values on the tunnel header as a policer action. Unconditional marking marks the precedence tunnel as a policy action. Both conditional and unconditional markings are supported only in an ingress direction. The tunnel keyword is available on Layer 3 interfaces in the ingress direction.
The network gives priority (or some type of expedited handling) to the marked traffic through the application of MDRR or WRED at points downstream in the network. IP precedence can be set at the edge of the network (or administrative domain) and have queueing act on it thereafter. MDRR can speed handling for high-precedence traffic at congestion points. WRED ensures that high-precedence traffic has lower loss rates than other traffic during times of congestion.
The mapping from keywords such as 0 (routine) and 1 (priority) to a precedence value is useful only in some instances. That is, the use of the precedence bit is evolving. You can define the meaning of a precedence value by enabling other features that use the value. In the case of high-end Internet QoS, IP precedences can be used to establish classes of service that do not necessarily correspond numerically to better or worse handling in the network.
Task ID
Examples
The following example shows how to set the IP precedence to 5 (critical) for packets that match the access control list named customer1:
RP/0/0/CPU0:router(config)# class-map class1 RP/0/0/CPU0:router(config-cmap)# match access-group ipv4 customer1 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# set precedence 5 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/9 RP/0/0/CPU0:router(config-if)# service-policy output policy1Related Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Attachs a policy map to an input interface or output interface to be used as the service policy for that interface.
set qos-group
To set the quality of service (QoS) group identifiers on packets, use the set qos-group command in policy map class configuration mode. To leave the QoS group values unchanged, use the no form of this command.
Syntax Description
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The set qos-group command associates a QoS group ID with a packet. After the QoS group ID is set, other QoS services, such as Modified Deficit Round Robin (MDRR) and Weighted Random Early Detection (WRED), can operate on the QoS group setting.
The QoS group setting is limited in scope to the local router. Typically, the QoS group is set on the local router and used in conjunction with WRED or MDRR to give differing levels of service based on the group identifier.
Task ID
Examples
The following example sets the QoS group to 5 for packets that match the MPLS experimental bit 1:
RP/0/0/CPU0:router(config)# class-map class1 RP/0/0/CPU0:router(config-cmap)# match mpls experimental topmost 1 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# set qos-group 5 RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface pos 0/7/0/0 RP/0/0/CPU0:router(config-if)# service-policy input policy1Related Commands
Command
Description
Defines a traffic class and the associated rules that match packets to the class.
Identifies specific IP differentiated services code point (DSCP) values as match criteria for a class map.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Attachs a policy map to an input interface or output interface to be used as the service policy for that interface.
shape average
To shape traffic to the indicated bit rate according to the algorithm specified, use the shape average command in policy map class configuration mode. To remove traffic shaping, use the no form of this command.
shape average { percent percentage | rate [units] }
no shape average { percent percentage | rate [units] }
Syntax Description
percent percentage
Specifies the interface bandwidth in percentage. Values can be from 1 to 100.
rate
Average shaping rate in the specified units. Values can be from 1 to 4294967295. For 16 kbps granularity on 2.5 Gbps IP Services Engine (Engine 3) line cards, the maximum shape rate is 1.05 gbps.
units
(Optional) Units for the bandwidth. Values can be:
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.3.0
The units and burst-units arguments were added.
Release 3.3.1
Minimum rate value changed from 128 kbps to 256 kbps.
Release 3.4.0
The burst-size option was removed.
Release 3.9.0
The granularity of the rates specified was changed from 64 kbps to 8 kbps.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
When you use the shape average command, egress shaping is done at the Layer 2 level and includes the Layer 2 header in the rate calculation. Ingress shaping is done at the Layer 3 level and does not include the Layer 2 header in the rate calculation. Shaping is performed in multiples of 256 kbps, the minimum shaping rate.
When using this command, egress and ingress shaping is performed in multiples of 8 kbps on the Layer 3 level.
Line card Type
Ingress Granularity
Egress Granularity
2.5 Gbps IP Services Engine (Engine 3)**Exceptions: 1-Port OC-48c POS ISE 4-Port OC-12c POS ISE
16 kbps64 kbps64 kbps
16 kbps64 kbps64 kbps
10 Gbps IP Services Engine (Engine 5)
32 kbps
32 kbps
Multirate 10G IP Services Engines (Engine 5+)
32 kbps
8 kbps
For shape average commands in the child policy, the reference used for percentage parameters is relative to the maximum rate of the parent. If shaping or policing is not configured on the parent, then the parent inherits the interface rate.
For bundled interfaces, shape average can be configured only as a percentage.
If you have both shape and bandwidth configured for a class, ensure that the shape percent value is always greater than the percent value for bandwidth.
Task ID
Examples
The following example sets traffic shaping to 50 milliseconds:
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# shape average percent 50The following example shows how to set traffic shaping to 5,000,000 kbps:
RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# shape average 5000000 kbpsshow controllers egressq enaq location
To display information about QoS queue fragmentation on a node, use the show controllers egressq enaq location command in EXEC mode.
Syntax Description
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
When policies are frequently added and removed in large-scale configurations, the line card might not have enough free contiguous QoS queues to accommodate a new policy—even though there are enough free queues on the line card. Use this command to determine the number of occupied (used/enabled) QoS queues on a node and to see where the fragments are.
QoS queues are automatically defragmented unless the hw-module qos queue-auto-defrag disable location command is configured. You can manually defragment QoS queues using the hw-module queue-defrag location command.
Task ID
Examples
The following example displays information about QoS queue fragmentation on location 0/1/CPU0. There are 12 enabled (occupied/used) QoS queues on the node. Between queue number 7 and queue number 12, there is a gap; this is a fragment of four unoccupied queues.
There are 4096 QoS queues on 2.5 Gbps IP Services Engine (Engine 3) line cards and 8192 QoS queues on 10 Gbps IP Services Engine (Engine 5) line cards. For the purpose of this example, if there were 16 total queues on this line card and a new policy needed five free contiguous queues, the system would display an error because there are only four free contiguous queues.
RP/0/0/CPU0:router# show controllers egressq enaq location 0/1/CPU0 Wed Oct 7 21:57:34.531 eastern Total enabled queues:12 Total allocated ports:5 Queue# Head Tail Length Threshold Type Red avg Port/Slot pkts index =========================================================================== 0 0 0 0 63 oq 0 0 1 0 0 0 63 oq 0 0 2 0 0 0 63 oq 0 1 3 0 0 0 63 oq 0 1 4 0 0 0 63 oq 0 2 5 0 0 0 63 oq 0 2 6 0 0 0 63 oq 0 3 7 0 0 0 63 oq 0 3 12 0 0 0 63 oq 0 5 13 0 0 0 1 oq 0 5 14 0 0 0 63 oq 0 5 15 0 0 0 63 oq 0 5The following example displays information for the same node after it has been defragmented.
RP/0/0/CPU0:router# show controllers egressq enaq location 0/1/CPU0 Wed Oct 7 22:04:45.420 eastern Total enabled queues:12 Total allocated ports:5 Queue# Head Tail Length Threshold Type Red avg Port/Slot pkts index =========================================================================== 0 0 0 0 63 oq 0 0 1 0 0 0 63 oq 0 0 2 0 0 0 63 oq 0 1 3 0 0 0 63 oq 0 1 4 0 0 0 63 oq 0 2 5 0 0 0 63 oq 0 2 6 0 0 0 63 oq 0 3 7 0 0 0 63 oq 0 3 8 0 0 0 63 oq 0 5 9 0 0 0 1 oq 0 5 10 0 0 0 63 oq 0 5 11 0 0 0 63 oq 0 5show controllers sanity
To display information about sanity checking of ingress and egress queueing ASICs, use the show controllers sanity command in EXEC mode.
Syntax Description
egressq
Displays egress queueing ASIC sanity configuration.
ingressq
Dsiplays ingress queuing ASIC sanity configuration.
location
Displays sanity checking configuration for a designated node.
node-id
Node for which sanity checking information is to be displayed. The node-id argument is entered in the rack/slot/module notation.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
This command is supported on 10 Gbps IP Services Engine (Engine 5) line cards and Multirate 10G IP Services Engines (Engine 5+) line cards only.
Task ID
Examples
The following example demonstrates how to display information on the sanity checking of the ingress queueing ASIC on location 0/2/CPU0:
RP/0/0/CPU0:router# show controllers ingressq sanity location 0/2/CPU0 Wait Timer: 60 Buffer Threshold: 5 Sanity Action Set: RecarveThe following table describes the significant fields shown in the display.
Table 3 show controllers sanity Field Descriptions Field
Description
Wait Timer
Indicates the time lapse, in seconds, between successive sanity checks.
Buffer Threshold
Indicates the remaining buffer threshold value, as a percentage. A warning will be printed on the console when the buffer threshold value is reached.
Sanity Action Set
Indicates the action to be performed when the buffer has depleted completely.
show hw-module multicast qos
To display the multicast QoS group information, use the show hw-module multicast qos command in EXEC mode.
show hw-module multicast qos [ group-info [port] location node-id | queue-info [ type instance ] location node-id | wred location node-id ]
Syntax Description
group-info
(Optional) Displays multicast QoS group information.
port
(Optional) Port number. Range is from 0 to 15.
location node-id
(Optional) Specifies multicast QoS group information for a designated node. The node-id argument is entered in the rack/slot/module notation.
queue-info
(Optional) Displays multicast QoS group queue information.
type
(Optional) Interface type. For more information, use the question mark (?) online help function.
instance
(Optional) Either a physical interface instance or a virtual interface instance:
- Physical interface instance. Naming notation is rack/slot/module/port and a slash between values is required as part of the notation.
rack: Chassis number of the rack.
slot: Physical slot number of the line card.
module: Module number. A physical layer interface module (PLIM) is always 0.
port: Physical port number of the interface.
Note In references to a Management Ethernet interface located on a Route Processor card, the physical slot number is alphanumeric (RP0 or RP1) and the module is CPU0. Example: interface MgmtEth0/RP1/CPU0/0.
- Virtual interface instance. Number range varies depending on interface type.
For more information about the syntax for the router, use the question mark (?) online help function.
wred
(Optional) Displays multicast QoS Weighted Random Early Detection (WRED) information.
Command History
Release
Modification
Release 3.3.0
This command was introduced.
Release 3.4.0
Command syntax was changed from show hw-module qos multicast to show hw-module multicast qos.
Release 3.6.0
The wred keyword was added.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
If you do not enter a node-id argument, all configured interfaces are displayed.
Task ID
Examples
The following sample output shows how to display QoS information about for Packet-over-SONET/SDH (POS) interface 0/7/0/3:
RP/0/0/CPU0:router# show hw-module multicast qos POS 0/7/0/3 output: p1 Class c1 Matched (packets/bytes) : 0/0 Marked (packets/bytes) : 0/0The following table describes the significant fields shown in the display.
Table 4 show hw-module multicast qos Field Descriptions Field
Description
POS 0/7/0/3 output: p1
POS output interface for policy p1.
Matched (packets/bytes): 0/0
Class c1 of policy p1 displays no matched packets and bytes.
Marked (packets/bytes): 0/0
Class c1 of policy p1 displays no marked packets and bytes.
Matched (packets/bytes): 10/1320
Class c2 of policy p1 displays 10 matched packets and 1320 matched bytes.
show policy-map interface
To display policy configuration information for all classes configured for all service policies on the specified interface, use the show policy-map interface command in EXEC mode.
show policy-map interface type interface-path-id [ input | output [ member type interface-path-id ] ]
Syntax Description
type
Interface type. For more information, use the question mark (?) online help function.
interface-path-id
Physical interface instance. Naming notation is rack/slot/module/port and a slash between values is required as part of the notation.
- rack—Chassis number of the rack.
- slot—Physical slot number of the line card.
- module—Module number. A physical layer interface module (PLIM) is always 0.
- port—Physical port number of the interface.
Note In references to a Management Ethernet interface located on a route processor card, the physical slot number is alphanumeric (RP0 or RP1) and the module is CPU0.
Example: interface MgmtEth0/RP1/CPU0/0.
For more information about the syntax for the router, use the question mark (?) online help function.
input
(Optional) Displays per class statistics on inbound traffic for the specified policy map and interface.
output
(Optional) Displays per class statistics on outbound traffic for the specified policy map and interface.
member
(Optional) Specifies the bundle member’s interface.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.3.0
The combined, hw, and sw keywords were added.
Release 3.4.0
The combined, hw, and sw keywords were deleted.
The pre-decrypt, post-decrypt, pre-encrypt, and post-encrypt keywords were added.
Release 3.4.1
The combined, hw, and sw keywords were added.
Release 3.5.0
The show policy-map interface command output was updated to show when a policy is suspended on a multilink or T3 interface.
The pre-decrypt, post-decrypt, post-encrypt, and pre-decrypt keywords were removed.
Release 3.6.0
The combined, hw, and sw keywords were removed.
The member type interface-path-id keyword and arguments were added.
Release 3.9.0
The show policy-map interface command output was updated to show IPHC statistics.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The show policy-map interface command displays the statistics for classes in the service policy attached to an interface.
Task ID
Examples
The following sample output shows how to display policy statistics information for all classes on the TenGigE interface 0/6/1/0 that are in the output and input direction:
RP/0/0/CPU0:router# show policy-map interface tengige 0/6/1/0 TenGigE0/6/1/0 input: policy1 Class class1 Classification statistics (packets/bytes) (rate - kbps) Matched : 0/0 0 Transmitted : 0/0 0 Total Dropped : 0/0 0 Policing statistics (packets/bytes) (rate - kbps) Policed(conform) : 0/0 0 Policed(exceed) : 0/0 0 Policed(violate) : 0/0 0 Policed and dropped : 0/0 Queueing statistics Queue ID : 44 Taildropped(packets/bytes) : 0/0 Class class-default Classification statistics (packets/bytes) (rate - kbps) Matched : 0/0 0 Transmitted : 0/0 0 Total Dropped : 0/0 0 Queueing statistics Queue ID : 44 High watermark (bytes)/(ms) : 0/0 Inst-queue-len (bytes)/(ms) : 0/0 Avg-queue-len (bytes)/(ms) : 0/0 Taildropped(packets/bytes) : 0/0 TenGigE0/6/1/0 output: policy4 Class class1 Classification statistics (packets/bytes) (rate - kbps) Matched : 0/0 0 Transmitted : 0/0 0 Total Dropped : 0/0 0 Policing statistics (packets/bytes) (rate - kbps) Policed(conform) : 0/0 0 Policed(exceed) : 0/0 0 Policed(violate) : 0/0 0 Policed and dropped : 0/0 Queueing statistics Queue ID : 51 Taildropped(packets/bytes) : 0/0 Class class-default Classification statistics (packets/bytes) (rate - kbps) Classification statistics (packets/bytes) (rate - kbps) Matched : 0/0 0 Transmitted : 0/0 0 Total Dropped : 0/0 0 Queueing statistics Queue ID : 51 High watermark (bytes)/(ms) : 0/0 Inst-queue-len (bytes)/(ms) : 0/0 Avg-queue-len (bytes)/(ms) : 0/0 Taildropped(packets/bytes) : 0/0The following sample output shows how to display policy statistics information for all classes on the Serial interface 0/0/3/0/3:0 that are in the output direction:
RP/0/0/CPU0:router# show policy-map interface Serial0/0/3/0/3:0 output show policy-map int Serial0/0/3/0/3:0 output Mon May 18 22:06:14.698 UTC Serial0/0/3/0/3:0 output: p1 Class class-default Classification statistics (packets/bytes) (rate - kbps) Matched : 0/0 0 Transmitted : 0/0 0 Total Dropped : 0/0 0 Queueing statistics Queue ID : 0 High watermark (Unknown) : 0 Inst-queue-len (packets) : 0 Avg-queue-len (packets) : 0 Taildropped(packets/bytes) : 0/0 Compression Statistics Header ip rtp Sent Total (packets) : 880 Sent Compressed (packets) : 877 Sent full header (packets) : 342 Saved (bytes) : 31570 Sent (bytes) : 24750 Efficiency improvement factor : 2.27
Note
In Classification Statistics, the total dropped packets are calculated based on the total number of policed-dropped packets and the queueing tail dropped packets. Currently, for ATM interfaces in the egress direction, the queueing tail dropped packets are not added to the classification total dropped packets.
The following table describes the significant fields shown in the display.
Table 5 show policy-map interface Field Descriptions Field
Description
Classification statistics
Matched
Number of packets or bytes that matched this class.
Transmitted
Number of packets or bytes transmitted for this class.
Total Dropped
Number of packets or bytes dropped for this class.
Policing statistics
Policed(conform)
Number of packets or bytes that conformed to the police rate for this class.
Policed(exceed)
Number of packets or bytes that exceeded the police rate for this class.
Policed(violate)
Number of packets or bytes that violated the police rate for this class.
Policed and dropped
Number of packets or bytes dropped by the policer of this class.
Queueing statistics
Queue ID
Queue number of the packet in this class.
High watermark (bytes)/(ms)
Maximum length of the queue.
Inst-queue-len (bytes)/(ms)
Instantaneous length of the queue.
Avg-queue-len (bytes)/(ms)
Average length of the queue.
Taildropped (bytes)
Number of bytes taildropped for this queue.
Compression Statistics
Sent Total
Total number of packets sent.
Sent Compressed
Number of compressed packets sent.
Sent full header
Number of packets sent with a full header.
Saved
Number of bytes saved.
Sent
Number of bytes sent.
Efficiency improvement factor
Ratio of the packet’s original full size to the packet’s compressed size.
The following example shows sample output shows when a policy has been suspended on a multilink interface:
RP/0/0/CPU0:router# show policy-map interface Multilink 0/2/0/0/201 input Multilink0/2/0/0/201 input: ps1 suspended by EA: No bandwidthshow policy-map targets
To display information about the interfaces on which policy maps are applied, use the show policy-map targets command in EXEC mode.
show policy-map targets [ location node-id | pmap-name name | type performance-traffic [ location node-id | pmap-name name ] | type qos [ location node-id | pmap-name name ] ]
Syntax Description
location node-id
(Optional) Displays information about the interfaces on which policy maps are applied for the specified location. The node-id argument is entered in the rack/slot/module notation.
pmap-name name
(Optional) Displays information about the interfaces on which the specified policy map is applied.
type performance-traffic
(Optional) Displays information about the interfaces on which Realtime Application Flow Monitoring policy maps are applied.
type qos
(Optional) Displays information about the interfaces on which QoS policy maps are applied. This is the default type.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
For a short period of time while a QoS policy is being modified, no QoS policy is active on the interface. For these reasons, modify QoS policies that affect the fewest number of interfaces at a time. Use the show policy-map targets command to identify the number of interfaces that will be affected during policy map modification.
Task ID
Examples
In this example, the Gigabit Ethernet interface 0/1/0/0 has one policy map attached as a main policy. Outgoing traffic on this interface will be affected if the policy is modified:
RP/0/0/CPU0:router# show policy-map targets Fri Jul 16 16:38:24.789 DST 1) Policymap: policy1 Type: qos Targets (applied as main policy): GigabitEthernet0/1/0/0 output Total targets: 1 Targets (applied as child policy): Total targets: 0show qos acl-deny enable
To display the acl-deny information for a particular location, use the show qos acl-deny enable command in the root configuration mode. To disable this functionality, use the no form of this command.
Syntax Description
location node-id
Displays the acl-deny function on a node. The node-id argument is entered in the rack/slot/module notation.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
This command displays the administration and operational states of the acl-deny function. The operational state dictates the current operational behavior while the administration state dictates the operational state after the next line card (LC) reload.
Task ID
show qos if-ref-bw
To display the Quality of Service (QoS) reference bandwidth, use the show qos if-ref-bw command in EXEC mode.
Syntax Description
location
Configures node for which the QoS reference bandwidth is to be displayed.
node-id
Node for which the reference bandwidth is to be displayed. The node-id argument is entered in the rack/slot/module notation.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The QoS reference bandwidth is used for the conversion of time based values to equivalent packet based interpretation.
Task ID
Examples
The following example demonstrates how to display the QoS reference bandwidth on location 0/2/CPU0. In this example, the command output indicates that the interface reference bandwidth has been enabled as the QoS reference bandwidth:
RP/0/0/CPU0:router# show qos if-ref-bw location 0/2/CPU0 QOS reference BW configuration Admin State: Interface reference BW enable. Oper State: Interface reference BW enable.The following table describes the significant fields shown in the display.
show qos interface
To display QoS information for a specific interface, use the show qos interface command in EXEC mode.
Syntax Description
type
Interface type. For more information, use the question mark (?) online help function.
interface-path-id
Either a physical interface instance or a virtual interface instance as follows:
- Physical interface instance. Naming notation is rack/slot/module/port and a slash between values is required as part of the notation.
rack : Chassis number of the rack.
slot : Physical slot number of the modular services card or line card.
module : Module number. A physical layer interface module (PLIM) is always 0.
port : Physical port number of the interface.
Note In references to a Management Ethernet interface located on a route processor card, the physical slot number is alphanumeric ( RSP0 RP0 or RP1 ) and the module is CPU0. Example: interface MgmtEth0/ RSP0 RP1 /CPU0/0.
- Virtual interface instance. Number range varies depending on interface type.
For more information about the syntax for the router, use the question mark (?) online help function.
input
Attaches the specified policy map to the input interface.
output
Attaches the specified policy map to the output interface.
location node-id
(Optional) Displays detailed QoS information for the designated node. The node-id argument is entered in the rack/slot/module notation.
Command History
Release
Modification
Release 3.2
This command was introduced.
Release 3.4.0
The pre-decrypt , post-decrypt , pre-encrypt , and post-encrypt keywords were added for IPSec.
Release 3.5.0
The show qos interface command output was updated to show when a policy is suspended on a multilink or T3 interface.
The pre-decrypt , post-decrypt , post-encrypt , and pre-decrypt keywords were removed.
Release 3.6.0
The command output now includes the following:
Release 3.9.0
Updated to support three-level hierarchical policy maps.
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The show qos interface command displays configuration for all classes in the service policy that is attached to an interface.
Use this command to check the actual values programmed in the hardware from the action keywords in the police rate command.Task ID
Examples
The following sample output shows the L2VPN QoS information on a GigabitEthernet interface:
RP/0/0/CPU0:router# show qos interface GigabitEthernet 0/2/0/0 output NOTE:- Configured values are displayed within parentheses Interface GigE0_2_0_0 -- output policy Total number of classes: 3 ------------------------------------------------------- Level1 class = c1 Egressq Queue ID = 25 (LP queue) Queue belongs to Group = 9 Queue Max. BW. = 999936 kbps (10 %) Queue Min. BW. = 0 kbps (default) Weight = 10 (BWR not configured) Shaper burst = 31248 bytes Guaranteed service rate = 1000000 kbps TailDrop Threshold = 12500000 bytes / 100 ms (default) Policer not configured for this class WRED not configured for this class Level1 class = c2 Egressq Queue ID = 26 (LP queue) Queue belongs to Group = 9 Queue Max. BW. = 10000128 kbps (default) Queue Min. BW. = 2000128 kbps (20 %) Weight = 10 (BWR not configured) Guaranteed service rate = 4666666 kbps TailDrop Threshold = 58333325 bytes / 100 ms (default) Policer not configured for this class WRED not configured for this class Level1 class = class-default Egressq Queue ID = 9 (Group default LP queue) Queue belongs to Group = 9 Queue Max. BW. = 10000128 kbps (default) Queue Min. BW. = 0 kbps (default) Weight = 10 (BWR not configured) Guaranteed service rate = 1000000 kbps TailDrop Threshold = 12500000 bytes / 100 ms (default) Policer slot # = 224 Policer committed rate = 1000000 kbps (10 %) Policer conform burst = 2097120 bytes (default) Policer conform action = Just TX Policer exceed action = DROP PKT WRED not configured for this classThe following table describes the significant fields shown in the display.
Table 7 show QoS interface Field Descriptions Field
Description
LEVEL1 class
Level 1 class identifier in hexadecimal format.
class name
Name that was assigned to this class with the class command.
Queue ID
Queue identifier.
Queue Min. BW
Minimum bandwidth allowed on this queue.
Queue Max. BW
Maximum bandwidth allowed on this queue.
Queue Max. Burst
Maximum burst size allowed on this queue.
Weight
Weight assigned to the specified class.
If no weight has been assigned, the show policy-map interface command output shows “No explicit weight assigned for this class.”
Queue Limit
Configured queue limit.
Policer average
Average Committed Information Rate (CIR) in bits per second (bps), gigabits per second (gbps), kilobits per second (KBits), or megabits per second (mbps).
Policer conform burst
Configured burst size, expressed in bytes, gigabytes (GB), kilobytes (KB), megabytes (MB), milliseconds (ms), or microseconds (us).
Policer excess burst
Programmed burst size for conforming cells, expressed in bytes, gigabytes (GB), kilobytes (KB), megabytes (MB), milliseconds (ms), or microseconds (us).
Policer conform action
Policer conform action.
Policer exceed action
Policer exceed action.
Policer violate
Indicates whether the device supports excess burst size configuration. In the example, excess burst size configuration is supported for transmitted cells only.
Policer exceed action value
Policer exceed action value.
Policer violate action
Policer violate action.
The following example shows a sample display of three-level QoS policy configuration information on a GigabitEthernet interface.
RP/0/0/CPU0:router# show qos interface gigabitethernet 0/0/0/0 output Interface GigabitEthernet0_0_0_0 -- Direction: output Policy : 3level-p Total number of classes: 5 -------------------------------------------------------- LEVEL1 class: classid = 0x1 class name = class-default Queue Max. BW. = 20 mbits/sec (19968 kbps) LEVEL2 class: classid = 0x2 class name = prec1 queue ID = 6 port ID = 0 Queue Max. BW. = 10 mbits/sec (9984 kbps) Queue Limit = 1024 packets (1024 pkts) LEVEL3 class: classid = 0x3 class name = qosgrp2 Policer average = 3 mbits/sec (3008 kbps) Policer conform action = Just TX Policer exceed action = DROP PKT LEVEL3 class: classid = 0x4 class name = class-default Policer average = 2 mbits/sec (2000 kbps) Policer conform action = Just TX Policer exceed action = DROP PKT LEVEL2 class: classid = 0x5 class name = class-default queue ID = 7 port ID = 0 Weight = 1 Queue Limit = 1024 packets (1024 pkts)The following table describes the significant fields shown in the display.
Table 8 show QoS interface Field Descriptions (three-level policy) Field
Description
LEVEL1 class
Level 1 class identifier in hexadecimal format.
LEVEL2 class
Level 2 class identifier in hexadecimal format.
LEVEL3 class
Level 3 class identifier in hexadecimal format.
class name
Name that was assigned to this class with the class command.
Queue ID
Queue identifier.
Queue Min. BW
Minimum bandwidth allowed on this queue.
Queue Max. BW
Maximum bandwidth allowed on this queue.
Queue Max. Burst
Maximum burst size allowed on this queue.
Weight
Weight assigned to the specified class.
If no weight has been assigned, the show policy-map interface command output shows “No explicit weight assigned for this class.”
Queue Limit
Configured queue limit.
Policer average
Average Committed Information Rate (CIR) in bits per second (bps), gigabits per second (gbps), kilobits per second (KBits), or megabits per second (mbps).
Policer conform burst
Configured burst size, expressed in bytes, gigabytes (GB), kilobytes (KB), megabytes (MB), milliseconds (ms), or microseconds (us).
Policer excess burst
Programmed burst size for conforming cells, expressed in bytes, gigabytes (GB), kilobytes (KB), megabytes (MB), milliseconds (ms), or microseconds (us).
Policer conform action
Policer conform action.
Policer exceed action
Policer exceed action.
Policer violate
Indicates whether the device supports excess burst size configuration. In the example, excess burst size configuration is supported for transmitted cells only.
Policer exceed action value
Policer exceed action value.
Policer violate action
Policer violate action.
show qos pol-gran location
To display policer granularity for a SPA Interface Processor, use the show qos pol-gran location command in EXEC mode.
Syntax Description
interface-path-id
Physical location of the Shared Interface Processor (SIP). Naming notation is rack/slot/module and a slash between values is required as part of the notation.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The show qos interface command displays policer granularity for a SPA Interface Processor and all of its installed SPAs. Use this command to verify the policer granularity configured using the hw-module qos pol-gran location command.
Task ID
Examples
The following sample output shows the configured (8 kbps) and default (64 kbps) policer granularity for the SIP at location 0/1/CPU0:
RP/0/0/CPU0:router# show qos pol-gran location 0/1/CPU0 QoS Policer Granularity Rate Admin Value: 8 kbps Oper Value: 64 kbpsThe following table describes the significant fields shown in the display.
switch-fabric service-policy
To configure a service policy for the switch fabric, use the switch-fabric service-policy command in global configuration mode. To remove a specified service policy from the switch fabric, use the no form of this command.
Syntax Description
policy-map-name
Name of the predefined policy map to be used as a QoS policy. The name can be a maximum of 40 alphanumeric characters.
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
Task ID
violate-action
To configure the action to take on packets that violate the rate limit, use the violate-action command in policy map police configuration mode. To remove a conform action from the policy-map, use the no form of this command.
Syntax Description
Command History
Usage Guidelines
To use this command, you must be in a user group associated with a task group that includes the proper task IDs. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
For more information regarding the traffic policing feature refer to the police rate command.
The violate-action command can set the DSCP, the precedence, or the discard class for IP packets, and experimental and discard-class values for MPLS packets.
Task ID
Examples
In the following example for MPLS, traffic policing is configured to drop packets that violate the rate limit:
RP/0/0/CPU0:router(config)# class-map class1 RP/0/0/CPU0:router(config-cmap)# match mpls experimental topmost 0 RP/0/0/CPU0:router(config-cmap)# exit RP/0/0/CPU0:router(config)# policy-map policy1 RP/0/0/CPU0:router(config-pmap)# class class1 RP/0/0/CPU0:router(config-pmap-c)# police rate 250 kbps burst 50 RP/0/0/CPU0:router(config-pmap-c-police)# violate-action drop RP/0/0/CPU0:router(config-pmap-c-police)# exit RP/0/0/CPU0:router(config-pmap-c)# exit RP/0/0/CPU0:router(config-pmap)# exit RP/0/0/CPU0:router(config)# interface gigabitethernet 0/1/0/9 RP/0/0/CPU0:router(config-if) service-policy input policy1Related Commands
Command
Description
Configures the action to take on packets that conform to the rate limit.
Configures the action to take on packets that exceed the rate limit.
Configures traffic policing and enters policy map police configuration mode.
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
Displays policy configuration information for all classes configured for all service policies on the specified interface.