Feedback
|
Table Of Contents
IPv6 QoS Enhancements for 12000 Series Router Line Cards
Hierarchical Quality of Service
Hierarchical QoS Configuration
Time and Percentage-Based Shaping, Policing, WRED, and Queue-Limit
Time and Percentage-Based Shaping, Policing, WRED, and Queue-Limit Configuration
Time and Percentage-Based Shaping, Policing, WRED, and Queue-Limit Restrictions
Legacy Tofab QoS Configuration
Related Features and Technologies
Supported Standards, MIBs, and RFCs
IPv6 QoS Enhancements for 12000 Series Router Line Cards
Part Number: OL-8688-01 (Rev. A0) November 16, 2007
Feature History
Release Modification12.0(32)S
The IPv6 QoS enhancement features were introduced on Integrated Services Engine (ISE) and multiservice engine line cards for Cisco 12000 series routers.
This feature module provides the IPv6 QoS Enhancement information in the following sections:
•
IPv6 QoS Enhancement Features
•
Supported Standards, MIBs, and RFCs
IPv6 QoS Enhancement Features
The IPv6 QoS Enhancement features are designed for Integrated Services Engine (ISE) and multiservice engine line cards on the Cisco 12000 series routers running Cisco IOS Release 12.0(32)S.
The IPv6 QoS Enhancement features are as follows:
•
Hierarchical Quality of Service
•
Time and Percentage-Based Shaping, Policing, WRED, and Queue-Limit
802.1p Mapping
For an IPv6 edge router that is attached to a Layer 2 switch on a customer facing interface and to an IPv6 router on a core facing interface, two enhancements ensure a consistent, end-to-end QoS model across the network:
1.
The ability to map an L2 CoS to an L3 DSCP (or precedence) as packets ingress on the customer facing interface.
2.
The ability to map an L3 DSCP (or precedence) to an L2 CoS for packets egressing on the customer facing interface.
802.1p Mapping Configuration
The CLI command for this feature already exists and is already supported by IPv4. There are no new or modified CLI commands for this feature in Cisco IOS Release 12.0(32)S. The class-map configuration follows the Cisco IOS Modular Quality of Service CLI (MQC) standard (up to 4 values or ranges).
To match 802.1p bits, use the match cos <x> command. Up to 4 different CoS values can be configured on the same line.
For example:
Router(config)#class-map match-any vlan_cosRouter(config-pmap-c)#match cos 1 2 3 4To set the 802.1p bits in a VLAN tagged packet, use the set cos <x> command.
The following example shows packets mapped from the ef class to cos 7 and from the ah1 class to cos 1.
Router#config tRouter(config)#policy-map cos_mapperRouter(config-pmap)#class efRouter(config-pmap-c)#set cos 7Router(config-pmap)#class ah1Router(config-pmap-c)#set cos 1Router(config-pmap-c)#exit802.1p Mapping Restrictions
Matching 802.1p priority bits is only supported on ingress interfaces. Match cos policy-maps will be rejected on egress interfaces. Likewise, setting 802.1p bits is only supported on egress interfaces and will be rejected on ingress interfaces.
Hierarchical Quality of Service
The IPv6 Hierarchical QoS enhancement provides the ability to:
•
Apply QoS policies on a per-user basis
•
Match a VLAN in a parent policy and apply a child policy to each matched VLAN
The child-level configuration can be any supported IPv6 QoS configuration and is not limited to match DSCP. The only exception is match VLAN, which is not supported in child policies.
Bandwidth cannot be configured in the classes of the parent policy. If you attempt to configure bandwidth in a parent policy class, the policy is rejected, and the following error message is displayed:
% bandwidth cannot be configured on a parent class in policy test_parent,% only shape is supported on egress.Hierarchical QoS Configuration
The CLI command for this feature already exists and is already supported by IPv4. There are no new or modified CLI commands for this feature in Cisco IOS Release 12.0(32)S.
To configure top-level class-map matches, use the match vlan command and the class-map command:
Router#config tRouter(config)#class-map Cust1-classRouter(config-cmap)#match vlan 1Router(config)#class-map Cust2-classRouter(config-cmap)#match vlan 2Router(config)#class-map CustN-classRouter(config-cmap)#match vlan NRouter(config-cmap)#exitTo configure child-level class-map matches, use the match dscp command and the class-map command.
Router#config tRouter(config)#class-map EF-classRouter(config-cmap)#match dscp cs5Router(config)#class-map AF1-classRouter(config-cmap)#match dscp cs4Router(config)#class-map AF2-classRouter(config-cmap)#match dscp cs3Router(config-cmap)#exitConfiguring Child Policy
Router#config tRouter(config)#policy-map ChildRouter(config-pmap)#class EF-classRouter(config-pmap-c)#priorityRouter(config-pmap-c)#police 100000Router(config-pmap)#class AF1-classRouter(config-pmap-c)#bandwidth percent 80Router(config-pmap-c)#police 4000000Router(config-pmap)#class AF2-classRouter(config-pmap-c)#bandwidth percent 10Router(config-pmap)#class class-defaultRouter(config-pmap-c)#exitRouter(config-pmap)#exitRouter(config)#Configuring Parent Policy
Router#config tRouter(config)#policy-map ParentRouter(config-pmap)#class Cust1-classRouter(config-pmap-c)#shape average 10000000Router(config-pmap-c)#service-policy ChildRouter(config-pmap)#class Cust2-classRouter(config-pmap-c)#shape average 10000000Router(config-pmap-c)#service-policy ChildRouter(config-pmap)#class CustN-classRouter(config-pmap-c)#shape average 10000000Router(config-pmap-c)#service-policy ChildRouter(config-pmap-c)#exitRouter(config-pmap)#exitRouter(config)#Applying a Policy on the Main Interface
Router(config)#interface GigabitEthernet0/0Router(config-if)#service-policy out ParentRouter(config-if)#exitRouter(config)#Applying a QoS Policy with Traffic Matching Using Precedence, DSCP, Protocol, and ACL
Configuring the Class Map
Router#config tRouter(config)#class-map match-all dscp46Router(config-cmap)#match dscp 46Router(config)#class-map match-all vlan1Router(config-cmap)#match vlan 1Router(config)#class-map match-all vlan2Router(config-cmap)#match vlan 2Router(config)#class-map match-all v6aclRouter(config-cmap)#match access-group name qos_aclRouter(config)#class-map match-all prec3Router(config-cmap)#match precedence 3Router(config)#class-map match-all ipv6Router(config-cmap)#match protocol ipv6Router(config-cmap)#exitRouter(config-if)#exitRouter(config-if)#Router(config)#Configuring the Policy Map
Router(config)#policy-map child1Router(config-pmap)#class dscp46Router(config-pmap-c)#shape average 16000000Router(config-pmap-c)#random-detect dscp-basedRouter(config-pmap-c)#random-detect dscp 46 100 packets 250 packets 1Router(config-pmap)#class prec3Router(config-pmap-c)#police 32000000 1000000 1000000 conform-action transmit Router(config-pmap-c-police)#exceed-action dropRouter(config-pmap)#class v6aclRouter(config-pmap-c)#shape average 8192000Router(config-pmap-c)#queue-limit 500 packetsRouter(config-pmap)#class ipv6Router(config-pmap-c)#set dscp 3Router(config-pmap)#class class-defaultRouter(config-pmap-c)#bandwidth remaining percent 100Router(config)#policy-map child2Router(config-pmap)#class dscp46Router(config-pmap-c)#set cos 6Router(config-pmap-c)#bandwidth 8192Router(config-pmap)#class ipv6Router(config-pmap-c)#police 16000000 500000 500000 conform-action set-dscp-transmit af22 Router(config-pmap-c-police)#exceed-action dropRouter(config-pmap-c)#bandwidth 32000Router(config-pmap)#class class-defaultRouter(config-pmap-c)#bandwidth remaining percent 100Router(config)#policy-map parentRouter(config-pmap)#class vlan1Router(config-pmap-c)#shape average 128000000Router(config-pmap-c)#service-policy child1Router(config-pmap)#class vlan2Router(config-pmap-c)#shape average 128000000Router(config-pmap-c)#service-policy child2Router(config-pmap)#exitRouter(config-if)#exitRouter(config)#ipv6 access-list qos_aclRouter(config-ipv6-acl)#permit tcp any 2001:1:2:3:4::/96 gt 1024Router(config-ipv6-acl)#exitRouter(config-if)#exitRouter(config)#Hierarchical QoS Restrictions
In the Layer 3 model, the hierarchical QoS command, match VLAN is only supported in parent policies. Match VLAN is not supported in child policies.
Match VLAN cannot be mixed with other classification criteria in a parent policy.
Hierarchical QoS is supported only on egress interfaces.
Time and Percentage-Based Shaping, Policing, WRED, and Queue-Limit
The Time and Percentage-Based Shaping, Policing, WRED, and Queue-Limit feature allows you to configure:
•
Percentage-based traffic shaping
•
Percentage-based QoS policing
•
Time-based Weighted Random Early Detection (WRED) minimum and maximum thresholds
•
Queue limit threshold in milliseconds or in microseconds
After the threshold limits are configured in a policy map, the policy map can be used on multiple interfaces, including those with different amounts of bandwidth.
Time-based WRED can be used with DSCP as well as precedence-based WRED.
This feature module section provides new configuration information for Cisco IOS Release 12.0(32)S. For configuration information on this feature, refer to the QoS: Time-Based Thresholds for WRED and Queue Limit for the Cisco 12000 Series Router feature module.
Time and Percentage-Based Shaping, Policing, WRED, and Queue-Limit Configuration
Configuring Shape
To shape a class to a percent of visible bandwidth, use the following command:
shape average percent <x%> [<sustained burst> ms [<excess burst> ms]]
Configuring Police
To shape police, use the following command:
police cir percent <x%> [bc <y> ms [be <z> ms]]
Configuring WRED
To configure the WRED minimum and maximum thresholds based on a unit of time, as opposed to number of packets, use the following command:
random-detect dscp <d> <min> ms <max> ms
Configuring Queue-Limit
To configure a queue limit based on a unit of time, use the following command:
queue-limit <x> ms
Time and Percentage-Based Shaping, Policing, WRED, and Queue-Limit Configuration Examples
Router#config tRouter(config)#policy-map shape_percentRouter(config-pmap)#class ipv6Router(config-pmap-c)#shape average percent 50 200 ms 200 msRouter(config-pmap-c)#exitRouter(config-pmap)#exitRouter(config)#Router(config)#policy-map police_percentRouter(config-pmap)#class ipv6Router(config-pmap-c)#police cir percent 75 bc 300 ms be 100 msRouter(config-pmap-c)#exitRouter(config-pmap)#exitRouter(config)#Router(config)#policy-map qlimit_timeRouter(config-pmap)#class ipv6Router(config-pmap-c)#bandwidth percent 55Router(config-pmap-c)#queue-limit 450 msRouter(config-pmap-c)#exitRouter(config-pmap)#exitRouter(config)#Router(config)#policy-map wred_timeRouter(config-pmap-c)#class ipv6Router(config-pmap-c)#shape average percent 50Router(config-pmap-c)#random-detect dscp-basedRouter(config-pmap-c)#random-detect dscp 1 50 ms 150 msRouter(config-pmap-c)#random-detect dscp 46 100 ms 200 msRouter(config-pmap-c)#exitRouter(config-pmap)#exitRouter(config)#Time and Percentage-Based Shaping, Policing, WRED, and Queue-Limit Restrictions
The GSR hardware requires that the Q-limit and Weighted Random Early Detection (WRED) are programmed in units of packets. Configuring it based on a unit of time requires an assumption as to the average packet size. The average packet size that is assumed by the existing code is 256 bytes.
Legacy Tofab QoS
The legacy Tofab QoS enhancement enables users to configure QoS on the toward-the-fabric queues of line cards. Tofab QoS does not refer to configuring ingress QoS policies or shape queues.
Under current legacy Tofab QoS, line cards cannot be configured with the Cisco IOS Modular Quality of Service CLI (MQC). Legacy commands previous to MQC must be used.
Current Tofab QoS configuration can perform the following tasks:
•
Classify packets based on precedence
•
Map packet precedence to a RED profile
•
Map packet precedence to one of 7 CoS queues or the low-latency queue
•
Configure DRR weights on the CoS queues to allow a level of bandwidth allocation between classes of traffic
Legacy Tofab QoS Configuration
Configuring a Class of Service Queue Group
To configure a Class of Service Queue Group, use the cos-queue-group command:
Router#config tRouter(config)#cos-queue-group <name>Router(config-cos-que)#precedence <value> queue <queue #>Router(config-cos-que)#precedence <value> random-detect-label <label>Router(config-cos-que)#queue <queue #> <DRR weight>Router(config-cos-que)#random-detect <label> <min threshold> <max threshold> 1Router(config-cos-que)#exitRouter(config)#Configuring a Slot Table Class of Service
To configure a Slot Table Class of Service, use the slot-table-cos command:
Router(config)#config tRouter(config)#slot-table-cos <name>Router(config-slot-cos)#destination-slot <slot #> <name of cos-queue-group to apply>Router(config-slot-cos)#exitRouter(config)#Configuring an Ingress Class of Service Slot
To configure an Ingress Class of Service Slot, use the rx-cos-slot command:
Router(config)#config tRouter(config)#rx-cos-slot <slot# | all> <name of slot-table-cos to apply>Router(config)#Legacy Tofab QoS Configuration Example
Router#config tRouter(config)#rx-cos-slot 4 TOFABRouter(config)#Router(config)#slot-table-cos TOFABRouter(config-slot-cos)#destination-slot all TEST1Router(config-slot-cos)#exitRouter(config)#Router(config)#cos-queue-group TEST1Router(config-cos-que)#precedence 1 queue 1Router(config-cos-que)#precedence 2 queue 2Router(config-cos-que)#precedence 3 queue 3Router(config-cos-que)#precedence 4 queue 3Router(config-cos-que)#precedence 5 queue 3Router(config-cos-que)#precedence 6 queue low-latencyRouter(config-cos-que)#precedence 7 queue low-latencyRouter(config-cos-que)#queue 1 500Router(config-cos-que)#queue 2 1000Router(config-cos-que)#queue 3 1500Router(config-cos-que)#queue low-latency strict-priorityRouter(config-cos-que)#exitRouter(config)#Legacy Tofab QoS Restrictions
This feature only supports precedence as a classification criteria. If the customer classifies traffic within their network using DSCP, then they must:
•
Convert the DSCP to a precedence value when configuring the CLI.
•
Ensure that none of their traffic classes use DSCP values, which overlap when converted to precedence.
An example is DSCP 1 and DSCP 2. These both map to precedence 0, and the tofab QoS CLI cannot distinguish between them.
If an input MQC policy is applied that has a set action that remarks the packet DSCP then the packet is enqueued on the Tofab queues based on the remarked DSCP value, not the original value.
Benefits
The IPv6 enhancements give the Integrated Services Engine (ISE) and multiservice engine line cards the same features as IPv4.
Related Features and Technologies
Cisco IOS Quality of Service (QoS) Solutions for Cisco 12000 series routers
Related Documents
For further information on configuring Cisco 12000 series routers, refer to the following documents.
•
Cisco 12000 Series Router Configuration Guide for Cisco IOS
•
Cisco IOS Release 12.0S Features for Cisco 12000 Series Internet Router
•
Cisco IOS Quality of Service Solutions Configuration Guide
•
Cisco IOS Quality of Service Solutions Command Reference
•
Installation and Configuration Guide for the specific router
Supported Platforms
IPv6 enhancements are supported on Cisco 12000 series router, Integrated Services Engine (ISE) and multiservice engine line cards running Cisco IOS Release 12.0(32)S.
Supported Standards, MIBs, and RFCs
Standards
No new or modified standards are supported, and support for existing standards has not been modified.
MIBs
No new or modified MIBs are supported, and support for existing MIBs has not been modified.
RFCs
No new or modified RFCs are supported, and support for existing RFCs has not been modified.
Prerequisites
No prerequisites are required for the IPv6 QoS enhancement features.
Command Reference
There are no new or modified CLI commands for IPv6 QoS enhancement features in Cisco IOS Release 12.0(32)S.
Glossary
© 2006 Cisco Systems, Inc. All rights reserved.
Feedback