Cisco IOS XR Modular Quality of Service Configuration Guide for the Cisco CRS Router, Release 4.3.x
Configuring Modular QoS Service Packet Classification
Downloads: This chapterpdf (PDF - 1.9MB) The complete bookPDF (PDF - 4.51MB) | Feedback

Configuring Modular QoS Service Packet Classification

Contents

Configuring Modular QoS Service Packet Classification

Packet classification identifies and marks traffic flows that require congestion management or congestion avoidance on a data path. The Modular Quality of Service (QoS) command-line interface (MQC) is used to define the traffic flows that should be classified, where each traffic flow is called a class of service, or class. Subsequently, a traffic policy is created and applied to a class. All traffic not identified by defined classes falls into the category of a default class.

This module provides the conceptual and configuration information for QoS packet classification.

Feature History for Configuring Modular QoS Packet Classification on Cisco IOS XR Software

Release

Modification

Release 2.0

The Packet Classification feature was introduced.

Release 3.2

IPv6 addressing was supported for the match dscp and match precedence commands.

Release 3.3.0

The Hierarchical Ingress Policing feature was introduced.

The following commands were added:

The qos-group keyword was added to the set discard-class command.

The discard-class keyword was added to the set qos-group command.

The maximum number of classes permitted per policy map increased from 16 to 32.

The not keyword was added to all match commands, except the match access-group command.

Release 3.4.0

The match vlan command range was changed from 0 to 8096 to 1 to 4094.

Release 3.6.0

The Fabric Quality of Service Policies and Classes content was moved to a new module. See Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software.

Policy Propagation using BGP (QPPB) feature was introduced.

The maximum number of classes permitted for each policy map was increased from 32 to 512.

The match not vlan command was not supported.

The match-all keyword was removed from the class-map command.

Release 3.8.0

The In-Place Policy Modification feature was introduced.

Support for VPLS QoS was introduced.

The Unconditional Multiple Action Set feature was introduced.

Support for the ATM CLP bit was introduced.

Release 3.9.0

Added support for match precendence tunnel and match dscp tunnel for some Layer 2 ingress interfaces (CSCsv50430).

Release 4.0.0

Removed the for ATM on Layer 2 VPN section—it is not supported.

Release 4.1.0

Support for dynamic modification of interface bandwidth was introduced.

Prerequisites for Configuring Modular QoS Packet Classification

The following prerequisites are required for configuring modular QoS packet classification on your network:

  • 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.
  • You must be familiar with Cisco IOS XR QoS configuration tasks and concepts.

Information About Configuring Modular QoS Packet Classification

To implement QoS packet classification features in this document, you must understand the following concepts:

Packet Classification Overview

Packet classification involves categorizing a packet within a specific group (or class) and assigning it a traffic descriptor to make it accessible for QoS handling on the network. The traffic descriptor contains information about the forwarding treatment (quality of service) that the packet should receive. Using packet classification, you can partition network traffic into multiple priority levels or classes of service. The source agrees to adhere to the contracted terms and the network promises a quality of service. Traffic policers and traffic shapers use the traffic descriptor of a packet to ensure adherence to the contract.

Traffic policers and traffic shapers rely on packet classification features, such as IP precedence, to select packets (or traffic flows) traversing a router or interface for different types of QoS service. For example, by using the three precedence bits in the type of service (ToS) field of the IP packet header, you can categorize packets into a limited set of up to eight traffic classes. After you classify packets, you can use other QoS features to assign the appropriate traffic handling policies including congestion management, bandwidth allocation, and delay bounds for each traffic class.

Methods of classification may consist of the logical combination of any fields in the packet header, where a packet header may be a Layer 2, a Layer 3, or a Layer 4 header; or classification based on the incoming or outgoing physical or virtual interface.

For ATM, ingress QoS is implemented in the modular services card (MSC). Egress marking and policing are implemented in the MSC. Egress queueing features are implemented in the shared port adapter (SPA). For egress features that are implemented in the SPA, classification is still done in the MSC.

Traffic Class Elements

The purpose of a traffic class is to classify traffic on your router. Use the class-map command to define a traffic class.

A traffic class contains three major elements: a name, a series of match commands, and, if more than one match command exists in the traffic class, an instruction on how to evaluate these match commands. The traffic class is named in the class-map command. For example, if you use the word cisco with the class-map command, the traffic class would be named cisco.


Note


The class-map command supports the match-any keyword only. The match-all keyword is not supported.


The match commands are used to specify various criteria for classifying packets. Packets are checked to determine whether they match the criteria specified in the match commands. If a packet matches the specified criteria, that packet is considered a member of the class and is forwarded according to the QoS specifications set in the traffic policy. Packets that fail to meet any of the matching criteria are classified as members of the default traffic class. See the Default Traffic Class, page 18.

The instruction on how to evaluate these match commands needs to be specified if more than one match criterion exists in the traffic class. The evaluation instruction is specified with the class-map match-any command. If the match-any option is specified as the evaluation instruction, the traffic being evaluated by the traffic class must match at least one of the specified criteria. The match-any keyword is the only evaluation option supported.

Table 1 lists the traffic class match criteria supported on the Cisco CRS router.


Note


Unless otherwise indicated, the match criteria for Layer 3 physical interfaces applies to bundle interfaces.


Match Criteria(1) (2)

Layer 2 Ingress

Layer 2 Egress

Layer 3 Ingress

Layer 3 Egress

 

PAC(3)

CAC(4)

p-C(5)

PAC

CAC

p-C

Phy(6)

SIf(7)

P-SIf(8)

Phy

SIf

P-SIf

prec

N

N

N

N

N

N

Y

Y

Y

Y

Y

Y

dscp

N

N

N

N

N

N

Y

Y

Y

Y

Y

Y

vlan

Y

N

Y

Y

N

Y

Y

N

Y

Y

N

Y

CoS

Y

Y

Y

Y

Y

Y

Y(9)

Y9

Y9

N

N

N

qos-group

N

N

N

Y

Y

Y

Y

Y

Y

Y

Y

Y

discard-class

N

N

N

Y

Y

Y

N

N

N

Y

Y

Y

EXP

N

N

N

N

N

N

Y

Y

Y

Y

Y

Y

protocol

N

N

N

N

N

N

Y

Y

Y

Y

Y

Y

access-group

N

N

N

N

N

N

Y

Y

Y

Y

Y

Y

mac, src

Y

Y

Y

N

N

N

N

N

Y

N

N

N

mac, dst

N

N

N

Y

Y

Y

N

N

N

N

N

Y

srp-priority(10)

N

N

N

N

N

N

Y9

Y9

Y9

N

N

N

vpls known

Y

Y

Y

N

N

N

N

N

Y

N

N

Y

vpls unknown

Y

Y

Y

N

N

N

N

N

Y

N

N

Y

vpls multicast

Y

Y

Y

N

N

N

N

N

Y

N

N

Y

match atm-clp(11)

Y

Y

N

N

N

N

N

Y

N

N

N

N

1 (1) NOTE: match qos-group is supported on ingress (Layer 3) for QPPB only.
2 (2) NOTE: match not is not supported with vlan, access-group, src-mac, or dst-mac matches.
3 (3) PAC=port attachment circuit.
4 (4) CAC=customer attachment circuit.
5 (5) p-C-physical interface with underlying CACs.
6 (6) Phy=physical interface.
7 (7) SIIf=subinterface.
8 (8) P-SIf=physical interface with underlying subinterfaces.
9 (9) Not supported on bundle interfaces.
10 (10) Not supported on the Cisco CRS Series Modular Services Card 140G (CRS-MSC-140G).
11 (11) The only match criteria supported on ATM interfaces.

The function of these commands is described more thoroughly in the Cisco IOS XR Modular Quality of Service Command Reference for the Cisco CRS Router.

The traffic class configuration task is described in the Creating a Traffic Class, page 32.

Traffic Policy Elements

The purpose of a traffic policy is to configure the QoS features that should be associated with the traffic that has been classified in a user-specified traffic class or classes. The policy-map command is used to create a traffic policy. A traffic policy contains three elements: a name, a traffic class (specified with the class command), and the QoS policies. The name of a traffic policy is specified in the policy map MQC (for example, the policy-map policy1 command creates a traffic policy named policy1). The traffic class that is used to classify traffic to the specified traffic policy is defined in class map configuration mode. After choosing the traffic class that is used to classify traffic to the traffic policy, the user can enter the QoS features to apply to the classified traffic.

The MQC does not necessarily require that users associate only one traffic class to one traffic policy. When packets match to more than one match criterion, as many as 512 traffic classes can be associated to a single traffic policy. The 512 class maps include the default class and the classes of the child policies, if any.

The order in which classes are configured in a policy map is important. The match rules of the classes are programmed into the TCAM in the order in which the classes are specified in a policy map. Therefore, if a packet can possibly match multiple classes, only the first matching class is returned and the corresponding policy is applied.

The function of these commands is described more thoroughly in the Cisco IOS XR Modular Quality of Service Command Reference for the Cisco CRS Router.

The traffic policy configuration task is described in “Creating a Traffic Policy” section on page 38.

Default Traffic Class

Unclassified traffic (traffic that does not meet the match criteria specified in the traffic classes) is treated as belonging to the default traffic class.

If the user does not configure a default class, packets are still treated as members of the default class. However, by default, the default class has no enabled features. Therefore, packets belonging to a default class with no configured features have no QoS functionality. These packets are then placed into a first in, first out (FIFO) queue and forwarded at a rate determined by the available underlying link bandwidth. This FIFO queue is managed by a congestion avoidance technique called tail drop. For further information about congestion avoidance techniques, such as tail drop, see Configuring Modular QoS Congestion Avoidance on Cisco IOS XR Software module.

Port Shape Policies

When a port shaping policy is applied to a main interface, individual regular service policies can also be applied on its subinterfaces. Port shaping policy maps have the following restrictions:

  • class-default is the only allowed class map.
  • The shape class action is the only allowed class action.
  • They can only be configured in the egress direction.
  • They can only be applied to main interfaces, not to subinterfaces.
  • Two- and three- level policies are not supported. Only one level or flat policies are supported.

If any of the above restrictions are violated, the configured policy map isapplied as a regular policy, not a port shaping policy.

Class-based Unconditional Packet Marking Feature and Benefits

The Class-based, Unconditional Packet Marking feature provides users with a means for efficient packet marking by which the users can differentiate packets based on the designated markings.

The Class-based, Unconditional Packet Marking feature allows users to perform the following tasks:

  • Mark packets by setting the IP precedence bits or the IP differentiated services code point (DSCP) in the IP ToS byte.
  • Mark Multiprotocol Label Switching (MPLS) packets by setting the EXP bits within the imposed or topmost label.
  • Mark packets by setting the value of the qos-group argument.
  • Mark packets by setting the value of the discard-class argument.

Unconditional packet marking allows you to partition your network into multiple priority levels or classes of service, as follows:

  • Use QoS unconditional packet marking to set the IP precedence or IP DSCP values for packets entering the network. Routers within your network can then use the newly marked IP precedence values to determine how the traffic should be treated. For example, weighted random early detection (WRED), a congestion avoidance technique, uses IP precedence values to determine the probability that a packet is dropped. In addition, low-latency queueing (LLQ) can then be configured to put all packets of that mark into the priority queue.
  • Use QoS unconditional packet marking to assign MPLS packets to a QoS group. The router uses the QoS group to determine how to prioritize packets for transmission. To set the QoS group identifier on MPLS packets, use the set qos-group command in policy map class configuration mode.
  • Use CoS unconditional packet marking to assign packets to set the priority value of 802.1p/Inter-Switch Link (ISL) packets. The router uses the CoS value to determine how to prioritize packets for transmission and can use this marking to perform Layer 2-to-Layer 3 mapping. To set the Layer 2 CoS value of an outgoing packet, use the set cos command in policy map configuration mode.

The configuration task is described in the Configuring Class-based Unconditional Packet Marking, page 46.

Table 2 shows the supported class-based unconditional packet marking operations.


Note


Unless otherwise indicated, the class-based unconditional packet marking for Layer 3 physical interfaces applies to bundle interfaces.


Marking Operation

Layer 2 Ingress

Layer 2 Egress

Layer 3 Ingress

Layer 3 Egress

 

PAC(1)

CAC(2)

p-C(3)

PAC

CAC

p-C

Phy(4)

SIf(5)

P-SIf(6)

Phy

SIf

P-Sif

prec

N

N

N

N

N

N

Y

Y

Y

Y

Y

Y

prec tunnel

Y

Y

Y

N

N

N

Y

Y

Y

N

N

N

dscp

N

N

N

N

N

N

Y

Y

Y

Y

Y

Y

dscp tunnel

Y

Y

Y

N

N

N

Y

Y

Y

N

N

N

CoS

N

N

N

Y

Y

Y

N

N

N

Y

Y

Y

srp-priority(7)

N

N

N

Y

Y

Y

N

N

N

Y

Y

Y

qos-group

Y

Y

Y

N

N

N

Y

Y

Y

N

N

N

discard-class

Y

Y

Y

N

N

N

Y

Y

Y

N

N

N

EXP, imposition

Y

Y

Y

N

N

N

Y

Y

Y

N

N

N

EXP, topmost

N

N

N

N

N

N

Y

Y

Y

Y

Y

Y

atm-clp(8)

N

N

N

N

N

N

N

N

N

N

Y

N

12 (1) PAC=port attachment circuit.
13 (2) CAC=customer attachment circuit.
14 (3) p-C=physical interface with underlying CACs.
15 (4) Phy=physical interface.
16 (5) SIf=subinterface.
17 (6) P-SIf=physical interface with underlying subinterfaces.
18 (7) Not supported on the CRS-MSC-140G.
19 (8) Supported only on ATM subinterfaces.

Unconditional Multiple Action Set

The Unconditional Multiple Action Set feature allows you to mark packets with unconditional multiple action sets through a class map. The following unconditional markings are supported.

Unconditional Ingress Markings

Both the discard-class and qos-group packets are marked independent of other markings. In addition to the discard-class and qos-group, at the maximum, two set actions are supported in each of the data paths (IP, MPLS, and Layer 2).

In a hierarchical policy, markings for a parent and markings for a child cannot exceed more than two actions, which is different from the discard-class and qos-group packets.

If the same type of marking is configured in both parent and child, it is considered as a single marking as child marking overrides the parent marking.

Table 3 lists the unconditional QoS ingress markings that are supported for IP, MPLS, or Layer 2 data paths.


Note


Unless otherwise indicated, the unconditional QoS ingress marking for Layer 3 physical interfaces applies to bundle interfaces.


Common Packets for IP, MPLS, or Layer 2

Layer 3 IP Packets

Layer 3 MPLS Packets

Layer 2 Packets

discard-class

dscp or precedence(1)

MPLS experimental imposition

MPLS experimental imposition

qos-group

tunnel dscp or tunnel precedence(2)

MPLS experimental topmost

tunnel dscp or tunnel precedence

MPLS experimental imposition

20 (1) Both DSCP and precedence packets are mutually exclusive.
21 (2) Both tunnel DSCP and tunnel precedence packets are mutually exclusive.
Unconditional Egress Markings

Both cos and srp-priority packets are marked as independent from other markings. In addition to the cos and srp-priority packets, one more set action is supported in the IP and MPLS data paths. In a hierarchical policy, markings for a parent and markings for a child cannot exceed more than one, which is different from the cos and srp-priority packets.

If the same type of marking is used for both a parent and child, the marking type is considered as a single marking as the marking at child level overrides the marking at parent level.

Table 4 lists the unconditional QoS egress markings that are supported for IP, MPLS, or Layer 2 data paths.


Note


Unless otherwise indicated, the unconditional QoS egress marking for Layer 3 physical interfaces applies to bundle interfaces.


Common Packets for IP, MPLS, or Layer 2

Layer 3 IP Packets

Layer 3 MPLS Packets

cos or srp-priority(1)

dscp or precedence(2)

MPLS experimental topmost

22 (1) Both cos and srp-priority packets are mutually exclusive; srp-priority is not supported on the CRS-MSC-140G.
23 (2) Both DSCP and precedence packets are mutually exclusive.

Note


For a list of supported conditional marking operations, see Table 3 in the Configuring Modular Quality of Service Congestion Management on Cisco IOS XR Software module.


Specification of the CoS for a Packet with IP Precedence

Use of IP precedence allows you to specify the CoS for a packet. You use the three precedence bits in the ToS field of the IP version 4 (IPv4) header for this purpose. Figure 1 shows the ToS field.

Figure 1. IPv4 Packet Type of Service Field

Using the ToS bits, you can define up to eight classes of service. Other features configured throughout the network can then use these bits to determine how to treat the packet in regard to the ToS to grant it. These other QoS features can assign appropriate traffic-handling policies, including congestion management strategy and bandwidth allocation. For example, although IP precedence is not a queueing feature, queueing features, such as LLQ, can use the IP precedence setting of the packet to prioritize traffic.

By setting precedence levels on incoming traffic and using them in combination with the Cisco IOS XR QoS queueing features, you can create differentiated service.

So that each subsequent network element can provide service based on the determined policy, IP precedence is usually deployed as close to the edge of the network or administrative domain as possible. You can think of IP precedence as an edge function that allows core, or backbone, QoS features, such as WRED, to forward traffic based on CoS. IP precedence can also be set in the host or network client, but this setting can be overridden by policy within the network.

The configuration task is described in the “Configuring Class-based Unconditional Packet Marking” section on page 46.

IP Precedence Bits Used to Classify Packets

Use the three IP precedence bits in the ToS field of the IP header to specify the CoS assignment for each packet. As mentioned earlier, you can partition traffic into a maximum of eight classes and then use policy maps to define network policies in terms of congestion handling and bandwidth allocation for each class.

For historical reasons, each precedence corresponds to a name. These names are defined in RFC 791. Table 5 lists the numbers and their corresponding names, from least to most important.

Table 1 IP Precedence Values

Number

Name

0

routine

1

priority

2

immediate

3

flash

4

flash-override

5

critical

6

internet

7

network

The IP precedence feature allows you considerable flexibility for precedence assignment. That is, you can define your own classification mechanism. For example, you might want to assign precedence based on application or access router.


Note


IP precedence bit settings 6 and 7 are reserved for network control information, such as routing updates.


IP Precedence Value Settings

By default, Cisco IOS XR software leaves the IP precedence value untouched. This preserves the precedence value set in the header and allows all internal network devices to provide service based on the IP precedence setting. This policy follows the standard approach stipulating that network traffic should be sorted into various types of service at the edge of the network and that those types of service should be implemented in the core of the network. Routers in the core of the network can then use the precedence bits to determine the order of transmission, the likelihood of packet drop, and so on.

Because traffic coming into your network can have the precedence set by outside devices, we recommend that you reset the precedence for all traffic entering your network. By controlling IP precedence settings, you prohibit users that have already set the IP precedence from acquiring better service for their traffic simply by setting a high precedence for all of their packets.

The class-based unconditional packet marking, LLQ, and WRED features can use the IP precedence bits.

You can use the following features to set the IP precedence in packets:

IP Precedence Compared to IP DSCP Marking

IP precedence and DSCP markings are used to decide how packets should be treated in WRED.

The IP DSCP value is the first six bits in the ToS byte, and the IP precedence value is the first three bits in the ToS byte. The IP precedence value is actually part of the IP DSCP value. Therefore, both values cannot be set simultaneously. If both values are set simultaneously, the packet is marked with the IP DSCP value.

If you need to mark packets in your network and all your devices support IP DSCP marking, use the IP DSCP marking to mark your packets because the IP DSCP markings provide more unconditional packet marking options. If marking by IP DSCP is undesirable, however, or if you are unsure if the devices in your network support IP DSCP values, use the IP precedence value to mark your packets. The IP precedence value is likely to be supported by all devices in the network.

You can set up to 8 different IP precedence markings and 64 different IP DSCP markings.

QoS Policy Propagation Using Border Gateway Protocol

Packet classification identifies and marks traffic flows that require congestion management or congestion avoidance on a data path. Quality-of-service Policy Propagation Using Border Gateway Protocol (QPPB) allows you to classify packets by Qos Group ID, based on access lists (ACLs), Border Gateway Protocol (BGP) community lists, BGP autonomous system (AS) paths, Source Prefix address, or Destination Prefix address. After a packet has been classified, you can use other QoS features such as policing and weighted random early detection (WRED) to specify and enforce policies to fit your business model.

QoS Policy Propagation Using BGP (QPPB) allows you to map BGP prefixes and attributes to Cisco Express Forwarding (CEF) parameters that can be used to enforce traffic policing. QPPB allows BGP policy set in one location of the network to be propagated using BGP to other parts of the network, where appropriate QoS policies can be created.

QPPB supports both the IPv4 and IPv6 address-families.

QPPB allows you to classify packets based on the following:

  • Access lists.
  • BGP community lists. You can use community lists to create groups of communities to use in a match clause of a route policy. As with access lists, you can create a series of community lists.
  • BGP autonomous system paths. You can filter routing updates by specifying an access list on both incoming and outbound updates, based on the BGP autonomous system path.
  • Source Prefix address. You can classify a set of prefixes coming from the address of a BGP neighbor(s).
  • Destination Prefix address. You can classify a set of BGP prefixes.

Classification can be based on the source or destination address of the traffic. BGP and CEF must be enabled for the QPPB feature to be supported.


Note


The Cisco CRS router does not support ip-precedence-based QPPB (support only for qos-based QPPB).


Hierarchical Ingress Policing

The Hierarchical Ingress Policing feature is an MQC-based solution that supports hierarchical policing on ingress interfaces.

This feature allows enforcement of service level agreements (SLA) while applying the classification submodel for different QoS classes on the inbound interface.

The hiearachical ingress policing provides support at two levels:

  • Parent level
  • Child level

Hierarchical policing allows policing of individual traffic classes as well as on a collection of traffic classes. This is useful in a situation where you want the collective police rate to be less than the sum of individual police (or maximum) rates.

In a child policy, the reference used for percentage police rates is the net maximum rate of the parent class. Net maximum is the lower of the configured shape and police rates in a class. The maximum police rate is that rate for which the action is to drop traffic. If the percentage or peak rate keywords do not have associated drop actions, then police rates do not influence the net maximum rate of a class.

Ingress Queuing Support

Ingress queuing is disabled for some linecards.

The tables below list out the ingress queuing support for fixed port and modular linecards.


Note


Ingress queuing is not supported on ASR9K-SIP-700 linecards.


Fixed port linecard

LC type Ingress Queuing Support

A9K-24x10GE-SE

Yes

A9K-24x10GE-TR

Yes

A9K-36x10GE-SE

No

A9K-36x10GE-TR

No

A9K-2x100GE-SE

No

A9K-2x100GE-TR

No

A9K-1x100GE-SE

No

A9K-1x100GE-TR

No

Ingress Queuing Support for Modular Linecards

LC type EP type Ingress Queuing Support

A9K-MOD80-SE

A9K-MPA-20X1GE

Yes

A9K-MOD80-SE

A9K-MPA-4X10GE

No

A9K-MOD80-SE

A9K-MPA-2X10GE

Yes

A9K-MOD80-SE

A9K-MPA-1X40GE

No

A9K-MOD80-TR

A9K-MPA-20X1G

Yes

A9K-MOD80-TR

A9K-MPA-4X10GE

No

A9K-MOD80-TR

A9K-MPA-2X10GE

Yes

A9K-MOD80-TR

A9K-MPA-1X40GE

No

A9K-MOD160-SE

A9K-MPA-20X1G

Yes

A9K-MOD160-SE

A9K-MPA-4X10GE

Yes

A9K-MOD160-SE

A9K-MPA-2X10GE

Yes

A9K-MOD160-SE

A9K-MPA-1X40GE

No

A9K-MOD160-SE

A9K-MPA-2X40GE

No

A9K-MOD160-SE

A9K-MPA-8X10GE

No

A9K-MOD160-TR

A9K-MPA-20X1G

Yes

A9K-MOD160-TR

A9K-MPA-4X10GE

Yes

A9K-MOD160-TR

A9K-MPA-2X10GE

Yes

A9K-MOD160-TR

A9K-MPA-1X40GE

No

A9K-MOD160-TR

A9K-MPA-2X40GE

No

A9K-MOD160-TR

A9K-MPA-8X10GE

No

ASR9001-LC

Chassis fixed 4X10GE

No

ASR9001-LC

A9K-MPA-4X10GE

No

ASR9001-LC

A9K-MPA-2X10GE

No

ASR9001-LC

A9K-MPA-1X40GE

No

ASR9001-LC

A9K-MPA-20X1GE

No

In-Place Policy Modification

The In-Place Policy Modification feature allows you to modify a QoS policy even when the QoS policy is attached to one or more interfaces. When you modify the QoS policy attached to one or more interfaces, the QoS policy is automatically modified on all the interfaces to which the QoS policy is attached. A modified policy is subject to the same checks that a new policy is subject to when it is bound to an interface

However, if the policy modification fails on any one of the interfaces, an automatic rollback is initiated to ensure that the earlier policy is effective on all the interfaces. After successfully modifying a policy, the modifications take effect on all the interfaces to which the policy is attached.

The configuration session is blocked until the policy modification is successful on all the relevant interfaces. In case of a policy modification failure, the configuration session is blocked until the rollback is completed on all relevant interfaces.


Note


You cannot resume the configuration on the routers until the configuration session is unblocked.


When a QoS policy attached to an interface is modified, QoS is first disabled on the interface, hardware is reprogrammed for the modified policy, and QoS is reenabled on the interface. For a short period of time, no QoS policy is active on the interface. In addition, the QoS statistics for the policy that is attached to an interface is lost (reset to 0) when the policy is modified.

Modifications That Can Trigger In-Place Policy Modifications

Recommendations for Using In-Place Policy Modification

For a short period of time while a QoS policy is being modified, no QoS policy is active on the interface. In the unlikely event that the QoS policy modification and rollback both fail, the interface is left without a QoS policy.

For these reasons, it is best to 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.

Dynamic Modification of Interface Bandwidth

This section describes the dynamic modification of interface bandwidth feature.

Gigabit Ethernet SPA with Copper SFP

For a Gigabit Ethernet interface containing copper small form-factor pluggable (SFP) modules, the interface bandwidth could change dynamically due to autonegotiation. If the new interface bandwidth is compatible with the current interface and feature configuration, no user action is required. If the new bandwidth is not compatible, the system displays an error notification message, and continues to handle traffic on a best-efforts basis. User action is required in this situation to overcome the error condition.

The content of the error notification is based on the policy states listed in the “Policy States” section on page 30.

This feature is supported on the copper Gigabit Ethernet interfaces in these shared port adapters (SPAs):

  • SPA-5X1GE-V2
  • SPA-8X1GE-V2
  • SPA-10X1GE-V2

POS Interfaces On SPA-8xOC12-POS

The dynamic modification of interface bandwidth feature is supported on the SPA-8xOC12-POS. The bandwidth of the POS interface changes when an OC-12 SFP is removed and replaced with an OC-3 SFP, or when an OC-3 SFP is replaced with an OC-12 SFP. If the new interface bandwidth is compatible with the current interface and feature configuration, no user action is required. If the new bandwidth is not compatible, the system displays an error notification message, and continues to handle traffic on a best-efforts basis. User action is required in this situation to overcome the error condition.

The content of the error notification is based on the policy states listed in the “Policy States” section on page 30.

Policy States

During the dynamic bandwidth modification process, if the modification is successful, the system does not display policy state information. However, if an error occurs, the system places the interface in one of these states and provides a policy-state error notification:

  • Verification—This state indicates an incompatibility of the configured QoS policy with respect to the new interface bandwidth value. The system handles traffic on a best-efforts basis and some traffic drops can occur.
  • Hardware programming—This state indicates a hardware programming failure caused by one of these conditions:
    • The modification of the interface default QoS resources encountered hardware update failures.
    • The modification of QoS resources (associated with the applied QoS policy) encountered hardware update failures. With either of these failures, hardware programming could be in an inconsistent state, which can impact features such as policing, queueing and marking. Therefore, the system disables QoS policy in hardware for these error conditions.
  • Reset—In response to user reconfiguration of QoS policy, the system attempts to apply the new policy but fails; the fallback to the previous QoS policy also fails.

If you receive notification of any of these policy states, you need to reconfigure the QoS policy to clear this condition.

Use the show qos interface and show policy-map interface commands to query the QoS state of the interface. The system displays the QoS policy status if the interface is in one of the error states (verification, hardware programming, or reset), but does not display it if the state is active.

Example

            
            
RP/0/RP1/CPU0:router# show qos interface gigabitEthernet 0/7/5/0 input
Wed Dec  8 09:00:29.092 UTC
NOTE:- Configured values are displayed within parentheses
Interface GigabitEthernet0/7/5/0  --   input policy
Total number of classes:       2
Interface Bandwidth:           1000000 kbps
 
             QoS Policy Status:             Failed to verify QoS policy parameters < verification state
------------------------------------------------
Level1 class                             =   c1
Ingressq Queue ID                        =   53 (LP queue)
Queue belongs to Port                    =   10
Queue Max. BW.                           =   150016 kbps (150 mbits/sec)
Weight                                   =   10 (BWR not configured)
Guaranteed service rate                  =   150000 kbps
TailDrop Threshold                       =   1875000 bytes / 100 ms (default)
Policer not configured for this class
WRED not configured for this class

Level1 class                             =   class-default
Ingressq Queue ID                        =   32 (Port default LP queue)
Queue belongs to Port                    =   10
Queue Max. BW.                           =   1000064 kbps (default)
Weight                                   =   10 (BWR not configured)
Guaranteed service rate                  =   500000 kbps
TailDrop Threshold                       =   6250000 bytes / 100 ms (default)
Policer not configured for this class
WRED not configured for this class

Bidirectional Forwarding Detection Echo Packet Prioritization

If no QoS policy is attached to the interface on which BFD echo packets are received and switched back, then the BFD echo packets are marked as vital packets (when received) and are sent to the high priority queue in the ingressq ASIC reserved for transit control traffic.

If ingress QOS policy is present on the interface on which BFD echo packets are received and switched back, then the BFD echo packets are marked as vital packets (when received) and all QOS actions of the matching class except for taildrop and WRED are performed on the packets. The packets are then sent to the high priority queue in the ingressq ASIC reserved for transit control traffic, overriding the queue selected by the ingress QOS policy.

In the egress direction, the BFD echo packets are treated like other vital packets (locally originated control packets) and are sent to the high priority queue of the interface in the egressq ASIC.

Statistics on the Clear Channel ATM SPAs

On egress policies, match statistics are obtained from the MSC, while drop statistics are obtained from the SPA. However, the rate calculation for SPA statistics is not supported. Rate calculation is displayed only on demand.

How to Configure Modular QoS Packet Classification

This section contains instructions for the following tasks:

Creating a Traffic Class

To create a traffic class containing match criteria, use the class-map command to specify the traffic class name, and then use the following match commands in class-map configuration mode, as needed.

For conceptual information, see the Traffic Class Elements, page 16.

Restrictions

All match commands specified in this configuration task are considered optional, but you must configure at least one match criterion for a class.

SUMMARY STEPS

    1.    configure

    2.    class-map [ type qos] [ match -any] [ match -all] class-map-name

    3.    match access-group [ ipv4 | ipv6] access-group-name

    4.    match [ not] cos [ cos-value] [ cos-value0 ... cos-value7]

    5.    match [ not] cos inner [ inner-cos-value] [ inner-cos-value0... inner-cos-value7]

    6.    match destination-address mac destination-mac-address

    7.    match source-address mac source-mac-address

    8.    match [ not] discard-class discard-class-value [ discard-class-value1 ... discard-class-value6]

    9.    match [ not] dscp [ ipv4 | ipv6] dscp-value [ dscp-value ... dscp-value]

    10.    match [ not] mpls experimental topmost exp-value [ exp-value1 ... exp-value7]

    11.    match [ not] precedence [ ipv4 | ipv6] precedence-value [ precedence-value1 ... precedence-value6]

    12.    match [ not] protocol protocol-value
[ protocol-value1 ... protocol-value7]

    13.    match [ not] qos-group [ qos-group-value1 ... qos-group-value8]

    14.    match vlan [ inner ] vlanid [vlanid1 ... vlanid7]

    15.    Use the commit or end command.


DETAILED STEPS
      Command or Action Purpose
    Step 1 configure


    Example:
    RP/0/RP0/CPU0:router# configure
     

    Enters global configuration mode.

     
    Step 2 class-map [ type qos] [ match -any] [ match -all] class-map-name

    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config)# class-map class201
    
     

    Enters class map configuration mode.

    • Creates a class map to be used for matching packets to the class whose name you specify.
    • If you specific match-any, one of the match criteria must be met for traffic entering the traffic class to be classified as part of the traffic class. This is the default. If you specify match-all, the traffic must match all the match criteria.
     
    Step 3 match access-group [ ipv4 | ipv6] access-group-name


    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match access-group ipv4 map1
    
     

    (Optional) Configures the match criteria for a class map based on the specified access control list (ACL) name.

     
    Step 4 match [ not] cos [ cos-value] [ cos-value0 ... cos-value7]


    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match cos 5
    
     

    (Optional) Specifies a cos-value in a class map to match packets.

    • cos-value arguments are specified as an integer from 0 to 7.
     
    Step 5 match [ not] cos inner [ inner-cos-value] [ inner-cos-value0... inner-cos-value7]

    Example:
    
                 
                 
    RP/0/RP0/CPU0:router match cos inner 7
    
     

    (Optional) Specifies an inner-cos-value in a class map to match packets.

    • inner-cos-value arguments are specified as an integer from 0 to 7.
     
    Step 6 match destination-address mac destination-mac-address


    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match destination-address mac 00.00.00
    
     

    (Optional) Configures the match criteria for a class map based on the specified destination MAC address.

     
    Step 7 match source-address mac source-mac-address


    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match source-address mac 00.00.00
    
     

    (Optional) Configures the match criteria for a class map based on the specified source MAC address.

     
    Step 8 match [ not] discard-class discard-class-value [ discard-class-value1 ... discard-class-value6]

    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match discard-class 5
    
     

    (Optional) Specifies a discard-class-value in a class map to match packets.

    • discard-class-value argument is specified as an integer from 0 to 7.

    The match discard-class command is supported only for an egress policy.

     
    Step 9 match [ not] dscp [ ipv4 | ipv6] dscp-value [ dscp-value ... dscp-value]

    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match dscp ipv4 15
    
     

    (Optional) Identifies a specific DSCP value as a match criterion.

    • Value range is from 0 to 63.
    • Reserved keywords can be specified instead of numeric values.
    • Up to eight values or ranges con be used per match statement.
     
    Step 10 match [ not] mpls experimental topmost exp-value [ exp-value1 ... exp-value7]


    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match mpls experimental topmost 3
    
     

    (Optional) Configure a class map so that the three-bit experimental field in the topmost Multiprotocol Label Switching (MPLS) labels are examined for experimental (EXP) field values.

    The value range is from 0 to 7.

     
    Step 11 match [ not] precedence [ ipv4 | ipv6] precedence-value [ precedence-value1 ... precedence-value6]


    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match precedence ipv4 5
    
     

    (Optional) Identifies IP precedence values as match criteria.

    • Value range is from 0 to 7.
    • Reserved keywords can be specified instead of numeric values.
     
    Step 12 match [ not] protocol protocol-value
[ protocol-value1 ... protocol-value7]

    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match protocol igmp
    
     

    (Optional) Configures the match criteria for a class map on the basis of the specified protocol.

     
    Step 13 match [ not] qos-group [ qos-group-value1 ... qos-group-value8]

    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match qos-group 1 2 3 4 5 6 7 8
    
     

    (Optional) Specifies service (QoS) group values in a class map to match packets.

    • qos-group-value identifier argument is specified as the exact value or range of values from 0 to 63.
    • Up to eight values (separated by spaces) can be entered in one match statement.
    • match qos-group command is supported only for an egress policy.
     
    Step 14 match vlan [ inner ] vlanid [vlanid1 ... vlanid7]

    Example:
    
                 
                 
    RP/0/RP0/CPU0:router(config-cmap)# match vlan vlanid vlanid1
    
     

    (Optional) Specifies a VLAN ID or range of VLAN IDs in a class map to match packets.

    • vlanid is specified as an exact value or range of values from 1 to 4094.
    • Total number of supported VLAN values or ranges is 8.
     
    Step 15 Use the commit or end command. 

    commit—Saves the configuration changes, and remains within the configuration session.

    end—Prompts to take one of these actions:
    • Yes— Saves configuration changes and exits the configuration session.
    • No—Exits the configuration session without committing the configuration changes.
    • Cancel—Remains in the configuration mode, without committing the configuration changes.
     

    Creating a Traffic Policy

    To create a traffic policy, use the policy-map global configuration command to specify the traffic policy name.

    The traffic class is associated with the traffic policy when the class command is used. The class command must be issued after you enter the policy map configuration mode. After entering the class command, the router is automatically in policy map class configuration mode, which is where the QoS policies for the traffic policy are defined.

    The following class-actions are supported:

    • bandwidth—Configures the bandwidth for the class. See the Configuring Modular Quality of Service Congestion Management on Cisco IOS XR Software module.
    • police—Police traffic. See the Configuring Modular Quality of Service Congestion Management on Cisco IOS XR Software module.
    • priority—Assigns priority to the class. See the Configuring Modular Quality of Service Congestion Management on Cisco IOS XR Software module.
    • queue-limit—Configures queue-limit (tail drop threshold) for the class. See the Configuring Modular QoS Congestion Avoidance on Cisco IOS XR Software module.
    • random-detect—Enables Random Early Detection. See the Configuring Modular QoS Congestion Avoidance on Cisco IOS XR Software module.
    • service-policy—Configures a child service policy.
    • set—Configures marking for this class. See the Class-based Unconditional Packet Marking Feature and Benefits, page 20.
    • shape—Configures shaping for the class. See the Configuring Modular Quality of Service Congestion Management on Cisco IOS XR Software module.

    For additional commands that can be entered as match criteria, see the Cisco IOS XR Modular Quality of Service Command Reference for the Cisco CRS Router.

    For conceptual information, see Traffic Policy Elements, page 17.

    Restrictions

    A maximum of 512 classes (including Level 1 and Level 2 hierarchical classes as well as implicit default classes) can be applied to one policy map.

    For a hierarchical policy (with Level 1 and Level 2 hierarchical classes) applied on a subinterface, the only allowed Level 1 class in the policy is the class-default class.

    SUMMARY STEPS

      1.    configure

      2.    policy-map

      3.    class class-name

      4.    set precedence [ tunnel ] precedence-value

      5.    end or commit


    DETAILED STEPS
        Command or Action Purpose
      Step 1 configure


      Example:
      
                   
                   
      RP/0/ 
                    RP0/CPU0:router# configure
      
       

      Enters global configuration mode.

       
      Step 2 policy-map


      Example:

      RP/0/ RP0/CPU0:router(config)# policy-map policy1

       

      Enters policy map configuration mode.

      • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
       
      Step 3 class class-name

      Example:
      
                   
                   
      RP/0/ 
                    RP0/CPU0:router(config-pmap)# class class1
      
       

      Specifies the name of the class whose policy you want to create or change.

       
      Step 4 set precedence [ tunnel ] precedence-value


      Example:
      
                   
                   
      RP/0/ 
                    RP0/CPU0:router(config-pmap-c)# set precedence 3
      
       

      Sets the precedence value in the IP header.

      Note   
      • A policy configured with the set precedence tunnel command or the set dscp tunnel command can be applied on any Layer 3 interface in the ingress direction.
       
      Step 5 end or commit

      Example:
      
                   
                   
      RP/0/ 
                    RP0/CPU0:router(config-pmap-c)# end
      

      or

      
                   
                   
      RP/0/ 
                    RP0/CPU0:router(config-pmap-c)# commit
      
       

      Saves configuration changes.

      • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]: Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.
      • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session.
       

      Attaching a Traffic Policy to an Interface

      After the traffic class and traffic policy are created, you must use the service-policy interface configuration command to attach a traffic policy to an interface, and to specify the direction in which the policy should be applied (either on packets coming into the interface or packets leaving the interface).

      For additional commands that can be entered in policy map class configuration mode, see the Cisco IOS XR Modular Quality of Service Command Reference for the Cisco CRS Router.

      Prerequisites

      A traffic class and traffic policy must be created before attaching a traffic policy to an interface.

      Restrictions

      None

      SUMMARY STEPS

        1.    configure

        2.    interface type interface-path-id

        3.    service-policy { input | output} policy-map

        4.    Use the commit or end command.

        5.    show policy-map interface type interface-path-id [ input | output]


      DETAILED STEPS
          Command or Action Purpose
        Step 1 configure


        Example:
        RP/0/RP0/CPU0:router# configure
         

        Enters global configuration mode.

         
        Step 2 interface type interface-path-id


        Example:
        
                     
                     
        RP/0/ 
                      RP0/CPU0:router(config)# interface gigabitethernet 0/1/0/9
        
         

        Enters interface configuration mode and configures an interface.

         
        Step 3 service-policy { input | output} policy-map


        Example:
        
                     
                     
        RP/0/ 
                      RP0/CPU0:router(config-if)# service-policy output policy1
        
         

        Attaches a policy map to an input or output interface to be used as the service policy for that interface.

        • In this example, the traffic policy evaluates all traffic leaving that interface.
         
        Step 4 Use the commit or end command. 

        commit—Saves the configuration changes, and remains within the configuration session.

        end—Prompts to take one of these actions:
        • Yes— Saves configuration changes and exits the configuration session.
        • No—Exits the configuration session without committing the configuration changes.
        • Cancel—Remains in the configuration mode, without committing the configuration changes.
         
        Step 5 show policy-map interface type interface-path-id [ input | output]


        Example:
        
                     
                     
        RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/1/0/9
        
         

        (Optional) Displays statistics for the policy on the specified interface.

         

        Configuring Class-based Unconditional Packet Marking

        This configuration task explains how to configure the following class-based, unconditional packet marking features on your router:

        • IP precedence value
        • IP DSCP value
        • QoS group value (ingress only)
        • CoS value ( egress only )
        • MPLS experimental value
        • SRP priority (egress only)
        • Discard class (ingress only)
        • ATM CLP

        For a list of supported unconditional marking criteria action, see Table 2.


        Note


        IPv4 and IPv6 QoS actions applied to MPLS tagged packets are not supported. The configuration is accepted, but no action is taken.


        Restrictions

        The CRS-MSC-140G does not support SRP priority.

        SUMMARY STEPS

          1.    configure

          2.    policy-map policy-name

          3.    class class-name

          4.    set precedence

          5.    set dscp

          6.    set qos-group qos-group-value

          7.    set cos cos-value

          8.    set cos [ inner] cos-value

          9.    set mpls experimental { imposition | topmost} exp-value

          10.    set srp-priority priority-value

          11.    set discard-class discard-class-value

          12.    set atm-clp

          13.    exit

          14.    exit

          15.    interface type interface-path-id

          16.    service-policy { input | output]} policy-map

          17.    Use one of these commands:

          • end
          • commit

          18.    show policy-map interface type interface-path-id [ input | output]


        DETAILED STEPS
            Command or Action Purpose
          Step 1 configure


          Example:
          RP/0/RP0/CPU0:router# configure
           

          Enters global configuration mode.

           
          Step 2 policy-map policy-name


          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config)# policy-map policy1
          
           

          Enters policy map configuration mode.

          • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.
           
          Step 3 class class-name


          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config-pmap)# class class1
          
           

          Enters policy class map configuration mode.

          • Specifies the name of the class whose policy you want to create or change. Choose one set command per class
           
          Step 4 set precedence


          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config-pmap-c)# set precedence 1
          
           

          Sets the precedence value in the IP header.

          • The tunnel keyword sets the IP precedence on the outer IP header. This option is available only on a Cisco XR 12000 Series Router with IPSec installed and configured.
           
          Step 5 set dscp


          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config-pmap-c)# set dscp 5
          
           

          Marks a packet by setting the DSCP in the ToS byte.

          • The tunnel keyword sets the IP DSCP on the outer IP header. This option is available only on a Cisco XR 12000 Series Router with IPSec installed and configured.
           
          Step 6 set qos-group qos-group-value


          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config-pmap-c)# set qos-group 31
          
           

          Sets the QoS group identifiers on IPv4 or MPLS packets.

          The set qos-group command is supported only on an ingress policy.

           
          Step 7 set cos cos-value


          Example:
          
                       
                       
          RP/0/RP0/CPU0:router(config-pmap-c)# set cos 7
          
           

          Sets the specific IEEE 802.1Q Layer 2 CoS value of an outgoing packet. Values are from 0 to7.

          Sets the Layer 2 CoS value of an outgoing packet.

          • This command should be used by a router if a user wants to mark a packet that is being sent to a switch. Switches can leverage Layer 2 header information, including a CoS value marking.
          • Packets entering an interface cannot be set with a CoS value.
           
          Step 8 set cos [ inner] cos-value

          Example:
          
                       
                       
          RP/0/RSP0/CPU0:router(config-pmap-c)# set cos 7
          
           

          Sets the specific IEEE 802.1Q Layer 2 CoS value of an outgoing packet. Values are from 0 to7.

          Sets the Layer 2 CoS value of an outgoing packet.

          • This command should be used by a router if a user wants to mark a packet that is being sent to a switch. Switches can leverage Layer 2 header information, including a CoS value marking.
          • For Layer 2 interfaces, the set cos command: Is rejected on ingress or egress policies on a main interface. Is accepted but ignored on ingress policies on a subinterface. Is supported on egress policies on a subinterface.
          • For Layer 3 interfaces, the set cos command: Is ignored on ingress policies on a main interface. Is rejected on ingress policies on a subinterface. Is supported on egress policies on main interfaces and subinterfaces.
           
          Step 9 set mpls experimental { imposition | topmost} exp-value


          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config-pmap-c)# set mpls experimental imposition 3
          
           

          Sets the experimental value of the MPLS packet top-most or imposition labels.

          • imposition can be used only in service policies that are attached in the ingress policy.
           
          Step 10 set srp-priority priority-value


          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config-pmap-c)# set srp-priority 3
          
           

          Sets the spatial reuse protocol (SRP) priority value of an outgoing packet.

          • This command can be used only in service policies that are attached in the output direction of an interface.
           
          Step 11 set discard-class discard-class-value


          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config-pmap-c)# set discard-class 3
          
           

          Sets the discard class on IP Version 4 (IPv4) or Multiprotocol Label Switching (MPLS) packets.

          • This command can be used only in service policies that are attached in the ingress policy.
           
          Step 12 set atm-clp


          Example:
          
                       
                       
          RP/0/0/CPU0:router(config-pmap-c)# set atm-clp
          
           

          Sets the cell loss priority (CLP) bit.

           
          Step 13 exit


          Example:

          RP/0/ RP0/CPU0:router(config-pmap-c)# exit

           

          Returns the router to policy map configuration mode.

           
          Step 14 exit


          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config-pmap)# exit
          
           

          Returns the router to global configuration mode.

           
          Step 15 interface type interface-path-id

          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config)# interface pos 0/2/0/0
          
           

          Enters interface configuration mode and configures an interface.

           
          Step 16 service-policy { input | output]} policy-map


          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router(config-if)# service-policy output policy1
          
           

          Attaches a policy map to an input or output interface to be used as the service policy for that interface.

          • In this example, the traffic policy evaluates all traffic leaving that interface.
           
          Step 17 Use one of these commands:
          • end
          • commit


          Example:
          RP/0/RP0/CPU0:router(config-if)# end

          or

          RP/0/RP0/CPU0:router(config-if)# commit
           

          Saves configuration changes.

          • When you issue the end command, the system prompts you to commit changes:
            Uncommitted changes found, commit them
            before exiting(yes/no/cancel)? [cancel]:
            
            • Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode.
            • Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes.
            • Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.
          • Use the commit command to save the configuration changes to the running configuration file, and remain within the configuration session.
           
          Step 18 show policy-map interface type interface-path-id [ input | output]

          Example:
          
                       
                       
          RP/0/ 
                        RP0/CPU0:router# show policy-map interface pos 0/2/0/0
          
           

          (Optional) Displays policy configuration information for all classes configured for all service policies on the specified interface.

           

          Configuring QoS Policy Propagation Using Border Gateway Protocol

          This section explains how to configure Policy Propagation Using Border Gateway Protocol (BGP) on a router based on BGP community lists, BGP autonomous system paths, access lists, source prefix address, or destination prefix address.

          Policy Propagation Using BGP Configuration Task List

          Policy propagation using BGP allows you to classify packets by IP precedence and/or QoS group ID, based on BGP community lists, BGP autonomous system paths, access lists, source prefix address and destination prefix address. After a packet has been classified, you can use other quality-of-service features such as weighted random early detection (WRED) to specify and enforce policies to fit your business model.

          Overview of Tasks

          To configure Policy Propagation Using BGP, perform the following basic tasks:

          • Configure BGP and Cisco Express Forwarding (CEF). To configure BGP, see Cisco IOS XR Routing Configuration Guide. To configure CEF, see Cisco IOS XR IP Address and Services Configuration Guide .
          • Configure a BGP community list or access list.
          • Define the route policy. Set the IP precedence and/or QoS group ID, based on the BGP community list, BGP autonomous system path, access list, source prefix address or destination prefix address.
          • Apply the route policy to BGP.
          • Configure QPPB on the desired interfaces.
          • Configure and enable a QoS Policy to use the above classification (IP precedence or QoS group ID). To configure committed access rate (CAR), WRED and tail drop, see the Configuring Modular QoS Congestion Avoidance on Cisco IOS XR Software module.

          Defining the Route Policy

          This task defines the route policy used to classify BGP prefixes with IP precedence or QoS group ID.

          Prerequisites

          Configure the BGP community list, or access list, for use in the route policy.

          Restrictions

          • IPv4 and IPv6 QPPB with egress QoS policy is supported on all Ethernet and SIP-700 line cards.
          • IPv4 and IPv6 QPPB with ingress QoS policy is supported on the first generation ASR9000 Ethernet line cards.
          SUMMARY STEPS

            1.    configure

            2.    route-policy name

            3.    set qos-groupqos-group-value

            4.    Use the commit or end command.


          DETAILED STEPS
              Command or Action Purpose
            Step 1 configure


            Example:
            RP/0/RP0/CPU0:router# configure
             

            Enters global configuration mode.

             
            Step 2 route-policy name


            Example:
            
                         
                         
            RP/0/RP0/CPU0:router(config)# route-policy r1
            
             

            Enters route policy configuration mode and specifies the name of the route policy to be configured.

             
            Step 3 set qos-groupqos-group-value


            Example:
            RP/0/RP0/CPU0:router(config-pmap-c) # set qos-group 30
             

            Sets the QoS group identifiers. The set qos-group command is supported only on an ingress policy.

             
            Step 4 Use the commit or end command. 

            commit—Saves the configuration changes, and remains within the configuration session.

            end—Prompts to take one of these actions:
            • Yes— Saves configuration changes and exits the configuration session.
            • No—Exits the configuration session without committing the configuration changes.
            • Cancel—Remains in the configuration mode, without committing the configuration changes.
             

            Applying the Route Policy to BGP

            This task applies the route policy to BGP.

            Prerequisites

            Configure BGP and CEF.

            SUMMARY STEPS

              1.    configure

              2.    router bgpas-number

              3.    address-family{ ipv4 |ipv6}address-family-modifier

              4.    table-policypolicy-name

              5.    Use the commit or end command.


            DETAILED STEPS
                Command or Action Purpose
              Step 1 configure


              Example:
              RP/0/RP0/CPU0:router# configure
               

              Enters global configuration mode.

               
              Step 2 router bgpas-number


              Example:
              RP/0/RP0/CPU0:router(config) # router bgp 120
               

              Enters BGP configuration mode.

               
              Step 3 address-family{ ipv4 |ipv6}address-family-modifier


              Example:
              RP/0/RP0/CPU0:router(config-bgp) # address-family ipv4 unicast
               

              Enters address-family configuration mode, allowing you to configure an address family.

               
              Step 4 table-policypolicy-name


              Example:
              RP/0/RP0/CPU0:router(config-bgp-af) # table-policy qppb a1
               

              Applying a routing policy.

               
              Step 5 Use the commit or end command. 

              commit—Saves the configuration changes, and remains within the configuration session.

              end—Prompts to take one of these actions:
              • Yes— Saves configuration changes and exits the configuration session.
              • No—Exits the configuration session without committing the configuration changes.
              • Cancel—Remains in the configuration mode, without committing the configuration changes.
               

              Configuring QPPB on the Desired Interfaces

              This task applies QPPB to a specified interface. The traffic begins to be classified, based on matching prefixes in the route policy. The source or destination IP address of the traffic can be used to match the route policy.

              Restrictions

              • The Cisco CRS Router only supports the setting of the QoS group ID using QPPB.
              • The CRS-MSC-140G does not support QPPB.
              SUMMARY STEPS

                1.    configure

                2.    interface type interface-path-id

                3.    ipv4 | ipv6 bgp policy propagation input { ip-precedence | qos-group} { destination [ ip-precedence { destination | source }] | source [ ip-precedence { destination | source }] }


              DETAILED STEPS
                  Command or Action Purpose
                Step 1 configure


                Example:
                RP/0/RP0/CPU0:router# configure
                 

                Enters global configuration mode.

                 
                Step 2 interface type interface-path-id


                Example:
                
                             
                             
                RP/0/ 
                              RP0/CPU0:router(config)#interface POS 0/0/0/0
                
                 

                Enters interface configuration mode and associates one or more interfaces to the VRF.

                 
                Step 3 ipv4 | ipv6 bgp policy propagation input { ip-precedence | qos-group} { destination [ ip-precedence { destination | source }] | source [ ip-precedence { destination | source }] }

                Example:
                RP/0/RP0/CPU0:router(config)# ipv4 bgp policy propagation input qos-group destination
                
                 

                Enables QPPB on an interface

                 

                QPPB scenario

                Consider a scenario where in traffic is moving from Network1 to Network2 through (a single) router port1 and port2. If QPPB is enabled on port1, then,

                • for qos on ingress: attach an ingress policy on the interface port1.
                • for qos on egress: attach an egress policy on interface port2.

                Configuring Hierarchical Ingress Policing

                The hierarchical ingress policing is supported at two levels:

                • Parent level
                • Child level

                Restrictions

                The Modular QoS command-line interface (MQC) provides hierarchical configuration, with the following limitations:

                • The parent level consists of class defaults or class maps that match VLAN (in the case of nCmD policy).
                • The child level consists of a flat policy that can be configured with the supported action or the class-map command.
                • The parent policer value is used as a reference bandwidth for the child policy whenever required.
                SUMMARY STEPS

                  1.    configure

                  2.    policy-map policy-name

                  3.    class class-name

                  4.    service-policy policy-name

                  5.    police rate percent percentage

                  6.    conform-action action

                  7.    exceed-action action

                  8.    end or commit


                DETAILED STEPS
                    Command or Action Purpose
                  Step 1 configure


                  Example:
                  
                               
                               
                  RP/0/ 
                                RP0/CPU0:router# configure
                  
                   

                  Enters global configuration mode.

                   
                  Step 2 policy-map policy-name


                  Example:
                  
                               
                               
                  RP/0/ 
                                RP0/CPU0:router(config)# policy-map parent
                  
                   

                  Enters policy map configuration mode.

                  Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy

                   
                  Step 3 class class-name


                  Example:
                  
                               
                               
                  RP/0/ 
                                RP0/CPU0:router(config-pmap)# class class-default
                  
                   

                  Enters policy map class configuration mode.

                  Specifies the name of the class whose policy you want to create or change.

                   
                  Step 4 service-policy policy-name


                  Example:
                  
                               
                               
                  RP/0/ 
                                RP0/CPU0:router(config-pmap-c)# service-policy child
                  
                   

                  Attaches a policy map to an input or output interface.

                   
                  Step 5 police rate percent percentage


                  Example:
                  
                               
                               
                  RP/0/ 
                                RP0/CPU0:router(config-pmap-c)# police rate percent 50 	
                  
                   

                  Configures traffic policing and enters policy map police configuration mode.

                   
                  Step 6 conform-action action


                  Example:
                  
                               
                               
                  RP/0/ 
                                RP0/CPU0:router(config-pmap-c-police)# conform-action transmit
                  
                   

                  Configures the action to take on packets that conform to the rate limit. The allowed action is:

                  transmit—Transmits the packets.

                   
                  Step 7 exceed-action action


                  Example:
                  
                               
                               
                  RP/0/ 
                                RP0/CPU0:router(config-pmap-c-police)# exceed-action drop
                  
                   

                  Configures the action to take on packets that exceed the rate limit. The allowed action is:

                  drop—Drops the packet.

                   
                  Step 8 end or commit

                  Example:
                  
                               
                               
                  RP/0/ 
                                RP0/CPU0:router(config-pmap-c-police)# end
                  

                  or

                  
                               
                               
                  RP/0/ 
                                RP0/CPU0:router(config-pmap-c-police)# commit
                  
                   

                  Saves configuration changes.

                  • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]: Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes.
                  • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session.
                   

                  Matching the ATM CLP Bit

                  You can use the match atm clp command to enable packet matching on the basis of the ATM cell loss priority (CLP).

                  SUMMARY STEPS

                    1.    configure

                    2.    class-map class-name

                    3.    match atm clp

                    4.    exit


                  DETAILED STEPS
                      Command or Action Purpose
                    Step 1 configure


                    Example:
                    
                                 
                                 
                    RP/0/ 
                                  RP0/CPU0:router# configure
                    
                     

                    Enters global configuration mode.

                     
                    Step 2 class-map class-name


                    Example:
                    
                                 
                                 
                    RP/0/ 
                                  RP0/CPU0:router(config)# class-map c1
                    
                     

                    Enters class map configuration mode.

                    Creates a class map to be used for matching packets to the class whose name you specify.

                     
                    Step 3 match atm clp


                    Example:
                    
                                 
                                 
                    RP/0/ 
                                  RP0/CPU0:router(config-cmap)# match atm clp
                    
                     

                    Sets the ATM cell loss priority (CLP) bit setting for all packets that match the specified traffic class. The ATM CLP bit value can be 0 or 1.

                     
                    Step 4 exit


                    Example:
                    
                                 
                                 
                    RP/0/ 
                                  RP0/CPU0:router(config-cmap)# exit
                    
                     

                    Returns the router to the global configuration mode.

                     

                    Configuration Examples for Configuring Modular QoS Packet Classification

                    This section contains the following examples:

                    Traffic Classes Defined: Example

                    In the following example, two traffic classes are created and their match criteria are defined. For the first traffic class called class1, ACL 101 is used as the match criterion. For the second traffic class called class2, ACL 102 is used as the match criterion. Packets are checked against the contents of these ACLs to determine if they belong to the class.

                    
                              
                              
                    class-map class1
                      match access-group ipv4 101
                      exit
                    !
                    class-map class2
                      match access-group ipv4 102
                      exit
                    

                    Use the not keyword with the match command to perform a match based on the values of a field that are not specified. The following example includes all packets in the class qos_example with a DSCP value other than 4, 8, or 10.

                    
                              
                              
                    class-map match-any qos_example
                      match not dscp 4 8 10
                    !
                    end
                    

                    Traffic Policy Created: Example

                    In the following example, a traffic policy called policy1 is defined to contain policy specifications for the two classes—class1 and class2. The match criteria for these classes were defined in the traffic classes created in the “Traffic Classes Defined: Example” section on page 68.

                    For class1, the policy includes a bandwidth allocation request and a maximum byte limit for the queue reserved for the class. For class2, the policy specifies only a bandwidth allocation request.

                    
                              
                              
                    policy-map policy1
                      class class1
                        bandwidth 3000
                        queue-limit bytes 1000000000
                        exit
                    !
                      class class2
                        bandwidth 2000
                        exit
                    
                    policy-map policy1
                      class class1
                        bandwidth 3000 kbps
                        queue-limit 1000 packets
                    !
                      class class2
                        bandwidth 2000 kbps
                    !
                      class class-default
                    !
                    end-policy-map
                    !
                    end
                    

                    Traffic Policy Attached to an Interface: Example

                    The following example shows how to attach an existing traffic policy to an interface (see the Traffic Classes Defined: Example, page 68). After you define a traffic policy with the policy-map command, you can attach it to one or more interfaces to specify the traffic policy for those interfaces by using the service-policy command in interface configuration mode. Although you can assign the same traffic policy to multiple interfaces, each interface can have only one traffic policy attached at the input and only one traffic policy attached at the output.

                    
                              
                              
                    interface  
                               pos 0/1/0/0
                      service-policy output policy1
                      exit
                    !
                    interface TenGigE 0/5/0/1
                      service-policy output policy1
                      exit
                    

                    Default Traffic Class Configuration: Example

                    The following example shows how to configure a traffic policy for the default class of the traffic policy called policy1. The default class is named class-default, consists of all other traffic, and is being shaped at 60 percent of the interface bandwidth.

                    
                              
                              
                    policy-map policy1
                      class class-default
                        shape average percent 60
                    

                    class-map match-any Command Configuration: Example

                    The following example illustrates how packets are evaluated when multiple match criteria exist. Only one match criterion must be met for the packet in the class-map match-any command to be classified as a member of the traffic class (a logical OR operator). In the example, protocol IP OR QoS group 4 OR access group 101 have to be successful match criteria:

                    
                              
                              
                    class-map match-any class1
                      match protocol ipv4
                      match qos-group 4
                      match access-group ipv4 101
                    

                    In the traffic class called class1, the match criteria are evaluated consecutively until a successful match criterion is located. The packet is first evaluated to determine whether IPv4 protocol can be used as a match criterion. If IPv4 protocol can be used as a match criterion, the packet is matched to traffic class class1. If IP protocol is not a successful match criterion, then QoS group 4 is evaluated as a match criterion. Each matching criterion is evaluated to see if the packet matches that criterion . Once a successful match occurs, the packet is classified as a member of traffic class class1. If the packet matches at least one of the specified criteria, the packet is classified as a member of the traffic class.


                    Note


                    The match qos-group command is supported only on an egress policy and on an ingress policy for QoS Policy Propagation using BGP (QPPB)-based policies.


                    Traffic Policy as a QoS Policy (Hierarchical Traffic Policies) Configuration: Examples

                    A traffic policy can be nested within a QoS policy when the service-policy command is used in policy map class configuration mode. A traffic policy that contains a nested traffic policy is called a hierarchical traffic policy.

                    Hierarchical traffic policies can be attached to all supported interfaces for this Cisco IOS XR software release, such as the OC-192 and 10-Gigabit Ethernet interfaces.

                    Two-Level Hierarchical Traffic Policy Configuration: Example

                    A two-level hierarchical traffic policy contains a child and a parent policy. The child policy is the previously defined traffic policy that is being associated with the new traffic policy through the use of the service-policy command. The new traffic policy using the pre-existing traffic policy is the parent policy. In the example in this section, the traffic policy called child is the child policy, and the traffic policy called parent is the parent policy.

                    In the following example, the child policy is responsible for prioritizing traffic, and the parent policy is responsible for shaping traffic. In this configuration, the parent policy allows packets to be sent from the interface, and the child policy determines the order in which the packets are sent.

                    Class-based, Unconditional Packet Marking Examples

                    The following are typical class-based, unconditional packet marking examples:

                    IP Precedence Marking Configuration: Example

                    In the following example, a service policy called policy1 is created. This service policy is associated to a previously defined class map called class1 through the use of the class command, and then the service policy is attached to the output POS interface 0/1/0/0. The IP precedence bit in the ToS byte is set to 1:

                    
                               
                               
                    policy-map policy1
                      class class1
                        set precedence 1
                    !
                    interface pos 0/1/0/0
                      service-policy output policy1
                    

                    IP DSCP Marking Configuration: Example

                    In the following example, a service policy called policy1 is created. This service policy is associated to a previously defined class map through the use of the class command. In this example, it is assumed that a class map called class1 was previously configured.

                    In the following example, the IP DSCP value in the ToS byte is set to 5:

                    
                               
                               
                    policy-map policy1
                      class class1
                        set dscp 5
                    
                      class class2
                        set dscp ef
                    

                    After you configure the settings shown for voice packets at the edge, all intermediate routers are configured to provide low-latency treatment to the voice packets, as follows:

                    
                               
                               
                    class-map voice
                      match dscp ef
                    policy-map qos-policy
                      class voice
                        priority level 1
                        police rate percent 10
                    

                    The service policy configured in this section is not yet attached to an interface. For information on attaching a service policy to an interface, see the Modular Quality of Service Overview on Cisco IOS XR Software module.

                    QoS Group Marking Configuration: Example

                    In the following example, a service policy called policy1 is created. This service policy is associated to a class map called class1 through the use of the class command, and then the service policy is attached in the input direction on a GigabitEthernet interface 0/1/0/9. The qos-group value is set to 1.

                    
                               
                               
                    class-map match-any class1
                      match protocol ipv4
                      match access-group ipv4 101
                    
                    policy-map policy1
                      class class1
                        set qos-group 1
                      !
                    interface gigabitethernet 0/1/0/9
                      service-policy input policy1
                    

                    Note


                    The set qos-group command is supported only on an ingress policy.


                    Discard Class Marking Configuration: Example

                    In the following example, a service policy called policy1 is created. This service policy is associated to a class map called class1 through the use of the class command, and then the service policy is attached in the input direction on a POS interface 0/1/0/0. The discard-class value is set to 1.

                    
                               
                               
                    class-map match-any class1
                      match protocol ipv4
                      match access-group ipv4 101
                    
                    policy-map policy1
                      class class1
                        set discard-class 1
                      !
                    interface pos 0/1/0/0
                      service-policy input policy1
                    

                    Note


                    The unconditional set discard-class command is supported only on a Cisco CRS ingress policy.


                    CoS Marking Configuration: Example

                    In the following example, a service policy called policy1 is created. This service policy is associated to a class map called class1 through the use of the class command, and then the service policy is attached in the output direction on a 10-Gigabit Ethernet interface, TenGigE0/1/0/0. The 802.1p (CoS) bits in the Layer 2 header are set to 1.

                    
                               
                               
                    class-map match-any class1
                      match protocol ipv4
                      match access-group ipv4 101
                    
                    policy-map policy1
                      class class1
                        set cos 1
                      !
                    interface TenGigE0/1/0/0
                    interface TenGigE0/1/0/0.100
                      service-policy output policy1
                    

                    Note


                    The set cos command is supported only on egress.


                    MPLS Experimental Bit Imposition Marking Configuration: Example

                    In the following example, a service policy called policy1 is created. This service policy is associated to a class map called class1 through the use of the class command, and then the service policy is attached in the input direction on a 10-Gigabit Ethernet interface, TenGigE0/1/0/0. The MPLS EXP bits of all imposed labels are set to 1.

                    
                               
                               
                    class-map match-any class1
                      match protocol ipv4
                      match access-group ipv4 101
                    
                    policy-map policy1
                      class class1
                        set mpls exp imposition 1
                     !
                    interface TenGigE0/1/0/0
                      service-policy input policy1
                    

                    Note


                    The set mpls exp imposition command is supported only on an ingress policy.


                    MPLS Experimental Topmost Marking Configuration: Example

                    In the following example, a service policy called policy1 is created. This service policy is associated to a class map called class1 through the use of the class command, and then the service policy is attached in the output direction on a 10-Gigabit Ethernet interface, TenGigE0/1/0/0. The MPLS EXP bits on the TOPMOST label are set to 1:

                    
                               
                               
                    class-map match-any class1
                      match mpls exp topmost 2
                    
                    policy-map policy1
                      class class1
                        set mpls exp topmost 1
                      !
                    interface TenGigE0/1/0/0
                      service-policy output policy1
                    

                    QoS Policy Propagation using BGP: Examples

                    The following are the IPv4 and IPv6 QPPB examples:

                    Applying Route Policy: Example

                    In the following example, BGP is being configured for the IPv4 address family:

                    router bgp 100
                     bgp router-id 19.19.19.19
                     address-family ipv4 unicast
                      table-policy qppbv4_dest
                     !  
                     neighbor 10.10.10.10
                      remote-as 8000
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                    

                    In the following example, BGP is being configured for the IPv6 address family:

                    router bgp 100
                     bgp router-id 19.19.19.19
                     address-family ipv6 unicast
                      table-policy qppbv6_dest
                     !  
                     neighbor 1906:255::2
                      remote-as 8000
                      address-family ipv6 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                    

                    Applying QPPB on a specific interface: Example

                    The following example shows applying QPPBv4 (address-family IPv4) for a desired interface:

                    config
                      interface POS0/0/0/0
                     			ipv4 address 10.1.1.1 
                     					ipv4 bgp policy propagation input qos-group destination
                          end
                          commit
                        !

                    The following example shows applying QPPBv6 (address-family IPv6) for a desired interface:

                    config
                       interface POS0/0/0/0
                         ipv6 address 1906:255::1/64
                            ipv6 bgp policy propagation input qos-group destination
                            end
                            commit
                         !

                    Route Policy Configuration: Example


                    Note


                    The CRS-MSC-140G does not support QPPB.


                    BGP Community Sample Configuration

                    The following configuration is an example of configuring route policy in a BGP community:

                    
                               
                               
                    route-policy qppb-comm6200
                      if  community matches-any (61100:10, 61200:20, 61300:30) then
                        set qos-group 11
                      elseif  community matches-any (62100:10, 62200:20, 62300:30) then
                        set qos-group 12
                      else
                        set qos-group 1
                      endif
                      pass
                    end-policy
                    !
                    router bgp 100
                     bgp router-id 10.10.10.10
                     address-family ipv4 unicast
                      table-policy qppb-comm6200
                      network 201.32.21.0/24
                      network 201.37.5.0/24
                     !
                     neighbor 201.1.0.2
                      remote-as 61100
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.2.0.2
                      remote-as 61200
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.32.21.2
                      remote-as 62100
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.32.22.2
                      remote-as 62200
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                    
                    interface GigabitEthernet0/0/5/4
                     service-policy output comm-p1-out
                     ipv4 address 201.1.0.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group destination
                     negotiation auto
                     !
                    
                    interface GigabitEthernet0/1/5/6
                     service-policy input comm-p1-in
                     ipv4 address 201.32.21.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group source
                     negotiation auto
                    

                    !

                    Autonomous System Path Sample Configuration

                    The following configuration is an example of configuring a route policy in an autonomous system path:

                    
                               
                               
                    policy-map p11-in
                     class class-qos10
                      set discard-class 3
                      shape average percent 20
                     !
                     class class-qos20
                      set precedence flash-override
                      shape average percent 30
                     !
                     class class-qos30
                      set precedence critical
                      shape average percent 40
                     !
                     class class-qos11
                      set precedence priority
                      shape average percent 10
                     !
                     class class-qos12
                      set precedence immediate
                      shape average percent 20
                     !
                     class class-qos13
                      set precedence flash
                      shape average percent 30
                     !
                    
                    policy-map p11-out
                     class class-qos10
                      set precedence priority
                      police rate percent 20
                      !
                     !
                     class class-qos20
                      set precedence immediate
                      police rate percent 30
                      !
                     !
                     class class-qos30
                      set precedence critical
                      police rate percent 40
                      !
                     !
                     class class-qos11
                      set precedence immediate
                      police rate percent 20
                      !
                     !
                     class class-qos12
                      set precedence flash
                      police rate percent 30
                      !
                     !
                     class class-qos13
                      set precedence flash-override
                      police rate percent 40
                      !
                     !
                     class class-default
                     !
                     end-policy-map
                    !
                    
                    
                    route-policy qppb-as6000
                      if as-path in (ios-regex '61100, 61200, 61300') then
                        set qos-group 10
                      elseif as-path in (ios-regex '62100, 62200, 62300') then
                        set qos-group 20
                      elseif as-path in (ios-regex '63100, 63200, 63300') then
                        set qos-group 30
                      elseif as-path neighbor-is '61101' or as-path neighbor-is '61201' then
                        set qos-group 11
                      elseif as-path neighbor-is '61102' or as-path neighbor-is '61202' then
                        set qos-group 12
                      elseif as-path neighbor-is '61103' or as-path neighbor-is '61203' then
                        set qos-group 13
                      else
                        set qos-group 2
                      endif
                    end-policy
                    !
                    
                    router bgp 100
                     bgp router-id 10.10.10.10
                     address-family ipv4 unicast
                      table-policy qppb-as6000
                      network 201.32.21.0/24
                      network 201.37.5.0/24
                     !
                     neighbor 201.1.0.2
                      remote-as 61100
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.2.0.2
                      remote-as 61200
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.32.21.2
                      remote-as 62100
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.32.22.2
                      remote-as 62200
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                    interface GigabitEthernet0/0/5/4
                     service-policy output p11-out
                     ipv4 address 201.1.0.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group destination
                     negotiation auto
                     !
                    
                    interface GigabitEthernet0/1/5/6
                     service-policy input p11-in
                     ipv4 address 201.32.21.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group source
                     negotiation auto
                     !
                    

                    QPPB Source Prefix Configuration: Example

                    The following configuration is an example of configuring QPPB source prefix:

                    
                               
                               
                    route-policy qppb-src10-20
                      if source in (201.1.1.0/24 le 32) then
                        set qos-group 10
                      elseif source in (201.2.2.0/24 le 32) then
                        set qos-group 20
                      else
                        set qos-group 1
                      endif
                      pass
                    end-policy
                    !
                    
                    router bgp 100
                     bgp router-id 10.10.10.10
                     address-family ipv4 unicast
                      table-policy qppb-src10-
                     !
                     neighbor 201.1.1.2
                      remote-as 62100
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.2.2.2
                      remote-as 62200
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 202.4.1.1
                      remote-as 100
                      address-family ipv4 unicast
                      !
                     !
                    !
                    
                    policy-map p1-in
                     class class-qos10
                      set discard-class 4
                      shape average percent 20
                     !
                     class class-qos20
                      set precedence critical
                      shape average percent 30
                     !
                     class class-default
                     !
                     end-policy-map
                    !
                    policy-map p2-out
                     class class-qos10
                      set precedence priority
                      police rate percent 30
                     !
                     class class-qos20
                      set precedence immediate
                      police rate percent 40
                     !
                     class class-default
                     !
                     end-policy-map
                    !
                    
                    interface GigabitEthernet0/0/5/4
                     service-policy output p1-in
                     ipv4 address 201.1.0.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group source
                     negotiation auto
                     !
                    
                    interface GigabitEthernet0/1/5/6
                     service-policy input p2-out
                     ipv4 address 201.32.21.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group destination
                     negotiation auto
                     !
                    

                    QPPB Destination Prefix Configuration: Example

                    The following configuration is an example of QPPB destination prefix:

                    
                               
                               
                    route-policy qppb-des10to20
                      if destination in (10.10.0.0/16 le 28) then
                        set qos-group 10
                      elseif destination in (10.11.0.0/16 le 28) then
                        set qos-group 11
                      elseif destination in (10.12.0.0/16 le 28) then
                        set qos-group 12
                      elseif destination in (10.13.0.0/16 le 28) then
                        set qos-group 13
                      elseif destination in (10.14.0.0/16 le 28) then
                        set qos-group 14
                      elseif destination in (10.15.0.0/16 le 28) then
                        set qos-group 15
                      elseif destination in (20.20.0.0/16 le 28) then
                        set qos-group 20
                      else
                        set qos-group 1
                      endif
                      pass
                    end-policy
                    !
                    
                    router bgp 100
                     bgp router-id 10.10.10.10
                     address-family ipv4 unicast
                      table-policy qppb-des10to20
                     !
                     neighbor 201.1.1.2
                      remote-as 62100
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.1.2.2
                      remote-as 62102
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.1.3.2
                      remote-as 62103
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.1.4.2
                      remote-as 62104
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                     neighbor 201.1.5.2
                      remote-as 62105
                      address-family ipv4 unicast
                       route-policy pass-all in
                       route-policy pass-all out
                      !
                     !
                    
                    
                    policy-map p11-in
                     class class-qos10
                      set precedence priority
                      shape average percent 30
                     !
                     class class-qos11
                      set precedence immediate
                      shape average percent 10
                     !
                     class class-qos12
                      set precedence flash
                      shape average percent 15
                     !
                     class class-qos13
                      set precedence flash-override
                      shape average percent 20
                     !
                     class class-qos14
                      set precedence flash
                      shape average percent 25
                     !
                     class class-qos15
                      set precedence flash-override
                      shape average percent 30
                     !
                     class class-qos20
                      set precedence critical
                      shape average percent 40
                     !
                     class class-default
                     !
                     end-policy-map
                    !
                    policy-map p1-out
                     class class-qos10
                      set precedence priority
                      police rate percent 30
                     !
                     class class-qos20
                      set precedence critical
                      police rate percent 40
                     !
                     class class-default
                     !
                     end-policy-map
                    !
                    
                    interface GigabitEthernet0/2/2/1
                     service-policy output p1-out
                     ipv4 address 201.1.0.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group source
                     negotiation auto
                    !
                    interface GigabitEthernet0/2/2/1.2
                     service-policy input p11-in
                     ipv4 address 201.1.2.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group destination
                     dot1q vlan 2
                    !
                    interface GigabitEthernet0/2/2/1.3
                     service-policy input p11-in
                     ipv4 address 201.1.3.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group destination
                     dot1q vlan 3
                    !
                    interface GigabitEthernet0/2/2/1.4
                     service-policy input p11-in
                     ipv4 address 201.1.4.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group destination
                     dot1q vlan 4
                    !
                    interface GigabitEthernet0/2/2/1.5
                     service-policy input p11-in
                     ipv4 address 201.1.5.1 255.255.255.0
                     ipv4 bgp policy propagation input qos-group destination
                     dot1q vlan 5
                    !
                    

                    Hierarchical Ingress Policing: Example

                    Hierarchical policing allows service providers to provision the bandwidth that is available on one link among many customers. Traffic is policed first at the child policer level and then at the parent policer level.

                    In this example, the child policy specifies a police rate of 40 percent. This is 40 percent of the transmitted rate in the parent policy. The parent policy specifies a police rate of 50 percent. This is 50 percent of the interface rate. The child policy remarks traffic that exceeds the conform rate; the parent policy drops traffic that exceeds the conform rate.

                    
                              
                              
                    interface GigabitEthernet0/1/5/7
                     service-policy input parent
                     mac-accounting ingress
                     mac-accounting egress
                    !
                    
                    class-map match-any customera
                     match vlan 10-30
                     end-class-map
                    !
                    class-map match-any customerb
                     match vlan 40-70
                     end-class-map
                    !
                    class-map match-any precedence-5
                     match precedence 5
                     end-class-map
                    !
                    !
                    policy-map child
                     class precedence-5
                      priority level 1
                      police rate percent 40
                      !
                     !
                     class class-default
                      police rate percent 30
                       conform-action set precedence 2
                       exceed-action set precedence 0
                      !
                     !
                     end-policy-map
                    !
                    
                    policy-map parent
                     class customera
                      service-policy child
                      police rate percent 50
                       conform-action transmit
                       exceed-action drop
                      !
                     !
                     class customerb
                      service-policy child
                      police rate percent 20
                       conform-action transmit
                       exceed-action drop
                      !
                     !
                     class class-default
                     !
                     end-policy-map
                    !
                    

                    In-Place Policy Modification: Example

                    The following configuration is an example of in-place policy modification:

                    Defining a policy map:

                    
                              
                              
                    configure
                    policy-map policy1
                    class class1
                    set precedence 3
                    commit
                    

                    Attaching the policy map to an interface:

                    
                              
                              
                    configure
                    interface POS 0/6/0/1
                    service-policy output policy1
                    commit
                    

                    Modifying the precedence value of the policy map:

                    
                              
                              
                    configure
                    policy-map policy1
                    class class1
                    set precedence 5
                    commit
                    

                    Note


                    The modified policy policy1 takes effect on all the interfaces to which the policy is attached. Also, you can modify any class-map used in the policy-map. The changes made to the class-map takes effect on all the interfaces to which the policy is attached.


                    Additional References

                    The following sections provide references related to implementing packet classification.

                    Related Documents

                    Related Topic

                    Document Title

                    Initial system bootup and configuration

                    Cisco IOS XR Getting Started Guide for the Cisco CRS Router

                    Master command reference

                    Cisco CRS Router Master Command Listing

                    QoS commands

                    Cisco IOS XR Modular Quality of Service Command Reference for the Cisco CRS Router

                    User groups and task IDs

                    “Configuring AAA Services on Cisco IOS XR Software” module of Cisco IOS XR System Security Configuration Guide

                    Initial system bootup and configuration

                    Cisco IOS XR Getting Started Guide for the Cisco CRS Router

                    Standards

                    Standards

                    Title

                    No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.

                    MIBs

                    MIBs

                    MIBs Link

                    To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http:/​/​cisco.com/​public/​sw-center/​netmgmt/​cmtk/​mibs.shtml

                    RFCs

                    RFCs

                    Title

                    No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

                    Technical Assistance

                    Description

                    Link

                    The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

                    http:/​/​www.cisco.com/​techsupport