Configuring Fabric QoS Policies and Classes

This module provides the conceptual and configuration information for fabric QoS.

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

Release

Modification

Release 5.0.0

This feature was introduced.

Release 6.6.1

Support for assured forwarding (AF) priority was introduced.

Prerequisites for Configuring Fabric Quality of Service Policies and Classes

This prerequisite is 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

Overview

The fabric queue selection mechanism is known as fabric QoS. There are four queues per destination port: (high priority) HP1, HP2, assured-forwarding (AF) and best effort (BE).


Note

By default, internal control traffic is placed in the high-priority queue.


You can configure a fabric QoS policy that defines classification criteria for selecting high-priority or low-priority queue. 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.

Of the four levels of priority—HP1, HP2, AF, and BE—AF is unused. From Release 6.6.1 onwards, support for AF is enabled. The enhancement allows for AF and BE traffic to be supported, even while prioritizing traffic for BE. This provides better quality of service whenever there is a fabric congestion.

A maximum of four classescan be specified within the policy. A class known as class-default is automatically created and equates to the BE 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.


Note

The class-map for fabric QoS checks that all the IPv4, IPv6 and MPLS matches the conditions configured for all the incoming packets. The match also supports Class of Service (CoS).


Fabric QoS policy class maps are restricted to matching a subset of these 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.


The fabricq queue selection mechanism is known as Fabric QoS. To provide class of service to the traffic under fabric congestion scenarios, configure Fabric QoS. The platform-independent user interface allows you to configure an MQC policy on the switch fabric queues. This policy is global for all line cards on the router.

Ingress Policy and Fabric QoS Policy Interaction

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.

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.

How to Configure Fabric Quality of Service Policies and Classes

Creating a Traffic Class

See the “Creating a Traffic Class” section in the “Configuring Modular Quality of Service Packet Classification on Cisco IOS XR Software” module.

Creating a Fabric QoS Service Policy

SUMMARY STEPS

  1. configure
  2. class-map class-map-name
  3. match precedence class-map precedence value
  4. policy-map policy-name
  5. class class-name
  6. priority[ level priority-level ]
  7. exit
  8. exit
  9. switch-fabric service-policy policy_name
  10. Use the commit or end command.

DETAILED STEPS

  Command or Action Purpose
Step 1

configure

Example:


RP/0/RP0/CPU0:router# configure

Enters XR Config mode.

Step 2

class-map class-map-name

Example:


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

Creates a class map to be used for matching packets to the class whose name you specify and enters the class map configuration mode. If you specify 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 class-map 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.

Step 4

policy-map policy-name

Example:


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

Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy and enters the policy map configuration mode.

Step 5

class class-name

Example:


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

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

Step 6

priority[ level priority-level ]

Example:


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

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

Step 7

exit

Example:


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

Returns the router to policy map configuration mode.

Step 8

exit

Example:


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

Returns the router to XR Config mode.

Step 9

switch-fabric service-policy policy_name

Example:


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

Configures a service policy for the switch fabric.

Step 10

Use the commit or end command.

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

end —Prompts user 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 session, without committing the configuration changes.

Configuration Examples for Configuring Fabric Quality of Service Policies and Classes

Configuring Fabric Quality of Service Policies and Classes: Example

This configuration is an example of how the packets are matched:

class-map match-all High
match not mpls experimental topmost 0
match not precedence routine
end-class-map
The match is based on the outermost protocol with these results:
  • IP packets:

    • IP packets with ToS0 (Type of Service) is False, because match not mpls experimental topmost 0 is True and match not precedence routine is False. So both the options are False.

    • IP packets with ToS1 to ToS7 is True, because match not mpls experimental topmost 0 is True and match not precedence routine is True. So both the options are True.

  • MPLS packets:

    • MPLS packets with EXP0 (Experimental bits) is False, because match not mpls experimental topmost 0 is False and match not precedence routine is True. So both the options are False.

    • MPLS packets with EXP1 to EXP7 is True, because match not mpls experimental topmost 0 is True and match not precedence routine is True. So both the options are True.

This 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
 !

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

This 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-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 level 1
  police rate percent 20
  conform-action set qos-group 5
class business
  set qos-group 3
 class broadband-games
  set qos-group 3

Additional References

These sections provide references related to implementing fabric QoS policies and classes.

Related Documents

QoS commands

Cisco IOS XR Modular Quality of Service Command Reference for the

User groups and task IDs

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

QoS Commands

Modular Quality of Service Command Reference for Cisco NCS 6000 Series Routers

User groups and task IDs

“Configuring AAA Services on Cisco IOS XR Software” module of System Security Configuration Guide for Cisco NCS 6000 Series Routers

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.

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/cisco/web/support/index.html