Cisco IOS XR Modular Quality of Service Configuration Guide for the Cisco CRS-1 Router
Configuring Fabric Quality of Service Policies and Classes
Downloads: This chapterpdf (PDF - 393.0KB) The complete bookPDF (PDF - 3.31MB) | Feedback

Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

Table Of Contents

Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

Contents

Prerequisites for Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

Information About Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

Overview

Ingress Policy and Fabric QoS Policy Interaction

How to Configure Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

Creating a Traffic Class

Creating a Fabric QoS Service Policy

Restrictions

Configuration Examples for Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

Configuring Fabric Quality of Service Policies and Classes: Example

Additional References

Related Documents

Standards

MIBs

RFCs

Technical Assistance


Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software


This module provides the conceptual and configuration information for fabric QoS on Cisco IOS XR software.


Note For additional conceptual information about QoS in general and complete descriptions of the QoS commands listed in this module, see the "Related Documents" section of this module. To locate documentation for other commands that might appear in the course of executing a configuration task, search online in the Cisco IOS XR software master command index.


Feature History for Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

Release
Modification

Release 3.6.0

This feature was introduced on the Cisco CRS-1.

Release 3.7.0

No modification.

Release 3.8.0

No modification.

Release 3.9.0

No modification.


Contents

Prerequisites for Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

Information About Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

How to Configure Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

Configuration Examples for Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

Additional References

Prerequisites for Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

The following prerequisites are required for configuring modular fabric QoS 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.

Information About Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

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

Overview

Ingress Policy and Fabric QoS Policy Interaction

Overview

The fabricq queue selection mechanism is known as fabric QoS. Three ports are defined: a high-priority port for internal control traffic and classified high-priority traffic, a low-priority port for assured-forwarding (AF) traffic, and a best effort port (BE) for low-priority traffic. Each port is assigned 1023 queues. The queues map to a physical egress interface and are assigned when the interface is created. The associated quanta for each of the queues are derived from the bandwidth of the physical or logical interfaces in relative terms to the other interfaces present on that line card or PLIM.

By default, internal control traffic is placed in the high-priority queue. All other traffic is placed in the best-effort queue.

If an ingress QoS policy is configured classifying certain traffic as being priority, then the priority traffic is placed into the high-priority queue together with the internal control traffic. All other traffic is placed in the best-effort queue.

The user can configure a fabric QoS policy that defines the relative MDRR bandwidths associated with the AF and BE ports. This is applied to the secure domain router (SDR) (this may be the whole router if no individual service domain routers are configured) and affects all fabricq ASICs in the logical router.

A maximum of three classes can be specified within the policy. A class known as class-default is automatically created and equates to the BE port or queues. The name of this class cannot be altered. Any name may be applied to the classes that equate to the priority and AF ports or queues.

Within the fabric QoS policy, the only applicable actions are to assign priority to the priority class and bandwidth remaining percent to the AF and BE classes. The bandwidth remaining percent for the BE class does not need to be specified. It receives all remaining capacity after the appropriate weight has been allocated to the AF class. The user may wish to specifically enter configuration values for the default class just for clarity.

Fabric QoS policy class maps are restricted to matching a subset of the following classification options:

precedence

dscp

qos-group

discard-class

mpls experimental topmost


Note To match on qos-group or discard-class, an ingress QoS policy must be applied, setting the required values for qos-group or discard-class. Both of these variables have local significance only and are not recognized outside of the router.


Ingress Policy and Fabric QoS Policy Interaction

Be careful when applying ingress QoS policies when they must interact with a fabric QoS policy. The fabric QoS policy overrides any traffic classification conducted by the ingress policy when determining which traffic should be placed in the priority, AF, or BE queues within the fabricq ASIC. In addition, the fabric QoS policy is used to determine which traffic is placed in the priority queue within the ingressq ASIC fabric queues and the switch fabric ASICs (S2 and S3 stages) rather than any priority marking set by the ingress QoS policy. The priority marking performed by the ingress QoS policy is still used when determining packet scheduling in the shape queues within the ingressq ASIC.

For example, if an ingress QoS policy were to classify and mark particular traffic types as being priority and a fabric QoS policy were to be applied either marking alternative traffic as being priority or not setting priority at all, then the ingress policy priority statement is effectively ignored in the fabricq, the S2 ASICs, and the S3 ASICs. Use caution to ensure that there is no conflict between the ingress QoS policy and the fabric QoS policy.

A very simplistic illustration would be if an ingress QoS policy uses a class-map to exclude MPLS experimental 3 from the priority class, but the fabric QoS policy places MPLS experimental 3 traffic in the priority class. In this case, the MPLS experimental 3 traffic is placed in the high-priority S2 and S3 queues and the fabricq high-priority port or queues.

If the ingress QoS policy remarks certain traffic with values that the fabric QoS policy class-maps are to match on, then the remarked traffic is matched and placed in the appropriate port or queues. This provides the ability for the ingress QoS policy and the fabric QoS policy to complement each other, rather than potentially conflicting.

As noted above, fabric QoS is constrained to a subset of the possible match criteria that can be used in its class maps. If the ingress QoS policy were to set a qos-group marking for all traffic that should be placed in the priority queue and another qos-group marking for all traffic to be placed in the AF class, then if the fabric QoS policy class maps matches on the qos-group values, the policy is honored end to end. This approach enables multiple ingress QoS policies to interact in the expected manner with a fabric QoS policy.

It is important to remember that if an ingress QoS policy is applied to an interface and the fabric QoS policy has been applied to the router, then the ingress MSC RX PSE is required to perform two classification cycles. This has an impact on the forwarding capacity of the line card or PLIM, reducing the performance to about 62.5 Mpps.

You can choose not to apply a specific fabric QoS policy, giving the ingress QoS policy the decision on which traffic is placed in the high-priority queues but removing the ability to differentiate between AF and BE classes in the fabricq ASIC.

How to Configure Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

This section contains instructions for the following tasks:

Creating a Traffic Class (required)

Creating a Fabric QoS Service Policy (required)

Creating a Traffic Class

See "Creating a Traffic Class" section on page 24 in Configuring Modular Quality of Service Packet Classification on Cisco IOS XR Software. For fabric QoS, the supported class-map match types are:

precedence

dscp

qos-group

discard-class

mpls exp topmost

cos

Creating a Fabric QoS Service Policy

This configuration task explains how to configure a fabric QoS policy.

Restrictions

A maximum of three classes can be specified within the service policy. A class known as default is automatically created and equates to the BE port or queues. The name of this class cannot be modified. You can rename the classes that equate to the priority and AF ports or queues.

Within the fabric QoS policy, the only applicable actions are to assign:

Priority to the priority class

Percent of bandwidth remaining to the AF and BE classes.

The percent of bandwidth remaining for the BE class does not need to be specified.

SUMMARY STEPS

1. configure

2. class-map class-map-name

3. match precedence precedence-value

4. policy-map policy-name

5. class-map class-map-name

6. priority

7. switch-fabric service-policy

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 

class-map 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.

Step 3 

match precedence precedence value

Example:

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

Specifies a precedence value that is used as the match criteria against which packets are checked to determine if they belong to the class specified by the class map.


Note Fabric QoS is supported for IPv4 only.


Step 4 

policy-map policy-name

Example:

RP/0/RP0/CPU0:router(config-cmap)# 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 5 

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 6 

priority

Example:

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

Specifies priority to a class of traffic belonging to a policy map.

Step 7 

switch-fabric service-policy

Example:

RP/0/RP0/CPU0:router(config)# switch-fabric service-policy map1

Configures a service policy for the switch fabric.

Step 8 

end

or

commit

Example:

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

or

RP/0/RP0/CPU0:router(config)# 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.

Configuration Examples for Configuring Fabric Quality of Service Policies and Classes on Cisco IOS XR Software

This section contains the following examples:

Configuring Fabric Quality of Service Policies and Classes: Example

Configuring Fabric Quality of Service Policies and Classes: Example

The following configuration is an example of a possible fabric QoS policy:

class-map match-any llq
 match mpls experimental topmost 5
 match precedence critical
!
class-map match-any business
 match mpls experimental topmost 3
 match precedence flash
!
policy-map fabric_qos
 class llq
  priority
 !
 class business
  bandwidth remaining percent 65
 !
 class class-default
  bandwidth remaining percent 35
 !

!

To apply the policy, use the switch-fabric service-policy command with the policy-name argument.

The following example shows an ingress QoS policy working in conjunction with a fabric QoS policy. The fabric QoS policy is shown first, followed by the ingress QoS policy:

class-map match-any llq
 match qos-group 5
!
class-map match-any business&games
 match qos-group 3
!
policy-map fabric_qos
 class llq
  priority
 !
 class business&games
  bandwidth remaining percent 65
 !
 class class-default
  bandwidth remaining percent 35
 !
!
 
   
class-map match-any voip
 match mpls experimental topmost 5
 match precedence critical
 match dscp cs5
!
class-map match-any business
 match mpls experimental topmost 4
 match dscp cs4
 match precedence flash-override
!
class-map match-any broadband-games
 match mpls experimental topmost 3
 match dscp cs3
 march precedence flash
!
 
   
policy-map input-qos
 class voip
  priority
  set qos-group 5
 class business
  set qos-group 3
 class broadband-games 
  set qos-group 3
 
   

Note In the policy-map input-qos command, the priority keyword under class voip is for reference rather than for configuration.


Additional References

The following sections provide references related to implementing fabric QoS policies and classes on Cisco IOS XR software.

Related Documents

Related Topic
Document Title

Cisco IOS XR QoS commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples

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

Traffic shaping, traffic policing, low-latency queueing, and MDDR

Configuring QoS Congestion Management on Cisco IOS XR Software

WRED, RED, and tail drop

Configuring QoS Congestion Avoidance on Cisco IOS XR Software

Cisco IOS XR getting started material

Cisco IOS XR Getting Started Guide

Information about user groups and task IDs

Configuring AAA Services on Cisco IOS XR Software module of Cisco IOS XR System Security Configuration Guide for Cisco CRS-1 Router

Cisco IOS XR QoS overview information

Modular Quality of Service Overview on Cisco IOS XR Software


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