Cisco 2960X QoS Configuration Guide

Download as pdf or txt
Download as pdf or txt
You are on page 1of 152

QoS Configuration Guide, Cisco IOS Release 15.

2(2)E (Catalyst 2960-XR


Switch)
First Published: August 08, 2013

Americas Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 527-0883

Text Part Number: OL-32578-01


THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS,
INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.

THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH
THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY,
CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.

The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB's public domain version
of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.

NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS" WITH ALL FAULTS.
CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.

IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT
LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network
topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional
and coincidental.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: http://
www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership
relationship between Cisco and any other company. (1110R)

© 2014 Cisco Systems, Inc. All rights reserved.


CONTENTS

Preface Preface ix
Document Conventions ix
Related Documentation xi
Obtaining Documentation and Submitting a Service Request xi

CHAPTER 1 Using the Command-Line Interface 1


Information About Using the Command-Line Interface 1
Command Modes 1
Using the Help System 3
Understanding Abbreviated Commands 4
No and Default Forms of Commands 5
CLI Error Messages 5
Configuration Logging 5
How to Use the CLI to Configure Features 6
Configuring the Command History 6
Changing the Command History Buffer Size 6
Recalling Commands 6
Disabling the Command History Feature 7
Enabling and Disabling Editing Features 7
Editing Commands Through Keystrokes 8
Editing Command Lines That Wrap 9
Searching and Filtering Output of show and more Commands 10
Accessing the CLI on a Switch Stack 11
Accessing the CLI Through a Console Connection or Through Telnet 11

CHAPTER 2 Configuring QoS 13


Finding Feature Information 13

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 iii
Contents

Prerequisites for QoS 13


QoS ACL Guidelines 14
Applying QoS on Interfaces Guidelines 14
Policing Guidelines 15
General QoS Guidelines 15
Restrictions for QoS 16
Information About QoS 16
QoS Implementation 16
Layer 2 Frame Prioritization Bits 17
Layer 3 Packet Prioritization Bits 17
End-to-End QoS Solution Using Classification 18
QoS Basic Model 18
Actions at Ingress Port 18
Actions at Egress Port 19
Classification Overview 19
Non-IP Traffic Classification 20
IP Traffic Classification 20
Classification Flowchart 22
Access Control Lists 22
Classification Based on Class Maps and Policy Maps 23
Policing and Marking Overview 24
Physical Port Policing 25
SVI Policing 26
Mapping Tables Overview 28
Queueing and Scheduling Overview 29
Weighted Tail Drop 29
SRR Shaping and Sharing 30
Queueing and Scheduling on Egress Queues 31
Egress Expedite Queue 32
Egress Queue Buffer Allocation 32
Buffer and Memory Allocation 33
Queues and WTD Thresholds 33
Shaped or Shared Mode 34
Packet Modification 34
Standard QoS Default Configuration 35

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
iv OL-32578-01
Contents

Default Ingress Queue Configuration 35


Default Egress Queue Configuration 36
Default Mapping Table Configuration 39
DSCP Maps 39
Default CoS-to-DSCP Map 40
Default IP-Precedence-to-DSCP Map 40
Default DSCP-to-CoS Map 41
How to Configure QoS 41
Enabling QoS Globally 41
Enabling VLAN-Based QoS on Physical Ports 43
Configuring Classification Using Port Trust States 44
Configuring the Trust State on Ports Within the QoS Domain 45
Configuring the CoS Value for an Interface 47
Configuring a Trusted Boundary to Ensure Port Security 49
Enabling DSCP Transparency Mode 51
DSCP Transparency Mode 52
Configuring the DSCP Trust State on a Port Bordering Another QoS Domain 53
Configuring a QoS Policy 55
Classifying Traffic by Using ACLs 55
Creating an IP Standard ACL for IPv4 Traffic 55
Creating an IP Extended ACL for IPv4 Traffic 57
Creating an IPv6 ACL for IPv6 Traffic 59
Creating a Layer 2 MAC ACL for Non-IP Traffic 61
Classifying Traffic by Using Class Maps 63
Classifying Traffic by Using Class Maps and Filtering IPv6 Traffic 66
Classifying, Policing, and Marking Traffic on Physical Ports by Using Policy Maps 68
Classifying, Policing, and Marking Traffic on SVIs by Using Hierarchical Policy
Maps 72
Classifying, Policing, and Marking Traffic by Using Aggregate Policers 80
Configuring DSCP Maps 83
Configuring the CoS-to-DSCP Map 83
Configuring the IP-Precedence-to-DSCP Map 85
Configuring the Policed-DSCP Map 86
Configuring the DSCP-to-CoS Map 87
Configuring the DSCP-to-DSCP-Mutation Map 89

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 v
Contents

Configuring Egress Queue Characteristics 91


Configuration Guidelines 91
Allocating Buffer Space to and Setting WTD Thresholds for an Egress Queue Set 91
Mapping DSCP or CoS Values to an Egress Queue and to a Threshold ID 94
Configuring SRR Shaped Weights on Egress Queues 96
Configuring SRR Shared Weights on Egress Queues 98
Configuring the Egress Expedite Queue 100
Limiting the Bandwidth on an Egress Interface 102
Monitoring Standard QoS 103
Configuration Examples for QoS 104
Example: Configuring Port to the DSCP-Trusted State and Modifying the
DSCP-to-DSCP-Mutation Map 104
Examples: Classifying Traffic by Using ACLs 105
Examples: Classifying Traffic by Using Class Maps 106
Examples: Classifying, Policing, and Marking Traffic on Physical Ports Using Policy
Maps 107
Examples: Classifying, Policing, and Marking Traffic on SVIs by Using Hierarchical Policy
Maps 108
Examples: Classifying, Policing, and Marking Traffic by Using Aggregate Policers 110
Examples: Configuring DSCP Maps 111
Examples: Configuring Egress Queue Characteristics 113
Where to Go Next 114
Additional References 114
Feature History and Information for QoS 115

CHAPTER 3 Configuring Auto-QoS 117


Finding Feature Information 117
Prerequisites for Auto-QoS 117
Auto-QoS VoIP Considerations 118
Auto-QoS Enhanced Considerations 118
Restrictions for Auto-QoS 118
Information About Configuring Auto-QoS 119
Auto-QoS Overview 119
Generated Auto-QoS Configuration 120
VoIP Device Specifics 120

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
vi OL-32578-01
Contents

Effects of Auto-QoS on Running Configuration 122


How to Configure Auto-QoS 122
Configuring Auto-QoS 122
Enabling Auto-QoS 122
Troubleshooting Auto-QoS 125
Monitoring Auto-QoS 125
Configuration Examples for Auto-Qos 126
Examples: Global Auto-QoS Configuration 126
Examples: Auto-QoS Generated Configuration for VoIP Devices 130
Examples: Auto-QoS Generated Configuration For Enhanced Video, Trust, and Classify
Devices 131
Where to Go Next for Auto-QoS 133
Additional References 134
Feature History and Information for Auto-QoS 135

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 vii
Contents

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
viii OL-32578-01
Preface
This book describes configuration information and examples for Quality of Service (QoS) on the switch.

• Document Conventions, page ix


• Related Documentation, page xi
• Obtaining Documentation and Submitting a Service Request, page xi

Document Conventions
This document uses the following conventions:

Convention Description
^ or Ctrl Both the ^ symbol and Ctrl represent the Control (Ctrl) key on a keyboard. For
example, the key combination ^D or Ctrl-D means that you hold down the Control
key while you press the D key. (Keys are indicated in capital letters but are not
case sensitive.)

bold font Commands and keywords and user-entered text appear in bold font.

Italic font Document titles, new or emphasized terms, and arguments for which you supply
values are in italic font.

Courier font Terminal sessions and information the system displays appear in courier font.

Bold Courier font Bold Courier font indicates text that the user must enter.

[x] Elements in square brackets are optional.

... An ellipsis (three consecutive nonbolded periods without spaces) after a syntax
element indicates that the element can be repeated.

| A vertical line, called a pipe, indicates a choice within a set of keywords or


arguments.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 ix
Preface
Document Conventions

Convention Description
[x | y] Optional alternative keywords are grouped in brackets and separated by vertical
bars.

{x | y} Required alternative keywords are grouped in braces and separated by vertical


bars.

[x {y | z}] Nested set of square brackets or braces indicate optional or required choices
within optional or required elements. Braces and a vertical bar within square
brackets indicate a required choice within an optional element.

string A nonquoted set of characters. Do not use quotation marks around the string or
the string will include the quotation marks.

<> Nonprinting characters such as passwords are in angle brackets.

[] Default responses to system prompts are in square brackets.

!, # An exclamation point (!) or a pound sign (#) at the beginning of a line of code
indicates a comment line.

Reader Alert Conventions


This document may use the following conventions for reader alerts:

Note Means reader take note. Notes contain helpful suggestions or references to material not covered in the
manual.

Tip Means the following information will help you solve a problem.

Caution Means reader be careful. In this situation, you might do something that could result in equipment damage
or loss of data.

Timesaver Means the described action saves time. You can save time by performing the action described in the
paragraph.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
x OL-32578-01
Preface
Related Documentation

Warning IMPORTANT SAFETY INSTRUCTIONS


This warning symbol means danger. You are in a situation that could cause bodily injury. Before you
work on any equipment, be aware of the hazards involved with electrical circuitry and be familiar with
standard practices for preventing accidents. Use the statement number provided at the end of each warning
to locate its translation in the translated safety warnings that accompanied this device. Statement 1071
SAVE THESE INSTRUCTIONS

Related Documentation

Note Before installing or upgrading the switch, refer to the release notes.

• Catalyst 2960-XR Switch, located at http://www.cisco.com/go/cat2960xr_docs.


• Cisco SFP and SFP+ modules documentation, including compatibility matrixes, located at:
http://www.cisco.com/en/US/products/hw/modules/ps5455/tsd_products_support_series_home.html

Obtaining Documentation and Submitting a Service Request


For information on obtaining documentation, submitting a service request, and gathering additional information,
see the monthly What's New in Cisco Product Documentation, which also lists all new and revised Cisco
technical documentation, at:
http://www.cisco.com/c/en/us/td/docs/general/whatsnew/whatsnew.html
Subscribe to the What's New in Cisco Product Documentation as a Really Simple Syndication (RSS) feed
and set content to be delivered directly to your desktop using a reader application. The RSS feeds are a free
service and Cisco currently supports RSS version 2.0.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 xi
Preface
Obtaining Documentation and Submitting a Service Request

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
xii OL-32578-01
CHAPTER 1
Using the Command-Line Interface
• Information About Using the Command-Line Interface, page 1
• How to Use the CLI to Configure Features, page 6

Information About Using the Command-Line Interface

Command Modes
The Cisco IOS user interface is divided into many different modes. The commands available to you depend
on which mode you are currently in. Enter a question mark (?) at the system prompt to obtain a list of commands
available for each command mode.
You can start a CLI session through a console connection, through Telnet, a SSH, or by using the browser.
When you start a session, you begin in user mode, often called user EXEC mode. Only a limited subset of
the commands are available in user EXEC mode. For example, most of the user EXEC commands are one-time
commands, such as show commands, which show the current configuration status, and clear commands,
which clear counters or interfaces. The user EXEC commands are not saved when the switch reboots.
To have access to all commands, you must enter privileged EXEC mode. Normally, you must enter a password
to enter privileged EXEC mode. From this mode, you can enter any privileged EXEC command or enter
global configuration mode.
Using the configuration modes (global, interface, and line), you can make changes to the running configuration.
If you save the configuration, these commands are stored and used when the switch reboots. To access the
various configuration modes, you must start at global configuration mode. From global configuration mode,
you can enter interface configuration mode and line configuration mode.
This table describes the main command modes, how to access each one, the prompt you see in that mode, and
how to exit the mode.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 1
Using the Command-Line Interface
Command Modes

Table 1: Command Mode Summary

Mode Access Method Prompt Exit Method About This Mode


User EXEC Begin a session Enter logout or Use this mode to
Switch>
using Telnet, SSH, quit.
or console. • Change
terminal
settings.
• Perform basic
tests.
• Display system
information.

Privileged EXEC While in user Enter disable Use this mode to


Switch#
EXEC mode, enter to exit. verify commands
the enable that you have
command. entered. Use a
password to protect
access to this mode.

Global While in privileged To exit to Use this mode to


Switch(config)#
configuration EXEC mode, enter privileged configure parameters
the configure EXEC mode, that apply to the
command. enter exit or entire switch.
end, or press
Ctrl-Z.

VLAN While in global To exit to Use this mode to


Switch(config-vlan)#
configuration configuration global configure VLAN
mode, enter the configuration parameters. When
vlan vlan-id mode, enter the VTP mode is
command. exit command. transparent, you can
create
To return to
extended-range
privileged
VLANs (VLAN IDs
EXEC mode,
greater than 1005)
press Ctrl-Z or
and save
enter end.
configurations in the
switch startup
configuration file.

Interface While in global Use this mode to


Switch(config-if)#
configuration configuration configure parameters
mode, enter the for the Ethernet
interface command ports.
(with a specific
interface).

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
2 OL-32578-01
Using the Command-Line Interface
Using the Help System

Mode Access Method Prompt Exit Method About This Mode


To exit to
global
configuration
mode, enter
exit.
To return to
privileged
EXEC mode,
press Ctrl-Z or
enter end.

Line configuration While in global To exit to Use this mode to


Switch(config-line)#
configuration global configure parameters
mode, specify a line configuration for the terminal line.
with the line vty or mode, enter
line console exit.
command. To return to
privileged
EXEC mode,
press Ctrl-Z or
enter end.

Using the Help System


You can enter a question mark (?) at the system prompt to display a list of commands available for each
command mode. You can also obtain a list of associated keywords and arguments for any command.

SUMMARY STEPS

1. help
2. abbreviated-command-entry ?
3. abbreviated-command-entry <Tab>
4. ?
5. command ?
6. command keyword ?

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 3
Using the Command-Line Interface
Understanding Abbreviated Commands

DETAILED STEPS

Command or Action Purpose


Step 1 help Obtains a brief description of the help system in any
command mode.
Example:
Switch# help

Step 2 abbreviated-command-entry ? Obtains a list of commands that begin with a particular


character string.
Example:
Switch# di?
dir disable disconnect

Step 3 abbreviated-command-entry <Tab> Completes a partial command name.

Example:
Switch# sh conf<tab>
Switch# show configuration

Step 4 ? Lists all commands available for a particular command


mode.
Example:
Switch> ?

Step 5 command ? Lists the associated keywords for a command.

Example:
Switch> show ?

Step 6 command keyword ? Lists the associated arguments for a keyword.

Example:
Switch(config)# cdp holdtime ?
<10-255> Length of time (in sec) that receiver
must keep this packet

Understanding Abbreviated Commands


You need to enter only enough characters for the switch to recognize the command as unique.
This example shows how to enter the show configuration privileged EXEC command in an abbreviated form:

Switch# show conf

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
4 OL-32578-01
Using the Command-Line Interface
No and Default Forms of Commands

No and Default Forms of Commands


Almost every configuration command also has a no form. In general, use the no form to disable a feature or
function or reverse the action of a command. For example, the no shutdown interface configuration command
reverses the shutdown of an interface. Use the command without the keyword no to reenable a disabled feature
or to enable a feature that is disabled by default.
Configuration commands can also have a default form. The default form of a command returns the command
setting to its default. Most commands are disabled by default, so the default form is the same as the no form.
However, some commands are enabled by default and have variables set to certain default values. In these
cases, the default command enables the command and sets variables to their default values.

CLI Error Messages


This table lists some error messages that you might encounter while using the CLI to configure your switch.

Table 2: Common CLI Error Messages

Error Message Meaning How to Get Help


% Ambiguous command: "show You did not enter enough Reenter the command followed by
con"
characters for your switch to a question mark (?) without any
recognize the command. space between the command and
the question mark.
The possible keywords that you can
enter with the command appear.

% Incomplete command. You did not enter all of the Reenter the command followed by
keywords or values required by this a question mark (?) with a space
command. between the command and the
question mark.
The possible keywords that you can
enter with the command appear.

% Invalid input detected at You entered the command Enter a question mark (?) to display
‘^’ marker.
incorrectly. The caret (^) marks the all of the commands that are
point of the error. available in this command mode.
The possible keywords that you can
enter with the command appear.

Configuration Logging
You can log and view changes to the switch configuration. You can use the Configuration Change Logging
and Notification feature to track changes on a per-session and per-user basis. The logger tracks each
configuration command that is applied, the user who entered the command, the time that the command was
entered, and the parser return code for the command. This feature includes a mechanism for asynchronous

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 5
Using the Command-Line Interface
How to Use the CLI to Configure Features

notification to registered applications whenever the configuration changes. You can choose to have the
notifications sent to the syslog.

Note Only CLI or HTTP changes are logged.

How to Use the CLI to Configure Features


Configuring the Command History
The software provides a history or record of commands that you have entered. The command history feature
is particularly useful for recalling long or complex commands or entries, including access lists. You can
customize this feature to suit your needs.

Changing the Command History Buffer Size


By default, the switch records ten command lines in its history buffer. You can alter this number for a current
terminal session or for all sessions on a particular line. This procedure is optional.

SUMMARY STEPS

1. terminal history [size number-of-lines]

DETAILED STEPS

Command or Action Purpose


Step 1 terminal history [size number-of-lines] Changes the number of command lines that the switch records during
the current terminal session in privileged EXEC mode. You can
Example: configure the size from 0 to 256.
Switch# terminal history size 200

Recalling Commands
To recall commands from the history buffer, perform one of the actions listed in this table. These actions are
optional.

Note The arrow keys function only on ANSI-compatible terminals such as VT100s.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
6 OL-32578-01
Using the Command-Line Interface
Enabling and Disabling Editing Features

SUMMARY STEPS

1. Ctrl-P or use the up arrow key


2. Ctrl-N or use the down arrow key
3. show history

DETAILED STEPS

Command or Action Purpose


Step 1 Ctrl-P or use the up arrow key Recalls commands in the history buffer, beginning with the most recent command.
Repeat the key sequence to recall successively older commands.

Step 2 Ctrl-N or use the down arrow key Returns to more recent commands in the history buffer after recalling commands
with Ctrl-P or the up arrow key. Repeat the key sequence to recall successively
more recent commands.

Step 3 show history Lists the last several commands that you just entered in privileged EXEC mode.
The number of commands that appear is controlled by the setting of the terminal
Example: history global configuration command and the history line configuration
Switch# show history command.

Disabling the Command History Feature


The command history feature is automatically enabled. You can disable it for the current terminal session or
for the command line. This procedure is optional.

SUMMARY STEPS

1. terminal no history

DETAILED STEPS

Command or Action Purpose


Step 1 terminal no history Disables the feature during the current terminal session in
privileged EXEC mode.
Example:
Switch# terminal no history

Enabling and Disabling Editing Features


Although enhanced editing mode is automatically enabled, you can disable it and reenable it.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 7
Using the Command-Line Interface
Enabling and Disabling Editing Features

SUMMARY STEPS

1. terminal editing
2. terminal no editing

DETAILED STEPS

Command or Action Purpose


Step 1 terminal editing Reenables the enhanced editing mode for the current terminal
session in privileged EXEC mode.
Example:
Switch# terminal editing

Step 2 terminal no editing Disables the enhanced editing mode for the current terminal
session in privileged EXEC mode.
Example:
Switch# terminal no editing

Editing Commands Through Keystrokes


The keystrokes help you to edit the command lines. These keystrokes are optional.

Note The arrow keys function only on ANSI-compatible terminals such as VT100s.

Table 3: Editing Commands

Editing Commands Description

Ctrl-B or use the left arrow key Moves the cursor back one character.

Ctrl-F or use the right arrow key Moves the cursor forward one character.

Ctrl-A Moves the cursor to the beginning of the command


line.

Ctrl-E Moves the cursor to the end of the command line.

Esc B Moves the cursor back one word.

Esc F Moves the cursor forward one word.

Ctrl-T Transposes the character to the left of the cursor with


the character located at the cursor.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
8 OL-32578-01
Using the Command-Line Interface
Enabling and Disabling Editing Features

Delete or Backspace key Erases the character to the left of the cursor.

Ctrl-D Deletes the character at the cursor.

Ctrl-K Deletes all characters from the cursor to the end of


the command line.

Ctrl-U or Ctrl-X Deletes all characters from the cursor to the beginning
of the command line.

Ctrl-W Deletes the word to the left of the cursor.

Esc D Deletes from the cursor to the end of the word.

Esc C Capitalizes at the cursor.

Esc L Changes the word at the cursor to lowercase.

Esc U Capitalizes letters from the cursor to the end of the


word.

Ctrl-V or Esc Q Designates a particular keystroke as an executable


command, perhaps as a shortcut.

Return key Scrolls down a line or screen on displays that are


longer than the terminal screen can display.
Note The More prompt is used for any output that
has more lines than can be displayed on the
terminal screen, including show command
output. You can use the Return and Space
bar keystrokes whenever you see the More
prompt.
Space bar Scrolls down one screen.

Ctrl-L or Ctrl-R Redisplays the current command line if the switch


suddenly sends a message to your screen.

Editing Command Lines That Wrap


You can use a wraparound feature for commands that extend beyond a single line on the screen. When the
cursor reaches the right margin, the command line shifts ten spaces to the left. You cannot see the first ten
characters of the line, but you can scroll back and check the syntax at the beginning of the command. The
keystroke actions are optional.
To scroll back to the beginning of the command entry, press Ctrl-B or the left arrow key repeatedly. You can
also press Ctrl-A to immediately move to the beginning of the line.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 9
Using the Command-Line Interface
Searching and Filtering Output of show and more Commands

Note The arrow keys function only on ANSI-compatible terminals such as VT100s.

The following example shows how to wrap a command line that extends beyond a single line on the screen.

SUMMARY STEPS

1. access-list
2. Ctrl-A
3. Return key

DETAILED STEPS

Command or Action Purpose


Step 1 access-list Displays the global configuration command entry that extends beyond
one line.
Example: When the cursor first reaches the end of the line, the line is shifted ten
Switch(config)# access-list 101 permit tcp spaces to the left and redisplayed. The dollar sign ($) shows that the
10.15.22.25 255.255.255.0 10.15.22.35 line has been scrolled to the left. Each time the cursor reaches the end
Switch(config)# $ 101 permit tcp of the line, the line is again shifted ten spaces to the left.
10.15.22.25 255.255.255.0 10.15.22.35
255.25
Switch(config)# $t tcp 10.15.22.25
255.255.255.0 131.108.1.20 255.255.255.0
eq
Switch(config)# $15.22.25 255.255.255.0
10.15.22.35 255.255.255.0 eq 45

Step 2 Ctrl-A Checks the complete syntax.


The dollar sign ($) appears at the end of the line to show that the line
Example: has been scrolled to the right.
Switch(config)# access-list 101 permit tcp
10.15.22.25 255.255.255.0 10.15.2$

Step 3 Return key Execute the commands.


The software assumes that you have a terminal screen that is 80 columns
wide. If you have a different width, use the terminal width privileged
EXEC command to set the width of your terminal.
Use line wrapping with the command history feature to recall and
modify previous complex command entries.

Searching and Filtering Output of show and more Commands


You can search and filter the output for show and more commands. This is useful when you need to sort
through large amounts of output or if you want to exclude output that you do not need to see. Using these
commands is optional.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
10 OL-32578-01
Using the Command-Line Interface
Accessing the CLI on a Switch Stack

SUMMARY STEPS

1. {show | more} command | {begin | include | exclude} regular-expression

DETAILED STEPS

Command or Action Purpose


Step 1 {show | more} command | {begin | include | exclude} Searches and filters the output.
regular-expression Expressions are case sensitive. For example, if you enter
| exclude output, the lines that contain output are not
Example: displayed, but the lines that contain output appear.
Switch# show interfaces | include protocol
Vlan1 is up, line protocol is up
Vlan10 is up, line protocol is down
GigabitEthernet1/0/1 is up, line protocol is down
GigabitEthernet1/0/2 is up, line protocol is up

Accessing the CLI on a Switch Stack


You can access the CLI through a console connection, through Telnet, a SSH, or by using the browser.
You manage the switch stack and the stack member interfaces through the . You cannot manage stack members
on an individual switch basis. You can connect to the through the console port or the Ethernet management
port of one or more stack members. Be careful with using multiple CLI sessions on the . Commands that you
enter in one session are not displayed in the other sessions. Therefore, it is possible to lose track of the session
from which you entered commands.

Note We recommend using one CLI session when managing the switch stack.

If you want to configure a specific stack member port, you must include the stack member number in the CLI
command interface notation.

Accessing the CLI Through a Console Connection or Through Telnet


Before you can access the CLI, you must connect a terminal or a PC to the switch console or connect a PC to
the Ethernet management port and then power on the switch, as described in the hardware installation guide
that shipped with your switch.
If your switch is already configured, you can access the CLI through a local console connection or through a
remote Telnet session, but your switch must first be configured for this type of access.
You can use one of these methods to establish a connection with the switch:
• Connect the switch console port to a management station or dial-up modem, or connect the Ethernet
management port to a PC. For information about connecting to the console or Ethernet management
port, see the switch hardware installation guide.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 11
Using the Command-Line Interface
Accessing the CLI Through a Console Connection or Through Telnet

• Use any Telnet TCP/IP or encrypted Secure Shell (SSH) package from a remote management station.
The switch must have network connectivity with the Telnet or SSH client, and the switch must have an
enable secret password configured.
• The switch supports up to 16 simultaneous Telnet sessions. Changes made by one Telnet user are
reflected in all other Telnet sessions.
• The switch supports up to five simultaneous secure SSH sessions.

After you connect through the console port, through the Ethernet management port, through a Telnet
session or through an SSH session, the user EXEC prompt appears on the management station.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
12 OL-32578-01
CHAPTER 2
Configuring QoS
• Finding Feature Information, page 13
• Prerequisites for QoS, page 13
• Restrictions for QoS, page 16
• Information About QoS, page 16
• How to Configure QoS, page 41
• Monitoring Standard QoS, page 103
• Configuration Examples for QoS, page 104
• Where to Go Next, page 114
• Additional References, page 114
• Feature History and Information for QoS, page 115

Finding Feature Information


Your software release may not support all the features documented in this module. For the latest caveats and
feature information, see Bug Search Tool and the release notes for your platform and software release. To
find information about the features documented in this module, and to see a list of the releases in which each
feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not
required.

Prerequisites for QoS


Before configuring standard QoS, you must have a thorough understanding of these items:
• The types of applications used and the traffic patterns on your network.
• Traffic characteristics and needs of your network. For example, is the traffic on your network bursty?
Do you need to reserve bandwidth for voice and video streams?

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 13
Configuring QoS
QoS ACL Guidelines

• Bandwidth requirements and speed of the network.


• Location of congestion points in the network.

You can configure QoS on physical ports and on switch virtual interfaces (SVIs). Other than to apply policy
maps, you configure the QoS settings, such as classification, queueing, and scheduling, the same way on
physical ports and SVIs. When configuring QoS on a physical port, you apply a nonhierarchical policy map.
When configuring QoS on an SVI, you apply a nonhierarchical or a hierarchical policy map.

QoS ACL Guidelines


Follow these guidelines when configuring QoS with access control lists (ACLs):
• It is not possible to match IP fragments against configured IP extended ACLs to enforce QoS. IP fragments
are sent as best-effort. IP fragments are denoted by fields in the IP header.
• Only one ACL per class map and only one match class-map configuration command per class map are
supported. The ACL can have multiple ACEs, which match fields against the contents of the packet.
• A trust statement in a policy map requires multiple hardware entries per ACL line. If an input service
policy map contains a trust statement in an ACL, the access list might be too large to fit into the available
QoS hardware memory, and an error can occur when you apply the policy map to a port. Whenever
possible, you should minimize the number of lines is a QoS ACL.

Applying QoS on Interfaces Guidelines


These are the guidelines for configuring QoS on physical ports and SVIs (Layer 3 VLAN interfaces):
• You can configure QoS on physical ports and SVIs. When configuring QoS on physical ports, you create
and apply nonhierarchical policy maps. When configuring QoS on SVIs, you can create and apply
nonhierarchical and hierarchical policy maps.
• Incoming traffic is classified, policed, and marked down (if configured) regardless of whether the traffic
is bridged, routed, or sent to the CPU. It is possible for bridged frames to be dropped or to have their
DSCP and CoS values modified.
• Follow these guidelines when configuring policy maps on physical ports or SVIs:
◦You cannot apply the same policy map to a physical port and to an SVI.
◦If VLAN-based QoS is configured on a physical port, the switch removes all the port-based policy
maps on the port. The traffic on this physical port is now affected by the policy map attached to
the SVI to which the physical port belongs.
◦In a hierarchical policy map attached to an SVI, you can only configure an individual policer at
the interface level on a physical port to specify the bandwidth limits for the traffic on the port. The
ingress port must be configured as a trunk or as a static-access port. You cannot configure policers
at the VLAN level of the hierarchical policy map.
◦The switch does not support aggregate policers in hierarchical policy maps.
◦After the hierarchical policy map is attached to an SVI, the interface-level policy map cannot be
modified or removed from the hierarchical policy map. A new interface-level policy map also
cannot be added to the hierarchical policy map. If you want these changes to occur, the hierarchical

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
14 OL-32578-01
Configuring QoS
Policing Guidelines

policy map must first be removed from the SVI. You also cannot add or remove a class map
specified in the hierarchical policy map.

Policing Guidelines
• The port ASIC device, which controls more than one physical port, supports 256 policers (255
user-configurable policers plus 1 policer reserved for system internal use). The maximum number of
user-configurable policers supported per port is 63. Policers are allocated on demand by the software
and are constrained by the hardware and ASIC boundaries.
For example, you could configure 32 policers on a Gigabit Ethernet port and 7 policers on a 10-Gigabit
Ethernet port, or you could configure 64 policers on a Gigabit Ethernet port and 4 policers on a 10-Gigabit
Ethernet port. Policers are allocated on demand by the software and are constrained by the hardware
and ASIC boundaries.
You cannot reserve policers per port; there is no guarantee that a port will be assigned to any policer.
• Only one policer is applied to a packet on an ingress port. Only the average rate and committed burst
parameters are configurable.
• You can create an aggregate policer that is shared by multiple traffic classes within the same
nonhierarchical policy map. However, you cannot use the aggregate policer across different policy maps.
• On a port configured for QoS, all traffic received through the port is classified, policed, and marked
according to the policy map attached to the port. On a trunk port configured for QoS, traffic in all VLANs
received through the port is classified, policed, and marked according to the policy map attached to the
port.
• If you have EtherChannel ports configured on your switch, you must configure QoS classification,
policing, mapping, and queueing on the individual physical ports that comprise the EtherChannel. You
must decide whether the QoS configuration should match on all ports in the EtherChannel.
• If you need to modify a policy map of an existing QoS policy, first remove the policy map from all
interfaces, and then modify or copy the policy map. After you finish the modification, apply the modified
policy map to the interfaces. If you do not first remove the policy map from all interfaces, high CPU
usage can occur, which, in turn, can cause the console to pause for a very long time.

General QoS Guidelines


• Control traffic (such as spanning-tree bridge protocol data units [BPDUs] and routing update packets)
received by the switch are subject to all ingress QoS processing.
• You are likely to lose data when you change queue settings; therefore, try to make changes when traffic
is at a minimum.
• A switch that is running the IP services feature set supports QoS DSCP and IP precedence matching in
policy-based routing (PBR) route maps with these limitations:
◦You cannot apply QoS DSCP mutation maps and PBR route maps to the same interface.
◦You cannot configure DSCP transparency and PBR DSCP route maps on the same switch.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 15
Configuring QoS
Restrictions for QoS

Restrictions for QoS


The following are the restrictions for QoS:
• Ingress queueing and scheduling are not supported on the switch.
• The switch supports 4 default egress queues, with the option to enable an additional 4 egress queues for
a total of 8. This option is only available on a standalone switch.
• We recommend that you do not enable 8 egress queues by using the mls qos srr-queue output queues
8 command, when running the following features in your configuration:
◦Auto-QoS
◦Auto SmartPort
◦EnergyWise

Running these features with 8 egress queue enabled in a single configuration is not supported on the
switch.
• The switch supports 3 templates: default, vlan, and IPv4. Both the default and vlan templates support
IPv6. The IPv4 template does not support IPv6.
• You can configure only individual policers on an SVI.
• For the class-map [match-all | match-any] class-map-name global configuration command, because
only one match command per class map is supported, the match-all and match-any keywords function
the same.

Information About QoS

QoS Implementation
Typically, networks operate on a best-effort delivery basis, which means that all traffic has equal priority and
an equal chance of being delivered in a timely manner. When congestion occurs, all traffic has an equal chance
of being dropped.
When you configure the QoS feature, you can select specific network traffic, prioritize it according to its
relative importance, and use congestion-management and congestion-avoidance techniques to provide
preferential treatment. Implementing QoS in your network makes network performance more predictable and
bandwidth utilization more effective.
The QoS implementation is based on the Differentiated Services (Diff-Serv) architecture, a standard from the
Internet Engineering Task Force (IETF). This architecture specifies that each packet is classified upon entry
into the network.
The classification is carried in the IP packet header, using 6 bits from the deprecated IP type of service (ToS)
field to carry the classification (class) information. Classification can also be carried in the Layer 2 frame.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
16 OL-32578-01
Configuring QoS
QoS Implementation

The special bits in the Layer 2 frame or a Layer 3 packet are shown in the following figure:
Figure 1: QoS Classification Layers in Frames and Packets

Layer 2 Frame Prioritization Bits


Layer 2 Inter-Switch Link (ISL) frame headers have a 1-byte User field that carries an IEEE 802.1p class of
service (CoS) value in the three least-significant bits. On ports configured as Layer 2 ISL trunks, all traffic is
in ISL frames.
Layer 2 802.1Q frame headers have a 2-byte Tag Control Information field that carries the CoS value in the
three most-significant bits, which are called the User Priority bits. On ports configured as Layer 2 802.1Q
trunks, all traffic is in 802.1Q frames except for traffic in the native VLAN.
Other frame types cannot carry Layer 2 CoS values.
Layer 2 CoS values range from 0 for low priority to 7 for high priority.

Layer 3 Packet Prioritization Bits


Layer 3 IP packets can carry either an IP precedence value or a Differentiated Services Code Point (DSCP)
value. QoS supports the use of either value because DSCP values are backward-compatible with IP precedence
values.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 17
Configuring QoS
QoS Basic Model

IP precedence values range from 0 to 7. DSCP values range from 0 to 63.

End-to-End QoS Solution Using Classification


All switches and routers that access the Internet rely on the class information to provide the same forwarding
treatment to packets with the same class information and different treatment to packets with different class
information. The class information in the packet can be assigned by end hosts or by switches or routers along
the way, based on a configured policy, detailed examination of the packet, or both. Detailed examination of
the packet is expected to occur closer to the edge of the network, so that the core switches and routers are not
overloaded with this task.
Switches and routers along the path can use the class information to limit the amount of resources allocated
per traffic class. The behavior of an individual device when handling traffic in the Diff-Serv architecture is
called per-hop behavior. If all devices along a path provide a consistent per-hop behavior, you can construct
an end-to-end QoS solution.
Implementing QoS in your network can be a simple task or complex task and depends on the QoS features
offered by your internetworking devices, the traffic types and patterns in your network, and the granularity
of control that you need over incoming and outgoing traffic.

QoS Basic Model


To implement QoS, the switch must distinguish packets or flows from one another (classify), assign a label
to indicate the given quality of service as the packets move through the switch, make the packets comply with
the configured resource usage limits (police and mark), and provide different treatment (queue and schedule)
in all situations where resource contention exists. The switch also needs to ensure that traffic sent from it
meets a specific traffic profile (shape).

Figure 2: QoS Basic Model

Actions at Ingress Port


Actions at the ingress port include classifying traffic, policing, marking, queueing, and scheduling:

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
18 OL-32578-01
Configuring QoS
QoS Basic Model

• Classifying a distinct path for a packet by associating it with a QoS label. The switch maps the CoS or
DSCP in the packet to a QoS label to distinguish one kind of traffic from another. The QoS label that
is generated identifies all future QoS actions to be performed on this packet.
• Policing determines whether a packet is in or out of profile by comparing the rate of the incoming traffic
to the configured policer. The policer limits the bandwidth consumed by a flow of traffic. The result is
passed to the marker.
• Marking evaluates the policer and configuration information for the action to be taken when a packet is
out of profile and determines what to do with the packet (pass through a packet without modification,
marking down the QoS label in the packet, or dropping the packet).
• Queueing evaluates the QoS label and the corresponding DSCP or CoS value to select into which of the
two ingress queues to place a packet. Queueing is enhanced with the weighted tail-drop (WTD) algorithm,
a congestion-avoidance mechanism. If the threshold is exceeded, the packet is dropped.
• Scheduling services the queues based on their configured shaped round robin (SRR) weights. One of
the ingress queues is the priority queue, and SRR services it for its configured share before servicing
the other queue.

Note Queueing and scheduling are only supported at egress and not at ingress on the switch.

Actions at Egress Port


Actions at the egress port include queueing and scheduling:
• Queueing evaluates the QoS packet label and the corresponding DSCP or CoS value before selecting
which of the four egress queues to use. Because congestion can occur when multiple ingress ports
simultaneously send data to an egress port, WTD differentiates traffic classes and subjects the packets
to different thresholds based on the QoS label. If the threshold is exceeded, the packet is dropped.
• Scheduling services the four egress queues based on their configured SRR shared or shaped weights.
One of the queues (queue 1) can be the expedited queue, which is serviced until empty before the other
queues are serviced.

Classification Overview
Classification is the process of distinguishing one kind of traffic from another by examining the fields in the
packet. Classification is enabled only if QoS is globally enabled on the switch. By default, QoS is globally
disabled, so no classification occurs.
During classification, the switch performs a lookup and assigns a QoS label to the packet. The QoS label
identifies all QoS actions to be performed on the packet and from which queue the packet is sent.
The QoS label is based on the DSCP or the CoS value in the packet and decides the queueing and scheduling
actions to perform on the packet. The label is mapped according to the trust setting and the packet type as
shown in Classification Flowchart, on page 22.
You specify which fields in the frame or packet that you want to use to classify incoming traffic.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 19
Configuring QoS
QoS Basic Model

Non-IP Traffic Classification


The following table describes the non-IP traffic classification options for your QoS configuration.

Table 4: Non- IP Traffic Classifications

Non-IP Traffic Classification Description


Trust the CoS value Trust the CoS value in the incoming frame (configure the
port to trust CoS), and then use the configurable
CoS-to-DSCP map to generate a DSCP value for the packet.
Layer 2 ISL frame headers carry the CoS value in the 3
least-significant bits of the 1-byte User field.
Layer 2 802.1Q frame headers carry the CoS value in the 3
most-significant bits of the Tag Control Information field.
CoS values range from 0 for low priority to 7 for high
priority.

Trust the DSCP or trust IP precedence value Trust the DSCP or trust IP precedence value in the incoming
frame. These configurations are meaningless for non-IP
traffic. If you configure a port with either of these options
and non-IP traffic is received, the switch assigns a CoS value
and generates an internal DSCP value from the CoS-to-DSCP
map. The switch uses the internal DSCP value to generate
a CoS value representing the priority of the traffic.

Perform classification based on configured Perform the classification based on a configured Layer 2
Layer 2 MAC ACL MAC access control list (ACL), which can examine the
MAC source address, the MAC destination address, and
other fields. If no ACL is configured, the packet is assigned
0 as the DSCP and CoS values, which means best-effort
traffic. Otherwise, the policy-map action specifies a DSCP
or CoS value to assign to the incoming frame.

After classification, the packet is sent to the policing, marking, and the ingress queueing and scheduling stages.
After classification, the packet is sent to the policing and marking stages.

IP Traffic Classification
The following table describes the IP traffic classification options for your QoS configuration.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
20 OL-32578-01
Configuring QoS
QoS Basic Model

Table 5: IP Traffic Classifications

IP Traffic Classification Description


Trust the DSCP value Trust the DSCP value in the incoming packet (configure the port to trust
DSCP), and assign the same DSCP value to the packet. The IETF defines
the 6 most-significant bits of the 1-byte ToS field as the DSCP. The priority
represented by a particular DSCP value is configurable. DSCP values range
from 0 to 63.
You can also classify IP traffic based on IPv6 DSCP.
For ports that are on the boundary between two QoS administrative
domains, you can modify the DSCP to another value by using the
configurable DSCP-to-DSCP-mutation map.

Trust the IP precedence value Trust the IP precedence value in the incoming packet (configure the port
to trust IP precedence), and generate a DSCP value for the packet by using
the configurable IP-precedence-to-DSCP map. The IP Version 4
specification defines the 3 most-significant bits of the 1-byte ToS field as
the IP precedence. IP precedence values range from 0 for low priority to
7 for high priority.
You can also classify IP traffic based on IPv6 precedence.

Trust the CoS value Trust the CoS value (if present) in the incoming packet, and generate a
DSCP value for the packet by using the CoS-to-DSCP map. If the CoS
value is not present, use the default port CoS value.

IP standard or an extended ACL Perform the classification based on a configured IP standard or an extended
ACL, which examines various fields in the IP header. If no ACL is
configured, the packet is assigned 0 as the DSCP and CoS values, which
means best-effort traffic. Otherwise, the policy-map action specifies a
DSCP or CoS value to assign to the incoming frame.

Override configured CoS Override the configured CoS of incoming packets, and apply the default
port CoS value to them. For IPv6 packets, the DSCP value is rewritten by
using the CoS-to-DSCP map and by using the default CoS of the port. You
can do this for both IPv4 and IPv6 traffic.

After classification, the packet is sent to the policing, marking, and the ingress queueing and scheduling stages.
After classification, the packet is sent to the policing and marking stages.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 21
Configuring QoS
QoS Basic Model

Classification Flowchart

Figure 3: Classification Flowchart

Access Control Lists


You can use IP standard, IP extended, or Layer 2 MAC ACLs to define a group of packets with the same
characteristics (class). You can also classify IP traffic based on IPv6 ACLs.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
22 OL-32578-01
Configuring QoS
QoS Basic Model

In the QoS context, the permit and deny actions in the access control entries (ACEs) have different meanings
from security ACLs:
• If a match with a permit action is encountered (first-match principle), the specified QoS-related action
is taken.
• If a match with a deny action is encountered, the ACL being processed is skipped, and the next ACL is
processed.
• If no match with a permit action is encountered and all the ACEs have been examined, no QoS processing
occurs on the packet, and the switch offers best-effort service to the packet.
• If multiple ACLs are configured on a port, the lookup stops after the packet matches the first ACL with
a permit action, and QoS processing begins.

Note When creating an access list, note that by default the end of the access list contains an
implicit deny statement for everything if it did not find a match before reaching the end.

After a traffic class has been defined with the ACL, you can attach a policy to it. A policy might contain
multiple classes with actions specified for each one of them. A policy might include commands to classify
the class as a particular aggregate (for example, assign a DSCP) or rate-limit the class. This policy is then
attached to a particular port on which it becomes effective.
You implement IP ACLs to classify IP traffic by using the access-list global configuration command; you
implement Layer 2 MAC ACLs to classify non-IP traffic by using the mac access-list extended global
configuration command.

Related Topics
Creating an IP Standard ACL for IPv4 Traffic, on page 55
Creating an IP Extended ACL for IPv4 Traffic, on page 57
Creating an IPv6 ACL for IPv6 Traffic, on page 59
Creating a Layer 2 MAC ACL for Non-IP Traffic, on page 61
Examples: Classifying Traffic by Using ACLs, on page 105

Classification Based on Class Maps and Policy Maps


A class map is a mechanism that you use to name a specific traffic flow (or class) and to isolate it from all
other traffic. The class map defines the criteria used to match against a specific traffic flow to further classify
it. The criteria can include matching the access group defined by the ACL or matching a specific list of DSCP
or IP precedence values. If you have more than one type of traffic that you want to classify, you can create
another class map and use a different name. After a packet is matched against the class-map criteria, you
further classify it through the use of a policy map.
A policy map specifies which traffic class to act on. Actions can include trusting the CoS, DSCP, or IP
precedence values in the traffic class; setting a specific DSCP or IP precedence value in the traffic class; or
specifying the traffic bandwidth limitations and the action to take when the traffic is out of profile. Before a
policy map can be effective, you must attach it to a port.
You create a class map by using the class-map global configuration command or the class policy-map
configuration command. You should use the class-map command when the map is shared among many ports.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 23
Configuring QoS
QoS Basic Model

When you enter the class-map command, the switch enters the class-map configuration mode. In this mode,
you define the match criterion for the traffic by using the match class-map configuration command.
You can configure a default class by using the class class-default policy-map configuration command.
Unclassified traffic (traffic specified in the other traffic classes configured on the policy-map) is treated as
default traffic.
You create and name a policy map by using the policy-map global configuration command. When you enter
this command, the switch enters the policy-map configuration mode. In this mode, you specify the actions to
take on a specific traffic class by using the class, trust, or set policy-map configuration and policy-map class
configuration commands.
The policy map can contain the police and police aggregate policy-map class configuration commands, which
define the policer, the bandwidth limitations of the traffic, and the action to take if the limits are exceeded.
To enable the policy map, you attach it to a port by using the service-policy interface configuration command.
You can apply a nonhierarchical policy map to a physical port or an SVI. However, a hierarchical policy map
can only be applied to an SVI. A hierarchical policy map contains two levels. The first level, the VLAN level,
specifies the actions to be taken against a traffic flow on the SVI. The second level, the interface level, specifies
the actions to be taken against the traffic on the physical ports that belong to the SVI. The interface-level
actions are specified in the interface-level policy map.

Related Topics
Classifying Traffic by Using Class Maps, on page 63
Classifying Traffic by Using Class Maps and Filtering IPv6 Traffic, on page 66
Examples: Classifying Traffic by Using Class Maps, on page 106

Policing and Marking Overview


After a packet is classified and has a DSCP-based or CoS-based QoS label assigned to it, the policing and
marking process can begin.
Policing involves creating a policer that specifies the bandwidth limits for the traffic. Packets that exceed the
limits are out of profile or nonconforming. Each policer decides on a packet-by-packet basis whether the
packet is in or out of profile and specifies the actions on the packet. These actions, carried out by the marker,
include passing through the packet without modification, dropping the packet, or modifying (marking down)
the assigned DSCP of the packet and allowing the packet to pass through. The configurable policed-DSCP
map provides the packet with a new DSCP-based QoS label. Marked-down packets use the same queues as
the original QoS label to prevent packets in a flow from getting out of order.

Note All traffic, regardless of whether it is bridged or routed, is subjected to a policer, if one is configured. As
a result, bridged packets might be dropped or might have their DSCP or CoS fields modified when they
are policed and marked.
You can configure policing (either individual or aggregate policers) on a physical port or an SVI. When
configuring policy maps on an SVI, you can create a hierarchical policy map and can define an individual
policer only in the secondary interface-level policy map.
After you configure the policy map and policing actions, attach the policy to an ingress port or SVI by
using the service-policy interface configuration command.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
24 OL-32578-01
Configuring QoS
QoS Basic Model

Related Topics
Classifying, Policing, and Marking Traffic by Using Aggregate Policers, on page 80
Examples: Classifying, Policing, and Marking Traffic by Using Aggregate Policers, on page 110

Physical Port Policing


In policy maps on physical ports, you can create the following types of policers:
• Individual—QoS applies the bandwidth limits specified in the policer separately to each matched traffic
class. You configure this type of policer within a policy map by using the police policy-map class
configuration command.
• Aggregate—QoS applies the bandwidth limits specified in an aggregate policer cumulatively to all
matched traffic flows. You configure this type of policer by specifying the aggregate policer name within
a policy map by using the police aggregate policy-map class configuration command. You specify the
bandwidth limits of the policer by using the mls qos aggregate-policer global configuration command.
In this way, the aggregate policer is shared by multiple classes of traffic within a policy map.

Note You can configure only individual policers on an SVI.

Policing uses a token-bucket algorithm. As each frame is received by the switch, a token is added to the bucket.
The bucket has a hole in it and leaks at a rate that you specify as the average traffic rate in bits per second.
Each time a token is added to the bucket, the switch verifies that there is enough room in the bucket. If there
is not enough room, the packet is marked as nonconforming, and the specified policer action is taken (dropped
or marked down).
How quickly the bucket fills is a function of the bucket depth (burst-byte), the rate at which the tokens are
removed (rate-bps), and the duration of the burst above the average rate. The size of the bucket imposes an
upper limit on the burst length and limits the number of frames that can be transmitted back-to-back. If the
burst is short, the bucket does not overflow, and no action is taken against the traffic flow. However, if a burst
is long and at a higher rate, the bucket overflows, and the policing actions are taken against the frames in that
burst.
You configure the bucket depth (the maximum burst that is tolerated before the bucket overflows) by using
the burst-byte option of the police policy-map class configuration command or the mls qos aggregate-policer
global configuration command. You configure how fast (the average rate) that the tokens are removed from
the bucket by using the rate-bps option of the police policy-map class configuration command or the mls qos
aggregate-policer global configuration command.

The following figure shows the policing and marking process when these types of policy maps are configured:
• A nonhierarchical policy map on a physical port.
• The interface level of a hierarchical policy map attached to an SVI. The physical ports are specified in
this secondary policy map.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 25
Configuring QoS
QoS Basic Model

Figure 4: Policing and Marking Flowchart on Physical Ports

Related Topics
Classifying, Policing, and Marking Traffic on Physical Ports by Using Policy Maps, on page 68
Examples: Classifying, Policing, and Marking Traffic on Physical Ports Using Policy Maps, on page 107
Classifying, Policing, and Marking Traffic by Using Aggregate Policers, on page 80
Examples: Classifying, Policing, and Marking Traffic by Using Aggregate Policers, on page 110

SVI Policing

Note Before configuring a hierarchical policy map with individual policers on an SVI, you must enable
VLAN-based QoS on the physical ports that belong to the SVI. Though a policy map is attached to the
SVI, the individual policers only affect traffic on the physical ports specified in the secondary interface
level of the hierarchical policy map.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
26 OL-32578-01
Configuring QoS
QoS Basic Model

A hierarchical policy map has two levels. The first level, the VLAN level, specifies the actions to be taken
against a traffic flow on an SVI. The second level, the interface level, specifies the actions to be taken against
the traffic on the physical ports that belong to the SVI and are specified in the interface-level policy map.
When configuring policing on an SVI, you can create and configure a hierarchical policy map with these two
levels:
• VLAN level—Create this primary level by configuring class maps and classes that specify the port trust
state or set a new DSCP or IP precedence value in the packet. The VLAN-level policy map applies only
to the VLAN in an SVI and does not support policers.
• Interface level—Create this secondary level by configuring class maps and classes that specify the
individual policers on physical ports the belong to the SVI. The interface-level policy map only supports
individual policers and does not support aggregate policers. You can configure different interface-level
policy maps for each class defined in the VLAN-level policy map.

The following figure shows the policing and marking process when hierarchical policy maps on an SVI.
Figure 5: Policing and Marking Flowchart on SVIs

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 27
Configuring QoS
QoS Basic Model

Related Topics
Classifying, Policing, and Marking Traffic on SVIs by Using Hierarchical Policy Maps, on page 72
Examples: Classifying, Policing, and Marking Traffic on SVIs by Using Hierarchical Policy Maps, on
page 108

Mapping Tables Overview


During QoS processing, the switch represents the priority of all traffic (including non-IP traffic) with a QoS
label based on the DSCP or CoS value from the classification stage.
The following table describes QoS processing and mapping tables.

Table 6: QoS Processing and Mapping Tables

QoS Processing Mapping Table Usage


Stage
Classification During the classification stage, QoS uses configurable mapping tables to derive a
corresponding DSCP or CoS value from a received CoS, DSCP, or IP precedence
value. These maps include the CoS-to-DSCP map and the IP-precedence-to-DSCP
map.
You configure these maps by using the mls qos map cos-dscp and the mls qos map
ip-prec-dscp global configuration commands.
On an ingress port configured in the DSCP-trusted state, if the DSCP values are
different between the QoS domains, you can apply the configurable
DSCP-to-DSCP-mutation map to the port that is on the boundary between the two
QoS domains.
You configure this map by using the mls qos map dscp-mutation global configuration
command.

Policing During policing stage, QoS can assign another DSCP value to an IP or a non-IP packet
(if the packet is out of profile and the policer specifies a marked-down value). This
configurable map is called the policed-DSCP map.
You configure this map by using the mls qos map policed-dscp global configuration
command.

Pre-scheduling Before the traffic reaches the scheduling stage, QoS stores the packet in an ingress
and an egress queue according to the QoS label. The QoS label is based on the DSCP
or the CoS value in the packet and selects the queue through the DSCP input and
output queue threshold maps or through the CoS input and output queue threshold
maps. In addition to an ingress or an egress queue, the QOS label also identifies the
WTD threshold value.
You configure these maps by using the mls qos srr-queue {input output} dscp-map
and the mls qos srr-queue {input output} cos-map global configuration commands.

The CoS-to-DSCP, DSCP-to-CoS, and the IP-precedence-to-DSCP maps have default values that might or
might not be appropriate for your network.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
28 OL-32578-01
Configuring QoS
QoS Basic Model

The default DSCP-to-DSCP-mutation map and the default policed-DSCP map are null maps; they map an
incoming DSCP value to the same DSCP value. The DSCP-to-DSCP-mutation map is the only map you apply
to a specific port. All other maps apply to the entire switch.

Related Topics
Mapping DSCP or CoS Values to an Egress Queue and to a Threshold ID, on page 94
Examples: Configuring Egress Queue Characteristics, on page 113

Queueing and Scheduling Overview


The switch has queues at specific points to help prevent congestion.

Figure 6: Ingress and Egress Queue Location on Switch

Note The switch supports 4 egress queues by default and there is an option to enable a total of 8 egress queues.
The 8 egress queue configuration is only supported on a standalone switch.

Weighted Tail Drop


Both the ingress and egress queues use an enhanced version of the tail-drop congestion-avoidance mechanism
called weighted tail drop (WTD). WTD is implemented on queues to manage the queue lengths and to provide
drop precedences for different traffic classifications.
As a frame is enqueued to a particular queue, WTD uses the frame’s assigned QoS label to subject it to different
thresholds. If the threshold is exceeded for that QoS label (the space available in the destination queue is less
than the size of the frame), the switch drops the frame.
Each queue has three threshold values. The QoS label determines which of the three threshold values is
subjected to the frame. Of the three thresholds, two are configurable (explicit) and one is not (implicit).

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 29
Configuring QoS
QoS Basic Model

The following figure shows an example of WTD operating on a queue whose size is 1000 frames. Three drop
percentages are configured: 40 percent (400 frames), 60 percent (600 frames), and 100 percent (1000 frames).
These percentages indicate that up to 400 frames can be queued at the 40-percent threshold, up to 600 frames
at the 60-percent threshold, and up to 1000 frames at the 100-percent threshold.
Figure 7: WTD and Queue Operation

In the example, CoS values 6 and 7 have a greater importance than the other CoS values, and they are assigned
to the 100-percent drop threshold (queue-full state). CoS values 4 and 5 are assigned to the 60-percent threshold,
and CoS values 0 to 3 are assigned to the 40-percent threshold.
Suppose the queue is already filled with 600 frames, and a new frame arrives. It contains CoS values 4 and
5 and is subjected to the 60-percent threshold. If this frame is added to the queue, the threshold will be exceeded,
so the switch drops it.

SRR Shaping and Sharing


Both the ingress and egress queues are serviced by shaped round robin (SRR), which controls the rate at which
packets are sent. On the ingress queues, SRR sends packets to the stack or internal ring. On the egress queues,
SRR sends packets to the egress port.
You can configure SRR on egress queues for sharing or for shaping. However, for ingress queues, sharing is
the default mode, and it is the only mode supported.
In shaped mode, the egress queues are guaranteed a percentage of the bandwidth, and they are rate-limited to
that amount. Shaped traffic does not use more than the allocated bandwidth even if the link is idle. Shaping
provides a more even flow of traffic over time and reduces the peaks and valleys of bursty traffic. With shaping,
the absolute value of each weight is used to compute the bandwidth available for the queues.
In shared mode, the queues share the bandwidth among them according to the configured weights. The
bandwidth is guaranteed at this level but not limited to it. For example, if a queue is empty and no longer
requires a share of the link, the remaining queues can expand into the unused bandwidth and share it among
them. With sharing, the ratio of the weights controls the frequency of dequeuing; the absolute values are
meaningless. Shaping and sharing is configured per interface. Each interface can be uniquely configured.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
30 OL-32578-01
Configuring QoS
QoS Basic Model

Queueing and Scheduling on Egress Queues


The following figure shows queueing and scheduling flowcharts for egress ports on the switch.

Figure 8: Queueing and Scheduling Flowchart for Egress Ports on the Switch

Note If the expedite queue is enabled, SRR services it until it is empty before servicing the other three queues.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 31
Configuring QoS
QoS Basic Model

Related Topics
Allocating Buffer Space to and Setting WTD Thresholds for an Egress Queue-Set
Configuring SRR Shaped Weights on Egress Queues, on page 96
Configuring SRR Shared Weights on Egress Queues, on page 98
Configuring the Egress Expedite Queue, on page 100
Limiting the Bandwidth on an Egress Interface, on page 102
Examples: Configuring Egress Queue Characteristics, on page 113

Egress Expedite Queue


Each port supports four egress queues, one of which (queue 1) can be the egress expedite queue. These queues
are assigned to a queue-set. All traffic exiting the switch flows through one of these four queues and is subjected
to a threshold based on the QoS label assigned to the packet.

Note If the expedite queue is enabled, SRR services it until it is empty before servicing the other three queues.

Egress Queue Buffer Allocation


The following figure shows the egress queue buffer.

The buffer space is divided between the common pool and the reserved pool. The switch uses a buffer allocation
scheme to reserve a minimum amount of buffers for each egress queue, to prevent any queue or port from
consuming all the buffers and depriving other queues, and to control whether to grant buffer space to a
requesting queue. The switch detects whether the target queue has not consumed more buffers than its reserved
amount (under-limit), whether it has consumed all of its maximum buffers (over limit), and whether the
common pool is empty (no free buffers) or not empty (free buffers). If the queue is not over-limit, the switch
can allocate buffer space from the reserved pool or from the common pool (if it is not empty). If there are no
free buffers in the common pool or if the queue is over-limit, the switch drops the frame.
Figure 9: Egress Queue Buffer Allocation

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
32 OL-32578-01
Configuring QoS
QoS Basic Model

Buffer and Memory Allocation


You guarantee the availability of buffers, set drop thresholds, and configure the maximum memory allocation
for a queue-set by using the mls qos queue-set output qset-id threshold queue-id drop-threshold1
drop-threshold2 reserved-threshold maximum-threshold global configuration command. Each threshold value
is a percentage of the queue’s allocated memory, which you specify by using the mls qos queue-set output
qset-id buffers allocation1 ... allocation4 global configuration command. The sum of all the allocated buffers
represents the reserved pool, and the remaining buffers are part of the common pool.
Through buffer allocation, you can ensure that high-priority traffic is buffered. For example, if the buffer
space is 400, you can allocate 70 percent of it to queue 1 and 10 percent to queues 2 through 4. Queue 1 then
has 280 buffers allocated to it, and queues 2 through 4 each have 40 buffers allocated to them.
You can guarantee that the allocated buffers are reserved for a specific queue in a queue-set. For example, if
there are 100 buffers for a queue, you can reserve 50 percent (50 buffers). The switch returns the remaining
50 buffers to the common pool. You also can enable a queue in the full condition to obtain more buffers than
are reserved for it by setting a maximum threshold. The switch can allocate the needed buffers from the
common pool if the common pool is not empty.

Note The switch supports 4 egress queues by default, although there is an option to enable a total of 8 egress
queues. Use the mls qos srr-queue output queues 8 global configuration command to enable all 8 egress
queues. Once 8 egress queues are enabled, you are able to configure thresholds and buffers for all 8 queues.
The 8 egress queue configuration is only supported on a standalone switch.

Queues and WTD Thresholds


You can assign each packet that flows through the switch to a queue and to a threshold.
Specifically, you map DSCP or CoS values to an egress queue and map DSCP or CoS values to a threshold
ID. You use the mls qos srr-queue output dscp-map queue queue-id {dscp1...dscp8 | threshold threshold-id
dscp1...dscp8} or the mls qos srr-queue output cos-map queue queue-id {cos1...cos8 | threshold threshold-id
cos1...cos8} global configuration command. You can display the DSCP output queue threshold map and the
CoS output queue threshold map by using the show mls qos maps privileged EXEC command.
The queues use WTD to support distinct drop percentages for different traffic classes. Each queue has three
drop thresholds: two configurable (explicit) WTD thresholds and one nonconfigurable (implicit) threshold
preset to the queue-full state. You assign the two WTD threshold percentages for threshold ID 1 and ID 2.
The drop threshold for threshold ID 3 is preset to the queue-full state, and you cannot modify it. You map a
port to queue-set by using the queue-set qset-id interface configuration command. Modify the queue-set
configuration to change the WTD threshold percentages.

Note The switch supports 4 egress queues by default, although there is an option to enable a total of 8 egress
queues. Use the mls qos srr-queue output queues 8 global configuration command to enable all 8 egress
queues. Once 8 egress queues are enabled, you are able to configure thresholds and buffers for all 8 queues.
The 8 egress queue configuration is only supported on a standalone switch.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 33
Configuring QoS
QoS Basic Model

Shaped or Shared Mode


SRR services each queue-set in shared or shaped mode. You map a port to a queue-set by using the queue-set
qset-id interface configuration command. You assign shared or shaped weights to the port by using the
srr-queue bandwidth share weight1 weight2 weight3 weight4 or the srr-queue bandwidth shape weight1
weight2 weight3 weight4 interface configuration command.
The buffer allocation together with the SRR weight ratios control how much data can be buffered and sent
before packets are dropped. The weight ratio is the ratio of the frequency in which the SRR scheduler sends
packets from each queue.
All four queues participate in the SRR unless the expedite queue is enabled, in which case the first bandwidth
weight is ignored and is not used in the ratio calculation. The expedite queue is a priority queue, and it is
serviced until empty before the other queues are serviced. You enable the expedite queue by using the
priority-queue out interface configuration command.
You can combine the commands described in this section to prioritize traffic by placing packets with particular
DSCPs or CoSs into certain queues, by allocating a large queue size or by servicing the queue more frequently,
and by adjusting queue thresholds so that packets with lower priorities are dropped.

Note The egress queue default settings are suitable for most situations. You should change them only when you
have a thorough understanding of the egress queues and if these settings do not meet your QoS solution.

Note The switch supports 4 egress queues by default, although there is an option to enable a total of 8 egress
queues. Use the mls qos srr-queue output queues 8 global configuration command to enable all 8 egress
queues. Once 8 egress queues are enabled, you are able to configure thresholds, buffers, bandwidth share
weights, and bandwidth shape weights for all 8 queues. The 8 egress queue configuration is only supported
on a standalone switch.

Packet Modification
A packet is classified, policed, and queued to provide QoS. The following packet modifications can occur
during the process to provide QoS:
• For IP and non-IP packets, classification involves assigning a QoS label to a packet based on the DSCP
or CoS of the received packet. However, the packet is not modified at this stage; only an indication of
the assigned DSCP or CoS value is carried along.
• During policing, IP and non-IP packets can have another DSCP assigned to them (if they are out of
profile and the policer specifies a markdown DSCP). Once again, the DSCP in the packet is not modified,
but an indication of the marked-down value is carried along. For IP packets, the packet modification
occurs at a later stage; for non-IP packets the DSCP is converted to CoS and used for queueing and
scheduling decisions.
• Depending on the QoS label assigned to a frame and the mutation chosen, the DSCP and CoS values of
the frame are rewritten. If you do not configure a table map and if you configure the port to trust the
DSCP of the incoming frame, the DSCP value in the frame is not changed, but the CoS is rewritten
according to the DSCP-to-CoS map. If you configure the port to trust the CoS of the incoming frame

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
34 OL-32578-01
Configuring QoS
Standard QoS Default Configuration

and it is an IP packet, the CoS value in the frame is not changed, but the DSCP might be changed
according to the CoS-to-DSCP map.
The input mutation causes the DSCP to be rewritten depending on the new value of DSCP chosen. The
set action in a policy map also causes the DSCP to be rewritten.

Standard QoS Default Configuration


Standard QoS is disabled by default.
There is no concept of trusted or untrusted ports because the packets are not modified. The CoS, DSCP, and
IP precedence values in the packet are not changed.
Traffic is switched in pass-through mode. The packets are switched without any rewrites and classified as
best effort without any policing.
When QoS is enabled using the mls qos global configuration command and all other QoS settings are at their
defaults, traffic is classified as best effort (the DSCP and CoS value is set to 0) without any policing. No
policy maps are configured. The default port trust state on all ports is untrusted.

Related Topics
Enabling QoS Globally, on page 41

Default Ingress Queue Configuration


The following tables describe the default ingress queue configurations.
The following table shows the default ingress queue configuration when QoS is enabled. For the bandwidth
allocation feature, bandwidth is equally shared between the queues. SRR sends packets in shared mode only.
Queue 2 is the priority queue. SRR services the priority queue for its configured share before servicing the
other queue.

Table 7: Default Ingress Queue Configuration

Feature Queue 1 Queue 2


Buffer allocation 90 percent 10 percent

Bandwidth allocation 4 4

Priority queue bandwidth 0 10

WTD drop threshold 1 100 percent 100 percent

WTD drop threshold 2 100 percent 100 percent

The following table shows the default CoS input queue threshold map when QoS is enabled.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 35
Configuring QoS
Standard QoS Default Configuration

Table 8: Default CoS Input Queue Threshold Map

CoS Value Queue ID–Threshold ID


0–4 1–1

5 2–1

6, 7 1–1

The following table shows the default DSCP input queue threshold map when QoS is enabled.

Table 9: Default DSCP Input Queue Threshold Map

DSCP Value Queue ID–Threshold ID


0–39 1–1

40–47 2–1

48–63 1–1

Default Egress Queue Configuration


The following tables describe the default egress queue configurations.

Note The switch supports 4 egress queues by default, although there is an option to enable a total of 8 egress
queues. Use the mls qos srr-queue output queues 8 global configuration command to enable all 8 egress
queues. Once 8 egress queues are enabled, you are able to configure thresholds and buffers for all 8 queues.
The 8 egress queue configuration is only supported on a standalone switch.

The following table shows the default egress queue configuration for each queue-set when QoS is enabled.
All ports are mapped to queue-set 1. The port bandwidth limit is set to 100 percent and rate unlimited. Note
that for the SRR shaped weights (absolute) feature, a shaped weight of zero indicates that the queue is operating
in shared mode. Note that for the SRR shared weights feature, one quarter of the bandwidth is allocated to
each queue.

Table 10: Default Egress Queue Configuration

Feature Queue 1 Queue 2 Queue 3 Queue 4


Buffer allocation 25 percent 25 percent 25 percent 25 percent

WTD drop threshold 1 100 percent 200 percent 100 percent 100 percent

WTD drop threshold 2 100 percent 200 percent 100 percent 100 percent

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
36 OL-32578-01
Configuring QoS
Standard QoS Default Configuration

Feature Queue 1 Queue 2 Queue 3 Queue 4


Reserved threshold 50 percent 50 percent 50 percent 50 percent

Maximum threshold 400 percent 400 percent 400 percent 400 percent

SRR shaped weights 25 0 0 0


(absolute)

SRR shared weights 25 25 25 25

The following table shows the default CoS output queue threshold map when QoS is enabled.

Table 11: Default CoS Output Queue Threshold Map

CoS Value Queue ID–Threshold ID


0, 1 2–1

2, 3 3–1

4 4–1

5 1–1

6, 7 4–1

The following table shows the default DSCP output queue threshold map when QoS is enabled.

Table 12: Default DSCP Output Queue Threshold Map

DSCP Value Queue ID–Threshold ID


0–15 2–1

16–31 3–1

32–39 4–1

40–47 1–1

48–63 4–1

The following table displays the default egress queue configuration when the 8 egress queue configuration is
enabled using the mls qos srr-queue output queues 8 command.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 37
Configuring QoS
Standard QoS Default Configuration

Table 13: Default 8 Egress Queue Configuration

Feature Queue 1 Queue 2 Queue 3 Queue 4 Queue 5 Queue 6 Queue 7 Queue 8


Buffer 10 30 10 10 10 10 10 10
allocation

WTD 100 1600 100 100 100 100 100 100


drop
threshold
1

WTD 100 2000 100 100 100 100 100 100


drop
threshold
2

Reserved 100 100 100 100 100 100 100 100


threshold

Maximum 400 2400 400 400 400 400 400 400


threshold

SRR 25 0 0 0 0 0 0 0
shaped
weights

SRR 25 25 25 25 25 25 25 25
shared
weights

The following table displays the default CoS output queue threshold map when QoS is enabled and the 8
egress queue configuration is enabled using the mls qos srr-queue output queues 8 command.

Table 14: Default CoS Output 8 Queue Threshold Map

CoS Egress Queue Threshold ID 4 Egress Queue Mapping


0 2 1 2

1 3 1 2

2 4 1 3

3 5 1 3

4 6 1 4

5 1 1 1

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
38 OL-32578-01
Configuring QoS
DSCP Maps

CoS Egress Queue Threshold ID 4 Egress Queue Mapping


6 7 1 4

7 8 1 4

The following table displays the default DSCP output queue threshold map when QoS is enabled and the 8
egress queue configuration is enabled using the mls qos srr-queue output queues 8 command.

Table 15: Default DSCP Output 8 Queue Threshold Map

DSCP Egress Queue Threshold ID 4 Egress Queue Mapping


0-7 2 1 2

8-15 3 1 2

16-23 4 1 3

24-31 5 1 3

32-39 6 1 4

40-47 1 1 1

48-55 7 1 4

56-63 8 1 4

Default Mapping Table Configuration


The default DSCP-to-DSCP-mutation map is a null map, which maps an incoming DSCP value to the same
DSCP value.
The default policed-DSCP map is a null map, which maps an incoming DSCP value to the same DSCP value
(no markdown).

DSCP Maps
Related Topics
Configuring the CoS-to-DSCP Map, on page 83
Configuring the IP-Precedence-to-DSCP Map, on page 85
Configuring the Policed-DSCP Map, on page 86
Configuring the DSCP-to-CoS Map, on page 87
Configuring the DSCP-to-DSCP-Mutation Map, on page 89

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 39
Configuring QoS
DSCP Maps

Examples: Configuring DSCP Maps, on page 111

Default CoS-to-DSCP Map


You use the CoS-to-DSCP map to map CoS values in incoming packets to a DSCP value that QoS uses
internally to represent the priority of the traffic. The following table shows the default CoS-to-DSCP map. If
these values are not appropriate for your network, you need to modify them.

Table 16: Default CoS-to-DSCP Map

CoS Value DSCP Value


0 0

1 8

2 16

3 24

4 32

5 40

6 48

7 56

Default IP-Precedence-to-DSCP Map


You use the IP-precedence-to-DSCP map to map IP precedence values in incoming packets to a DSCP value
that QoS uses internally to represent the priority of the traffic. The following table shows the default
IP-precedence-to-DSCP map. If these values are not appropriate for your network, you need to modify them.

Table 17: Default IP-Precedence-to-DSCP Map

IP Precedence Value DSCP Value


0 0

1 8

2 16

3 24

4 32

5 40

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
40 OL-32578-01
Configuring QoS
How to Configure QoS

IP Precedence Value DSCP Value


6 48

7 56

Default DSCP-to-CoS Map


You use the DSCP-to-CoS map to generate a CoS value, which is used to select one of the four egress queues.
The following table shows the default DSCP-to-CoS map. If these values are not appropriate for your network,
you need to modify them.

Table 18: Default DSCP-to-CoS Map

DSCP Value CoS Value


0–7 0

8–15 1

16–23 2

24–31 3

32–39 4

40–47 5

48–55 6

56–63 7

How to Configure QoS


Enabling QoS Globally
By default, QoS is disabled on the switch.
The following procedure to enable QoS globally is required.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 41
Configuring QoS
Enabling QoS Globally

SUMMARY STEPS

1. configure terminal
2. mls qos
3. end
4. show mls qos
5. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 mls qos Enables QoS globally.


QoS operates with the default settings described in the related
Example: topic sections below.
Switch(config)# mls qos Note To disable QoS, use the no mls qos global
configuration command.
Step 3 end Returns to privileged EXEC mode.

Example:
Switch(config)# end

Step 4 show mls qos Verifies the QoS configuration.

Example:
Switch# show mls qos

Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy running-config
startup-config

Related Topics
Standard QoS Default Configuration, on page 35

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
42 OL-32578-01
Configuring QoS
Enabling VLAN-Based QoS on Physical Ports

Enabling VLAN-Based QoS on Physical Ports


By default, VLAN-based QoS is disabled on all physical switch ports. The switch applies QoS, including
class maps and policy maps, only on a physical-port basis. You can enable VLAN-based QoS on a switch
port.
The following procedure is required on physical ports that are specified in the interface level of a hierarchical
policy map on a Switch Virtual Interface (SVI).

SUMMARY STEPS

1. configure terminal
2. interface interface-id
3. mls qos vlan-based
4. end
5. show mls qos interface interface-id
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 interface interface-id Specifies the physical port, and enter interface
configuration mode.
Example:
Switch(config)# interface
gigabitethernet 1/0/1

Step 3 mls qos vlan-based Enables VLAN-based QoS on the port.


Note Use the no mls qos vlan-based interface
Example: configuration command to disable VLAN-based
Switch(config-if)# mls qos vlan-based QoS on the physical port.

Step 4 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 43
Configuring QoS
Configuring Classification Using Port Trust States

Command or Action Purpose


Step 5 show mls qos interface interface-id Verifies if VLAN-based QoS is enabled on the physical
port.
Example:
Switch# show mls qos interface
gigabitethernet 1/0/1

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy running-config
startup-config

Configuring Classification Using Port Trust States


These sections describe how to classify incoming traffic by using port trust states.

Note Depending on your network configuration, you must perform one or more of these tasks in this module
or one or more of the tasks in the Configuring a QoS Policy.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
44 OL-32578-01
Configuring QoS
Configuring Classification Using Port Trust States

Configuring the Trust State on Ports Within the QoS Domain


Packets entering a QoS domain are classified at the edge of the QoS domain. When the packets are classified
at the edge, the switch port within the QoS domain can be configured to one of the trusted states because there
is no need to classify the packets at every switch within the QoS domain.

Figure 10: Port Trusted States on Ports Within the QoS Domain

SUMMARY STEPS

1. configure terminal
2. interface interface-id
3. mls qos trust [cos | dscp | ip-precedence]
4. end
5. show mls qos interface
6. copy running-config startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 45
Configuring QoS
Configuring Classification Using Port Trust States

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 interface interface-id Specifies the port to be trusted, and enters interface configuration mode.
Valid interfaces are physical ports.
Example:
Switch(config)# interface
gigabitethernet 1/0/2

Step 3 mls qos trust [cos | dscp | ip-precedence] Configures the port trust state.
By default, the port is not trusted. If no keyword is specified, the default is
Example: dscp.
Switch(config-if)# mls qos trust The keywords have these meanings:
cos
• cos—Classifies an ingress packet by using the packet CoS value. For
an untagged packet, the port default CoS value is used. The default
port CoS value is 0.
• dscp—Classifies an ingress packet by using the packet DSCP value.
For a non-IP packet, the packet CoS value is used if the packet is
tagged; for an untagged packet, the default port CoS is used. Internally,
the switch maps the CoS value to a DSCP value by using the
CoS-to-DSCP map.
• ip-precedence—Classifies an ingress packet by using the packet
IP-precedence value. For a non-IP packet, the packet CoS value is used
if the packet is tagged; for an untagged packet, the default port CoS is
used. Internally, the switch maps the CoS value to a DSCP value by
using the CoS-to-DSCP map.

To return a port to its untrusted state, use the no mls qos trust interface
configuration command.

Step 4 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
46 OL-32578-01
Configuring QoS
Configuring Classification Using Port Trust States

Command or Action Purpose


Step 5 show mls qos interface Verifies your entries.

Example:
Switch# show mls qos interface

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy running-config
startup-config

Related Topics
Example: Configuring Port to the DSCP-Trusted State and Modifying the DSCP-to-DSCP-Mutation Map,
on page 104

Configuring the CoS Value for an Interface


QoS assigns the CoS value specified with the mls qos cos interface configuration command to untagged
frames received on trusted and untrusted ports.
Beginning in privileged EXEC mode, follow these steps to define the default CoS value of a port or to assign
the default CoS to all incoming packets on the port.

SUMMARY STEPS

1. configure terminal
2. interface interface-id
3. mls qos cos {default-cos | override}
4. end
5. show mls qos interface
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 47
Configuring QoS
Configuring Classification Using Port Trust States

Command or Action Purpose


Step 2 interface interface-id Specifies the port to be configured, and enters interface configuration mode.
Valid interfaces include physical ports.
Example:
Switch(config)# interface
gigabitethernet 1/1/1

Step 3 mls qos cos {default-cos | override} Configures the default CoS value for the port.
• For default-cos, specify a default CoS value to be assigned to a port. If
Example: the packet is untagged, the default CoS value becomes the packet CoS
Switch(config-if)# mls qos value. The CoS range is 0 to 7. The default is 0.
override
• Use the override keyword to override the previously configured trust
state of the incoming packet and to apply the default port CoS value to
the port on all incoming packets. By default, CoS override is disabled.
Use the override keyword when all incoming packets on specified ports
deserve higher or lower priority than packets entering from other ports.
Even if a port was previously set to trust DSCP, CoS, or IP precedence,
this command overrides the previously configured trust state, and all
the incoming CoS values are assigned the default CoS value configured
with this command. If an incoming packet is tagged, the CoS value of
the packet is modified with the default CoS of the port at the ingress
port.

Note To return to the default setting, use the no mls qos cos {default-cos
| override} interface configuration command.
Step 4 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

Step 5 show mls qos interface Verifies your entries.

Example:
Switch# show mls qos interface

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy running-config
startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
48 OL-32578-01
Configuring QoS
Configuring Classification Using Port Trust States

Related Topics
Example: Configuring Port to the DSCP-Trusted State and Modifying the DSCP-to-DSCP-Mutation Map,
on page 104

Configuring a Trusted Boundary to Ensure Port Security


In a typical network, you connect a Cisco IP Phone to a switch port and cascade devices that generate data
packets from the back of the telephone. The Cisco IP Phone guarantees the voice quality through a shared
data link by marking the CoS level of the voice packets as high priority (CoS = 5) and by marking the data
packets as low priority (CoS = 0). Traffic sent from the telephone to the switch is typically marked with a tag
that uses the 802.1Q header. The header contains the VLAN information and the class of service (CoS) 3-bit
field, which is the priority of the packet.
For most Cisco IP Phone configurations, the traffic sent from the telephone to the switch should be trusted to
ensure that voice traffic is properly prioritized over other types of traffic in the network. By using the mls qos
trust cos interface configuration command, you configure the switch port to which the telephone is connected
to trust the CoS labels of all traffic received on that port. Use the mls qos trust dscp interface configuration
command to configure a routed port to which the telephone is connected to trust the DSCP labels of all traffic
received on that port.
With the trusted setting, you also can use the trusted boundary feature to prevent misuse of a high-priority
queue if a user bypasses the telephone and connects the PC directly to the switch. Without trusted boundary,
the CoS labels generated by the PC are trusted by the switch (because of the trusted CoS setting). By contrast,
trusted boundary uses CDP to detect the presence of a Cisco IP Phone (such as the Cisco IP Phone 7910,
7935, 7940, and 7960) on a switch port. If the telephone is not detected, the trusted boundary feature disables
the trusted setting on the switch port and prevents misuse of a high-priority queue. Note that the trusted
boundary feature is not effective if the PC and Cisco IP Phone are connected to a hub that is connected to the
switch.
In some situations, you can prevent a PC connected to the Cisco IP Phone from taking advantage of a
high-priority data queue. You can use the switchport priority extend cos interface configuration command
to configure the telephone through the switch CLI to override the priority of the traffic received from the PC.

SUMMARY STEPS

1. configure terminal
2. cdp run
3. interface interface-id
4. cdp enable
5. Use one of the following:
• mls qos trust cos
• mls qos trust dscp

6. mls qos trust device cisco-phone


7. end
8. show mls qos interface
9. copy running-config startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 49
Configuring QoS
Configuring Classification Using Port Trust States

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 cdp run Enables CDP globally. By default, CDP is enabled.

Example:
Switch(config)# cdp run

Step 3 interface interface-id Specifies the port connected to the Cisco IP Phone, and enters
interface configuration mode.
Example: Valid interfaces include physical ports.
Switch(config)# interface
gigabitethernet 2/1/1

Step 4 cdp enable Enables CDP on the port. By default, CDP is enabled.

Example:
Switch(config-if)# cdp enable

Step 5 Use one of the following: Configures the switch port to trust the CoS value in traffic
received from the Cisco IP Phone.
• mls qos trust cos
or
• mls qos trust dscp
Configures the routed port to trust the DSCP value in traffic
received from the Cisco IP Phone.
Example: By default, the port is not trusted.
Switch(config-if)# mls qos trust cos

Step 6 mls qos trust device cisco-phone Specifies that the Cisco IP Phone is a trusted device.
You cannot enable both trusted boundary and auto-QoS (auto
Example: qos voip interface configuration command) at the same time;
Switch(config-if)# mls qos trust they are mutually exclusive.
device cisco-phone
Note To disable the trusted boundary feature, use the no mls
qos trust device interface configuration command.
Step 7 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
50 OL-32578-01
Configuring QoS
Configuring Classification Using Port Trust States

Command or Action Purpose


Step 8 show mls qos interface Verifies your entries.

Example:
Switch# show mls qos interface

Step 9 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy running-config
startup-config

Related Topics
Example: Configuring Port to the DSCP-Trusted State and Modifying the DSCP-to-DSCP-Mutation Map,
on page 104

Enabling DSCP Transparency Mode


The switch supports the DSCP transparency feature. It affects only the DSCP field of a packet at egress. By
default, DSCP transparency is disabled. The switch modifies the DSCP field in an incoming packet, and the
DSCP field in the outgoing packet is based on the quality of service (QoS) configuration, including the port
trust setting, policing and marking, and the DSCP-to-DSCP mutation map.
If DSCP transparency is enabled by using the no mls qos rewrite ip dscp command, the switch does not
modify the DSCP field in the incoming packet, and the DSCP field in the outgoing packet is the same as that
in the incoming packet.
Regardless of the DSCP transparency configuration, the switch modifies the internal DSCP value of the packet,
which the switch uses to generate a class of service (CoS) value that represents the priority of the traffic. The
switch also uses the internal DSCP value to select an egress queue and threshold.

SUMMARY STEPS

1. configure terminal
2. mls qos
3. no mls qos rewrite ip dscp
4. end
5. show mls qos interface [interface-id]
6. copy running-config startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 51
Configuring QoS
Configuring Classification Using Port Trust States

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 mls qos Enables QoS globally.

Example:
Switch(config)# mls qos

Step 3 no mls qos rewrite ip dscp Enables DSCP transparency. The switch is
configured to not modify the DSCP field of the IP
Example: packet.

Switch(config)# no mls qos rewrite ip dscp

Step 4 end Returns to privileged EXEC mode.

Example:
Switch(config)# end

Step 5 show mls qos interface [interface-id] Verifies your entries.

Example:
Switch# show mls qos interface gigabitethernet
2/1/1

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration
file.
Example:
Switch# copy running-config startup-config

DSCP Transparency Mode


To configure the switch to modify the DSCP value based on the trust setting or on an ACL by disabling DSCP
transparency, use the mls qos rewrite ip dscp global configuration command.
If you disable QoS by using the no mls qos global configuration command, the CoS and DSCP values are
not changed (the default QoS setting).

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
52 OL-32578-01
Configuring QoS
Configuring Classification Using Port Trust States

If you enter the no mls qos rewrite ip dscp global configuration command to enable DSCP transparency and
then enter the mls qos trust [cos | dscp] interface configuration command, DSCP transparency is still enabled.

Configuring the DSCP Trust State on a Port Bordering Another QoS Domain
If you are administering two separate QoS domains between which you want to implement QoS features for
IP traffic, you can configure the switch ports bordering the domains to a DSCP-trusted state. The receiving
port accepts the DSCP-trusted value and avoids the classification stage of QoS. If the two domains use different
DSCP values, you can configure the DSCP-to-DSCP-mutation map to translate a set of DSCP values to match
the definition in the other domain.

Figure 11: DSCP-Trusted State on a Port Bordering Another QoS Domain

Beginning in privileged EXEC mode, follow these steps to configure the DSCP-trusted state on a port and
modify the DSCP-to-DSCP-mutation map. To ensure a consistent mapping strategy across both QoS domains,
you must perform this procedure on the ports in both domains.

SUMMARY STEPS

1. configure terminal
2. mls qos map dscp-mutation dscp-mutation-name in-dscp to out-dscp
3. interface interface-id
4. mls qos trust dscp
5. mls qos dscp-mutation dscp-mutation-name
6. end
7. show mls qos maps dscp-mutation
8. copy running-config startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 53
Configuring QoS
Configuring Classification Using Port Trust States

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 mls qos map dscp-mutation Modifies the DSCP-to-DSCP-mutation map.


dscp-mutation-name in-dscp to out-dscp The default DSCP-to-DSCP-mutation map is a null map, which maps
an incoming DSCP value to the same DSCP value.
Example:
• For dscp-mutation-name, enter the mutation map name. You can
Switch(config)# mls qos map create more than one map by specifying a new name.
dscp-mutation
gigabitethernet1/0/2-mutation
10 11 12 13 to 30
• For in-dscp, enter up to eight DSCP values separated by spaces.
Then enter the to keyword.
• For out-dscp, enter a single DSCP value.

The DSCP range is 0 to 63.

Step 3 interface interface-id Specifies the port to be trusted, and enter interface configuration mode.
Valid interfaces include physical ports.
Example:
Switch(config)# interface
gigabitethernet1/0/2

Step 4 mls qos trust dscp Configures the ingress port as a DSCP-trusted port. By default, the port
is not trusted.
Example: Note To return a port to its non-trusted state, use the no mls qos
Switch(config-if)# mls qos trust dscp trust interface configuration command.

Step 5 mls qos dscp-mutation dscp-mutation-name Applies the map to the specified ingress DSCP-trusted port.
For dscp-mutation-name, specify the mutation map name created in
Example: Step 2.
Switch(config-if)# mls qos dscp-mutation You can configure multiple DSCP-to-DSCP-mutation maps on an ingress
gigabitethernet1/0/2-mutation
port.
Note To return to the default DSCP-to-DSCP-mutation map values,
use the no mls qos map dscp-mutation dscp-mutation-name
global configuration command.
Step 6 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
54 OL-32578-01
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


Step 7 show mls qos maps dscp-mutation Verifies your entries.

Example:
Switch# show mls qos maps
dscp-mutation

Step 8 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Note To return a port to its non-trusted state, use the no mls qos
Example: trust interface configuration command. To return to the default
Switch# copy-running-config DSCP-to-DSCP-mutation map values, use the no mls qos map
startup-config dscp-mutation dscp-mutation-name global configuration
command.

Configuring a QoS Policy


Configuring a QoS policy typically requires the following tasks:
• Classifying traffic into classes
• Configuring policies applied to those traffic classes
• Attaching policies to ports

These sections describe how to classify, police, and mark traffic. Depending on your network configuration,
you must perform one or more of the modules in this section.

Classifying Traffic by Using ACLs


You can classify IP traffic by using IPv4 standard ACLS, IPv4 extended ACLs, or IPv6 ACLs.
You can classify non-IP traffic by using Layer 2 MAC ACLs.

Creating an IP Standard ACL for IPv4 Traffic

Before You Begin


Before you perform this task, determine which access lists you will be using for your QoS configuration.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 55
Configuring QoS
Configuring a QoS Policy

SUMMARY STEPS

1. configure terminal
2. access-list access-list-number {deny | permit} source [source-wildcard]
3. end
4. show access-lists
5. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 access-list access-list-number {deny | Creates an IP standard ACL, repeating the command as many times as
permit} source [source-wildcard] necessary.
• For access-list-number, enter the access list number. The range is 1
Example: to 99 and 1300 to 1999.
Switch(config)# access-list 1
permit 192.2.255.0 1.1.1.255 • Use the permit keyword to permit a certain type of traffic if the
conditions are matched. Use the deny keyword to deny a certain type
of traffic if conditions are matched.
• For source, enter the network or host from which the packet is being
sent. You can use the any keyword as an abbreviation for 0.0.0.0
255.255.255.255.
• (Optional) For source-wildcard, enter the wildcard bits in dotted
decimal notation to be applied to the source. Place ones in the bit
positions that you want to ignore.

When you create an access list, remember that by default the end of the
access list contains an implicit deny statement for everything if it did not
find a match before reaching the end.
Note To delete an access list, use the no access-list access-list-number
global configuration command.
Step 3 end Returns to privileged EXEC mode.

Example:
Switch(config)# end

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
56 OL-32578-01
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


Step 4 show access-lists Verifies your entries.

Example:
Switch# show access-lists

Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

Related Topics
Access Control Lists, on page 22
Examples: Classifying Traffic by Using ACLs, on page 105

Creating an IP Extended ACL for IPv4 Traffic

Before You Begin


Before you perform this task, determine which access lists you will be using for your QoS configuration.

SUMMARY STEPS

1. configure terminal
2. access-list access-list-number {deny | permit} protocol source source-wildcard destination
destination-wildcard
3. end
4. show access-lists
5. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 access-list access-list-number {deny | Creates an IP extended ACL, repeating the command as many times as necessary.
permit} protocol source

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 57
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


source-wildcard destination • For access-list-number, enter the access list number. The range is 100 to
destination-wildcard 199 and 2000 to 2699.
• Use the permit keyword to permit a certain type of traffic if the conditions
Example: are matched. Use the deny keyword to deny a certain type of traffic if
Switch(config)# access-list 100 conditions are matched.
permit ip any any dscp 32
• For protocol, enter the name or number of an IP protocol. Use the question
mark (?) to see a list of available protocol keywords.
• For source, enter the network or host from which the packet is being sent.
You specify this by using dotted decimal notation, by using the any keyword
as an abbreviation for source 0.0.0.0 source-wildcard 255.255.255.255, or
by using the host keyword for source 0.0.0.0.
• For source-wildcard, enter the wildcard bits by placing ones in the bit
positions that you want to ignore. You specify the wildcard by using dotted
decimal notation, by using the any keyword as an abbreviation for source
0.0.0.0 source-wildcard 255.255.255.255, or by using the host keyword for
source 0.0.0.0.
• For destination, enter the network or host to which the packet is being sent.
You have the same options for specifying the destination and
destination-wildcard as those described by source and source-wildcard.

When creating an access list, remember that, by default, the end of the access list
contains an implicit deny statement for everything if it did not find a match before
reaching the end.
Note To delete an access list, use the no access-list access-list-number global
configuration command.
Step 3 end Returns to privileged EXEC mode.

Example:
Switch(config)# end

Step 4 show access-lists Verifies your entries.

Example:
Switch# show access-lists

Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
58 OL-32578-01
Configuring QoS
Configuring a QoS Policy

Related Topics
Access Control Lists, on page 22
Examples: Classifying Traffic by Using ACLs, on page 105

Creating an IPv6 ACL for IPv6 Traffic

Before You Begin


Before you perform this task, determine which access lists you will be using for your QoS configuration.

SUMMARY STEPS

1. configure terminal
2. ipv6 access-list access-list-name
3. {deny | permit} protocol {source-ipv6-prefix/prefix-length | any | host source-ipv6-address} [operator
[port-number]] {destination-ipv6-prefix/ prefix-length | any | host destination-ipv6-address} [operator
[port-number]] [dscp value] [fragments] [log] [log-input] [routing] [sequence value] [time-range name]
4. end
5. show ipv6 access-list
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 ipv6 access-list access-list-name Creates an IPv6 ACL and enters IPv6 access-list configuration mode.
Accesses list names cannot contain a space or quotation mark or begin with a
Example: numeric.
Switch(config)# ipv6 Note To delete an access list, use the no ipv6 access-list access-list-number
access-list ipv6_Name_ACL
global configuration command.

Step 3 {deny | permit} protocol Enters deny or permit to specify whether to deny or permit the packet if conditions
{source-ipv6-prefix/prefix-length | any are matched. These are the conditions:
| host source-ipv6-address} [operator For protocol, enter the name or number of an Internet protocol: ahp, esp, icmp,
[port-number]] {destination-ipv6-prefix/ ipv6, pcp, stcp, tcp, or udp, or an integer in the range 0 to 255 representing an
prefix-length | any | host IPv6 protocol number.
destination-ipv6-address} [operator
[port-number]] [dscp value] [fragments] • The source-ipv6-prefix/prefix-length or destination-ipv6-prefix/ prefix-length
[log] [log-input] [routing] [sequence is the source or destination IPv6 network or class of networks for which to
value] [time-range name] set deny or permit conditions, specified in hexadecimal and using 16-bit
values between colons (see RFC 2373).

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 59
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


• Enter any as an abbreviation for the IPv6 prefix ::/0.
Example: • For host source-ipv6-address or destination-ipv6-address, enter the source
Switch(config-ipv6-acl)# or destination IPv6 host address for which to set deny or permit conditions,
permit ip host 10::1 host specified in hexadecimal using 16-bit values between colons.
11::2 host
• (Optional) For operator, specify an operand that compares the source or
destination ports of the specified protocol. Operands are lt (less than), gt
(greater than), eq (equal), neq (not equal), and range.
If the operator follows the source-ipv6-prefix/prefix-length argument, it
must match the source port. If the operator follows the destination-ipv6-
prefix/prefix-length argument, it must match the destination port.
• (Optional) The port-number is a decimal number from 0 to 65535 or the
name of a TCP or UDP port. You can use TCP port names only when
filtering TCP. You can use UDP port names only when filtering UDP.
• (Optional) Enter dscp value to match a differentiated services code point
value against the traffic class value in the Traffic Class field of each IPv6
packet header. The acceptable range is from 0 to 63.
• (Optional) Enter fragments to check noninitial fragments. This keyword is
visible only if the protocol is IPv6.
• (Optional) Enter log to cause a logging message to be sent to the console
about the packet that matches the entry. Enter log-input to include the input
interface in the log entry. Logging is supported only for router ACLs.
• (Optional) Enter routing to specify that IPv6 packets be routed.
• (Optional) Enter sequence value to specify the sequence number for the
access list statement. The acceptable range is from 1 to 4294967295.
• (Optional) Enter time-range name to specify the time range that applies to
the deny or permit statement.

Step 4 end Returns to privileged EXEC mode.

Example:
Switch(config-ipv6-acl)# end

Step 5 show ipv6 access-list Verifies the access list configuration.

Example:
Switch# show ipv6
access-list

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
60 OL-32578-01
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

Related Topics
Access Control Lists, on page 22
Examples: Classifying Traffic by Using ACLs, on page 105

Creating a Layer 2 MAC ACL for Non-IP Traffic

Before You Begin


Before you perform this task, determine that Layer 2 MAC access lists are required for your QoS configuration.

SUMMARY STEPS

1. configure terminal
2. mac access-list extended name
3. {permit | deny} {host src-MAC-addr mask | any | host dst-MAC-addr | dst-MAC-addr mask} [type mask]
4. end
5. show access-lists [access-list-number | access-list-name]
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 mac access-list extended name Creates a Layer 2 MAC ACL by specifying the name of the list.
After entering this command, the mode changes to extended MAC ACL
Example: configuration.
Switch(config)# mac access-list Note To delete an access list, use the no mac access-list extended
extended maclist1
access-list-name global configuration command.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 61
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


Step 3 {permit | deny} {host src-MAC-addr mask Specifies the type of traffic to permit or deny if the conditions are matched,
| any | host dst-MAC-addr | dst-MAC-addr entering the command as many times as necessary.
mask} [type mask]
• For src-MAC-addr, enter the MAC address of the host from which
the packet is being sent. You specify this by using the hexadecimal
Example: format (H.H.H), by using the any keyword as an abbreviation for
Switch(config-ext-mac1) # permit source 0.0.0, source-wildcard ffff.ffff.ffff, or by using the host
0001.0000.0001 keyword for source 0.0.0.
0.0.0 0002.0000.0001 0.0.0
• For mask, enter the wildcard bits by placing ones in the bit positions
Switch(config-ext-mac1) # permit that you want to ignore.
0001.0000.0002
0.0.0 0002.0000.0002 0.0.0 xns-idp • For dst-MAC-addr, enter the MAC address of the host to which the
packet is being sent. You specify this by using the hexadecimal format
(H.H.H), by using the any keyword as an abbreviation for source
0.0.0, source-wildcard ffff.ffff.ffff, or by using the host keyword for
source 0.0.0.
• (Optional) For type mask, specify the Ethertype number of a packet
with Ethernet II or SNAP encapsulation to identify the protocol of the
packet. For type, the range is from 0 to 65535, typically specified in
hexadecimal. For mask, enter the don’t care bits applied to the
Ethertype before testing for a match.

When creating an access list, remember that, by default, the end of the access
list contains an implicit deny statement for everything if it did not find a
match before reaching the end.

Step 4 end Returns to privileged EXEC mode.

Example:
Switch(config-ext-mac1)# end

Step 5 show access-lists [access-list-number | Verifies your entries.


access-list-name]

Example:
Switch# show access-lists

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
62 OL-32578-01
Configuring QoS
Configuring a QoS Policy

Related Topics
Access Control Lists, on page 22
Examples: Classifying Traffic by Using ACLs, on page 105

Classifying Traffic by Using Class Maps


You use the class-map global configuration command to name and to isolate a specific traffic flow (or class)
from all other traffic. The class map defines the criteria to use to match against a specific traffic flow to further
classify it. Match statements can include criteria such as an ACL, IP precedence values, or DSCP values. The
match criterion is defined with one match statement entered within the class-map configuration mode.

Note You can also create class maps during policy map creation by using the class policy-map configuration
command.

SUMMARY STEPS

1. configure terminal
2. Use one of the following:
• access-list access-list-number {deny | permit} source [source-wildcard]
• access-list access-list-number {deny | permit} protocol source [source-wildcard] destination
[destination-wildcard]
• ipv6 access-list access-list-name {deny | permit} protocol {source-ipv6-prefix/prefix-length | any
| host source-ipv6-address} [operator [port-number]] {destination-ipv6-prefix/ prefix-length | any
| host destination-ipv6-address} [operator [port-number]] [dscp value] [fragments] [log] [log-input]
[routing] [sequence value] [time-range name]
• mac access-list extended name {permit | deny} {host src-MAC-addr mask | any | host dst-MAC-addr
| dst-MAC-addr mask} [type mask]

3. class-map [match-all | match-any] class-map-name


4. match {access-group acl-index-or-name | ip dscp dscp-list | ip precedence ip-precedence-list}
5. end
6. show class-map
7. copy running-config startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 63
Configuring QoS
Configuring a QoS Policy

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 Use one of the following: Creates an IP standard or extended ACL, an IPv6 ACL for IP traffic,
or a Layer 2 MAC ACL for non-IP traffic, repeating the command
• access-list access-list-number {deny | permit} as many times as necessary.
source [source-wildcard]
When creating an access list, remember that, by default, the end of
• access-list access-list-number {deny | permit} the access list contains an implicit deny statement for everything if
protocol source [source-wildcard] destination it did not find a match before reaching the end.
[destination-wildcard]
• ipv6 access-list access-list-name {deny |
permit} protocol
{source-ipv6-prefix/prefix-length | any | host
source-ipv6-address} [operator
[port-number]] {destination-ipv6-prefix/
prefix-length | any | host
destination-ipv6-address} [operator
[port-number]] [dscp value] [fragments] [log]
[log-input] [routing] [sequence value]
[time-range name]
• mac access-list extended name {permit |
deny} {host src-MAC-addr mask | any | host
dst-MAC-addr | dst-MAC-addr mask} [type
mask]

Example:
Switch(config)# access-list 103 permit ip
any
any dscp 10

Step 3 class-map [match-all | match-any] class-map-name Creates a class map, and enters class-map configuration mode.
By default, no class maps are defined.
Example:
• (Optional) Use the match-all keyword to perform a logical-AND
Switch(config)# class-map class1 of all matching statements under this class map. All match
criteria in the class map must be matched.
• (Optional) Use the match-any keyword to perform a logical-OR
of all matching statements under this class map. One or more
match criteria must be matched.
• For class-map-name, specify the name of the class map.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
64 OL-32578-01
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


If neither the match-all or match-any keyword is specified, the
default is match-all.
Note To delete an existing class map, use the no class-map
[match-all | match-any] class-map-name global
configuration command.
Step 4 match {access-group acl-index-or-name | ip dscp Defines the match criterion to classify traffic.
dscp-list | ip precedence ip-precedence-list} By default, no match criterion is defined.

Example:
Only one match criterion per class map is supported, and only one
ACL per class map is supported.
Switch(config-cmap)# match ip dscp 10 11 12
• For access-group acl-index-or-name, specify the number or
name of the ACL created in Step 2.
• To filter IPv6 traffic with the match access-group command,
create an IPv6 ACL, as described in Step 2.
• For ip dscp dscp-list, enter a list of up to eight IP DSCP values
to match against incoming packets. Separate each value with a
space. The range is 0 to 63.
• For ip precedence ip-precedence-list, enter a list of up to eight
IP-precedence values to match against incoming packets.
Separate each value with a space. The range is 0 to 7.

Note To remove a match criterion, use the no match


{access-group acl-index-or-name | ip dscp | ip precedence}
class-map configuration command.
Step 5 end Returns to privileged EXEC mode.

Example:
Switch(config-cmap)# end

Step 6 show class-map Verifies your entries.

Example:
Switch# show class-map

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 65
Configuring QoS
Configuring a QoS Policy

Related Topics
Classification Based on Class Maps and Policy Maps, on page 23
Examples: Classifying Traffic by Using Class Maps, on page 106

Classifying Traffic by Using Class Maps and Filtering IPv6 Traffic

Note IPv6 QoS is not supported on switches running the LAN base feature set.

To apply the primary match criteria to only IPv4 traffic, use the match protocol command with the ip keyword.
To apply the primary match criteria to only IPv6 traffic, use the match protocol command with the ipv6
keyword.

SUMMARY STEPS

1. configure terminal
2. class-map {match-all} class-map-name
3. match protocol [ip | ipv6]
4. match {ip dscp dscp-list | ip precedence ip-precedence-list}
5. end
6. show class-map
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 class-map {match-all} class-map-name Creates a class map, and enters class-map configuration mode.
By default, no class maps are defined.
Example:
When you use the match protocol command, only the match-all keyword
Switch(config)# class-map cm-1 is supported.
• For class-map-name, specify the name of the class map.

If neither the match-all or match-any keyword is specified, the default is


match-all.
Note To delete an existing class map, use the no class-map [match-all
| match-any] class-map-name global configuration command.
Step 3 match protocol [ip | ipv6] (Optional) Specifies the IP protocol to which the class map applies:

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
66 OL-32578-01
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


• Use the argument ip to specify IPv4 traffic and ipv6 to specify IPv6
Example: traffic.

Switch(config-cmap)# match protocol • When you use the match protocol command, only the match-all
ip keyword is supported for the class-map command.

Note You can also match the following protocols: ARP, CDP, and HTTP.

Step 4 match {ip dscp dscp-list | ip precedence Defines the match criterion to classify traffic.
ip-precedence-list} By default, no match criterion is defined.

Example: • For ip dscp dscp-list, enter a list of up to eight IP DSCP values to


match against incoming packets. Separate each value with a space. The
Switch(config-cmap)# match ip dscp range is 0 to 63.
10
• For ip precedence ip-precedence-list, enter a list of up to eight
IP-precedence values to match against incoming packets. Separate each
value with a space. The range is 0 to 7.

Note To remove a match criterion, use the no match {access-group


acl-index-or-name | ip dscp | ip precedence} class-map
configuration command.
Step 5 end Returns to privileged EXEC mode.

Example:
Switch(config-cmap)# end

Step 6 show class-map Verifies your entries.

Example:
Switch# show class-map

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

Related Topics
Classification Based on Class Maps and Policy Maps, on page 23
Examples: Classifying Traffic by Using Class Maps, on page 106

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 67
Configuring QoS
Configuring a QoS Policy

Classifying, Policing, and Marking Traffic on Physical Ports by Using Policy Maps
You can configure a policy map on a physical port that specifies which traffic class to act on. Actions can
include trusting the CoS, DSCP, or IP precedence values in the traffic class; setting a specific DSCP or IP
precedence value in the traffic class; and specifying the traffic bandwidth limitations for each matched traffic
class (policer) and the action to take when the traffic is out of profile (marking).
A policy map also has these characteristics:
• A policy map can contain multiple class statements, each with different match criteria and policers.
• A policy map can contain a predefined default traffic class explicitly placed at the end of the map.
• A separate policy-map class can exist for each type of traffic received through a port.

Follow these guidelines when configuring policy maps on physical ports:


• You can attach only one policy map per ingress port.
• If you configure the IP-precedence-to-DSCP map by using the mls qos map ip-prec-dscp dscp1...dscp8
global configuration command, the settings only affect packets on ingress interfaces that are configured
to trust the IP precedence value. In a policy map, if you set the packet IP precedence value to a new
value by using the set ip precedence new-precedence policy-map class configuration command, the
egress DSCP value is not affected by the IP-precedence-to-DSCP map. If you want the egress DSCP
value to be different than the ingress value, use the set dscp new-dscp policy-map class configuration
command.
• If you enter or have used the set ip dscp command, the switch changes this command to set dscp in its
configuration.
• You can use the set ip precedence or the set precedence policy-map class configuration command to
change the packet IP precedence value. This setting appears as set ip precedence in the switch
configuration.
• You can configure a separate second-level policy map for each class defined for the port. The second-level
policy map specifies the police action to take for each traffic class.
• A policy-map and a port trust state can both run on a physical interface. The policy-map is applied before
the port trust state.
• When you configure a default traffic class by using the class class-default policy-map configuration
command, unclassified traffic (traffic that does not meet the match criteria specified in the traffic classes)
is treated as the default traffic class (class-default).

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
68 OL-32578-01
Configuring QoS
Configuring a QoS Policy

SUMMARY STEPS

1. configure terminal
2. class-map [match-all | match-any] class-map-name
3. policy-map policy-map-name
4. class [class-map-name | class-default]
5. trust [cos | dscp | ip-precedence]
6. set {dscp new-dscp | ip precedence new-precedence}
7. police rate-bps burst-byte [exceed-action {drop | policed-dscp-transmit}]
8. exit
9. exit
10. interface interface-id
11. service-policy input policy-map-name
12. end
13. show policy-map [policy-map-name [class class-map-name]]
14. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 class-map [match-all | match-any] Creates a class map, and enters class-map configuration mode.
class-map-name By default, no class maps are defined.

Example: • (Optional) Use the match-all keyword to perform a logical-AND of all


matching statements under this class map. All match criteria in the class map
Switch(config)# class-map must be matched.
ipclass1
• (Optional) Use the match-any keyword to perform a logical-OR of all
matching statements under this class map. One or more match criteria must
be matched.
• For class-map-name, specify the name of the class map.

If neither the match-all or match-any keyword is specified, the default is


match-all.

Step 3 policy-map policy-map-name Creates a policy map by entering the policy map name, and enters policy-map
configuration mode.
Example: By default, no policy maps are defined.
Switch(config-cmap)# policy-map

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 69
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


flowit The default behavior of a policy map is to set the DSCP to 0 if the packet is an IP
packet and to set the CoS to 0 if the packet is tagged. No policing is performed.
Note To delete an existing policy map, use the no policy-map policy-map-name
global configuration command.
Step 4 class [class-map-name | class-default] Defines a traffic classification, and enters policy-map class configuration mode.
By default, no policy map class-maps are defined.
Example:
If a traffic class has already been defined by using the class-map global
Switch(config-pmap)# class configuration command, specify its name for class-map-name in this command.
ipclass1
A class-default traffic class is pre-defined and can be added to any policy. It is
always placed at the end of a policy map. With an implied match any included in
the class-default class, all packets that have not already matched the other traffic
classes will match class-default.
Note To delete an existing class map, use the no class class-map-name
policy-map configuration command.
Step 5 trust [cos | dscp | ip-precedence] Configures the trust state, which QoS uses to generate a CoS-based or DSCP-based
QoS label.
Example: This command is mutually exclusive with the set command within the same policy
Switch(config-pmap-c)# trust map. If you enter the trust command, go to Step 6.
dscp
By default, the port is not trusted. If no keyword is specified when the command
is entered, the default is dscp.
The keywords have these meanings:
• cos—QoS derives the DSCP value by using the received or default port CoS
value and the CoS-to-DSCP map.
• dscp—QoS derives the DSCP value by using the DSCP value from the
ingress packet. For non-IP packets that are tagged, QoS derives the DSCP
value by using the received CoS value; for non-IP packets that are untagged,
QoS derives the DSCP value by using the default port CoS value. In either
case, the DSCP value is derived from the CoS-to-DSCP map.
• ip-precedence—QoS derives the DSCP value by using the IP precedence
value from the ingress packet and the IP-precedence-to-DSCP map. For
non-IP packets that are tagged, QoS derives the DSCP value by using the
received CoS value; for non-IP packets that are untagged, QoS derives the
DSCP value by using the default port CoS value. In either case, the DSCP
value is derived from the CoS-to-DSCP map.

To return to the untrusted state, use the no trust policy-map configuration


Note
command
Step 6 set {dscp new-dscp | ip precedence Classifies IP traffic by setting a new value in the packet.
new-precedence}
• For dscp new-dscp, enter a new DSCP value to be assigned to the classified
traffic. The range is 0 to 63.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
70 OL-32578-01
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


• For ip precedence new-precedence, enter a new IP-precedence value to be
Example: assigned to the classified traffic. The range is 0 to 7.

Switch(config-pmap-c)# set dscp Note To remove an assigned DSCP or IP precedence value, use the no set
45
{dscp new-dscp | ip precedence new-precedence} policy-map
configuration command.
Step 7 police rate-bps burst-byte Defines a policer for the classified traffic.
[exceed-action {drop | By default, no policer is defined.
policed-dscp-transmit}]
• For rate-bps, specify average traffic rate in bits per second (b/s). The range
Example: is 8000 to 10000000000.

Switch(config-pmap-c)# police • For burst-byte, specify the normal burst size in bytes. The range is 8000 to
100000 1000000.
80000 drop
• (Optional) Specifies the action to take when the rates are exceeded. Use the
exceed-action drop keywords to drop the packet. Use the exceed-action
policed-dscp-transmit keywords to mark down the DSCP value (by using
the policed-DSCP map) and to send the packet.

Note To remove an existing policer, use the no police rate-bps burst-byte


[exceed-action {drop | policed-dscp-transmit}] policy-map configuration
command.
Step 8 exit Returns to policy map configuration mode.

Example:
Switch(config-pmap-c)# exit

Step 9 exit Returns to global configuration mode.

Example:
Switch(config-pmap)# exit

Step 10 interface interface-id Specifies the port to attach to the policy map, and enters interface configuration
mode.
Example: Valid interfaces include physical ports.
Switch(config)# interface
gigabitethernet 2/0/1

Step 11 service-policy input Specifies the policy-map name, and applies it to an ingress port.
policy-map-name Only one policy map per ingress port is supported.

Example:
Note To remove the policy map and port association, use the no service-policy
input policy-map-name interface configuration command.
Switch(config-if)#
service-policy

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 71
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


input flowit

Step 12 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

Step 13 show policy-map [policy-map-name Verifies your entries.


[class class-map-name]]

Example:
Switch# show policy-map

Step 14 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

Related Topics
Physical Port Policing, on page 25
Examples: Classifying, Policing, and Marking Traffic on Physical Ports Using Policy Maps, on page 107

Classifying, Policing, and Marking Traffic on SVIs by Using Hierarchical Policy Maps
You can configure hierarchical policy maps on SVIs, but not on other types of interfaces. Hierarchical policing
combines the VLAN- and interface-level policy maps to create a single policy map.
You can configure hierarchical policy maps on SVIs, but not on other types of interfaces. Hierarchical policing
combines the VLAN- and interface-level policy maps to create a single policy map.
On an SVI, the VLAN-level policy map specifies which traffic class to act on. Actions can include trusting
the CoS, DSCP, or IP precedence values or setting a specific DSCP or IP precedence value in the traffic class.
Use the interface-level policy map to specify the physical ports that are affected by individual policers.
You can configure hierarchical policy maps that filter IPv4 and IPv6 traffic.
Follow these guidelines when configuring hierarchical policy maps:
• Before configuring a hierarchical policy map, you must enable VLAN-based QoS on the physical ports
that are to be specified at the interface level of the policy map.
• You can attach only one policy map per ingress port or SVI.
• A policy map can contain multiple class statements, each with different match criteria and actions.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
72 OL-32578-01
Configuring QoS
Configuring a QoS Policy

• A separate policy-map class can exist for each type of traffic received on the SVI.
• In a switch stack, you cannot use the match input-interface class-map configuration command to
specify interfaces across stack members in a policy-map class.
• A policy-map and a port trust state can both run on a physical interface. The policy-map is applied before
the port trust state.
• If you configure the IP-precedence-to-DSCP map by using the mls qos map ip-prec-dscp dscp1...dscp8
global configuration command, the settings only affect packets on ingress interfaces that are configured
to trust the IP precedence value. In a policy map, if you set the packet IP precedence value to a new
value by using the set ip precedence new-precedence policy-map class configuration command, the
egress DSCP value is not affected by the IP-precedence-to-DSCP map. If you want the egress DSCP
value to be different than the ingress value, use the set dscp new-dscp policy-map class configuration
command.
• If you enter or have used the set ip dscp command, the switch changes this command to set dscp in its
configuration. If you enter the set ip dscp command, this setting appears as set dscp in the switch
configuration.
• You can use the set ip precedence or the set precedence policy-map class configuration command to
change the packet IP precedence value. This setting appears as set ip precedence in the switch
configuration.
• If VLAN-based QoS is enabled, the hierarchical policy map supersedes the previously configured
port-based policy map.
• The hierarchical policy map is attached to the SVI and affects all traffic in the VLAN. The actions
specified in the VLAN-level policy map affect the traffic belonging to the SVI. The police action on the
port-level policy map affects the ingress traffic on the affected physical interfaces.
• When configuring a hierarchical policy map on trunk ports, the VLAN ranges must not overlap. If the
ranges overlap, the actions specified in the policy map affect the incoming and outgoing traffic on the
overlapped VLANs.
• Aggregate policers are not supported in hierarchical policy maps.
• When VLAN-based QoS is enabled, the switch supports VLAN-based features, such as the VLAN map.
• You can configure a hierarchical policy map only on the primary VLAN of a private VLAN.
• When you enable VLAN-based QoS and configure a hierarchical policy map in a switch stack, these
automatic actions occur when the stack configuration changes:
◦When a new stack master is selected, the stack master reenables and reconfigures these features
on all applicable interfaces on the stack master.
◦When a stack member is added, the stack master reenables and reconfigures these features on all
applicable ports on the stack member.
◦When you merge switch stacks, the new stack master reenables and reconfigures these features on
the switches in the new stack.
◦When the switch stack divides into two or more switch stacks, the stack master in each switch
stack re-enables and reconfigures these features on all applicable interfaces on the stack members,
including the stack master.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 73
Configuring QoS
Configuring a QoS Policy

◦When you configure a default traffic class by using the class class-default policy-map configuration
command, unclassified traffic (traffic that does not meet the match criteria specified in the traffic
classes) is treated as default traffic class (class-default).

SUMMARY STEPS

1. configure terminal
2. class-map [match-all | match-any] class-map-name
3. match {access-group acl-index-or-name | ip dscp dscp-list | ip precedence ip-precedence-list}
4. match protocol [ip | ipv6]
5. exit
6. exit
7. class-map [match-all | match-any] class-map-name
8. match input-interface interface-id-list
9. exit
10. exit
11. policy-map policy-map-name
12. class-map class-map-name
13. police rate-bps burst-byte [exceed-action {drop | policed-dscp-transmit}]
14. exit
15. exit
16. policy-map policy-map-name
17. class [class-map-name | class-default]
18. trust [cos | dscp | ip-precedence]
19. set {dscp new-dscp | ip precedence new-precedence}
20. service-policy policy-map-name
21. exit
22. exit
23. interface interface-id
24. service-policy input policy-map-name
25. end
26. show policy-map [policy-map-name [class class-map-name]] or show mls qos vlan-based
27. copy running-config startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
74 OL-32578-01
Configuring QoS
Configuring a QoS Policy

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 class-map [match-all | match-any] Creates a VLAN-level class map, and enters class-map configuration mode.
class-map-name By default, no class maps are defined.

Example: • (Optional) Use the match-all keyword to perform a logical-AND of all


matching statements under this class map. All match criteria in the class
Switch(config)# class-map cm-1 map must be matched.
• (Optional) Use the match-any keyword to perform a logical-OR of all
matching statements under this class map. One or more match criteria must
be matched.
• For class-map-name, specify the name of the class map.

If neither the match-all or match-any keyword is specified, the default is


match-all.
Because only one match command per class map is supported, the match-all and
match-any keywords function the same.

Step 3 match {access-group Defines the match criterion to classify traffic.


acl-index-or-name | ip dscp dscp-list By default, no match criterion is defined.
| ip precedence ip-precedence-list}
Only one match criterion per class map is supported, and only one ACL per class
Example:
map is supported.

Switch(config-cmap)# match ip • For access-group acl-index-or-name, specify the number or name of the
dscp 10 ACL.
• For ip dscp dscp-list, enter a list of up to eight IP DSCP values to match
against incoming packets. Separate each value with a space. The range is 0
to 63.
• For ip precedence ip-precedence-list, enter a list of up to eight IP-precedence
values to match against incoming packets. Separate each value with a space.
The range is 0 to 7.

Step 4 match protocol [ip | ipv6] (Optional) Specifies the IP protocol to which the class map applies.
• Use the argument ip to specify IPv4 traffic, and ipv6 to specify IPv6 traffic.
Example:
• When you use the match protocol command, only the match-all keyword
Switch(config-cmap)# match
protocol ipv6 is supported for the first level class map.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 75
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


You can use the match protocol command with the match ip dscp or match
precedence commands, but not with the match access-group command.
Note You can also match the following protocols: ARP, CDP, and
HTTP.
Step 5 exit Returns to class-map configuration mode.

Example:
Switch(config-cmap)# exit

Step 6 exit Returns to global configuration mode.

Example:
Switch(config)# exit

Step 7 class-map [match-all | match-any] Creates an interface-level class map, and enters class-map configuration mode.
class-map-name By default, no class maps are defined.

Example: • (Optional) Use the match-all keyword to perform a logical-AND of all


matching statements under this class map. All match criteria in the class
Switch(config)# class-map map must be matched.
match-all cm-2
• (Optional) Use the match-any keyword to perform a logical-OR of all
matching statements under this class map. One or more match criteria must
be matched.
• For class-map-name, specify the name of the class map.

If neither the match-all or match-any keyword is specified, the default is


match-all.
Because only one match command per class map is supported, the match-all and
match-any keywords function the same.

Step 8 match input-interface Specifies the physical ports on which the interface-level class map acts. You can
interface-id-list specify up to six ports as follows:
• A single port (counts as one entry)
Example:
• A list of ports separated by a space (each port counts as an entry)
Switch(config-cmap)# match
input-interface gigabitethernet • A range of ports separated by a hyphen (counts as two entries)
3/0/1-3/0/2

This command can only be used in the child-level policy map and must be the
only match condition in the child-level policy map.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
76 OL-32578-01
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


Step 9 exit Returns to class-map configuration mode.

Example:
Switch(config-cmap)# exit

Step 10 exit Returns to global configuration mode.

Example:
Switch(config)# exit

Step 11 policy-map policy-map-name Creates an interface-level policy map by entering the policy-map name, and enters
policy-map configuration mode.
Example: By default, no policy maps are defined, and no policing is performed.
Switch# policy-map port-plcmap To delete an existing policy map, use the no policy-map policy-map-name global
configuration command. To delete an existing class map, use the no class
class-map-name policy-map configuration command.
To return to the untrusted state in a policy map, use the no trust policy-map
configuration command. To remove an assigned DSCP or IP precedence value,
use the no set {dscp new-dscp | ip precedence new-precedence} policy-map
configuration command.

Step 12 class-map class-map-name Defines an interface-level traffic classification, and enters policy-map configuration
mode.
Example: By default, no policy-map class-maps are defined.
Switch(config-pmap)# class If a traffic class has already been defined by using the class-map global
cm-interface-1
configuration command, specify its name for class-map-name in this command.

Step 13 police rate-bps burst-byte Defines an individual policer for the classified traffic.
[exceed-action {drop | By default, no policer is defined.
policed-dscp-transmit}]
• For rate-bps, specify average traffic rate in bits per second (b/s). The range
Example: is 8000 to 10000000000.

Switch(config-pmap-c)# police • For burst-byte, specify the normal burst size in bytes. The range is 8000 to
900000 1000000.
9000 exceed-action
policed-dscp-transmit • (Optional) Specifies the action to take when the rates are exceeded. Use the
exceed-action drop keywords to drop the packet. Use the exceed-action
policed-dscp-transmit keywords to mark down the DSCP value (by using
the policed-DSCP map) and to send the packet.

To remove an existing policer in an interface-level policy map, use the no police


rate-bps burst-byte [exceed-action {drop | policed-dscp-transmit}] policy-map
configuration command. To remove the hierarchical policy map and port
associations, use the no service-policy input policy-map-name interface
configuration command.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 77
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


Step 14 exit Returns to policy-map configuration mode.

Example:
Switch(config-pmap-c)# exit

Step 15 exit Returns to global configuration mode.

Example:
Switch(config-pmap)# exit

Step 16 policy-map policy-map-name Creates a VLAN-level policy map by entering the policy-map name, and enters
policy-map configuration mode.
Example: By default, no policy maps are defined.
Switch(config)# policy-map The default behavior of a policy map is to set the DSCP to 0 if the packet is an
vlan-plcmap
IP packet and to set the CoS to 0 if the packet is tagged. No policing is performed.

Step 17 class [class-map-name | class-default] Defines a VLAN-level traffic classification, and enters policy-map class
configuration mode.
Example: By default, no policy-map class-maps are defined.
Switch(config-pmap)# class cm-1 If a traffic class has already been defined by using the class-map global
configuration command, specify its name for class-map-name in this command.
A class-default traffic class is pre-defined and can be added to any policy. It is
always placed at the end of a policy map. With an implied match any included
in the class-default class, all packets that have not already matched the other
traffic classes will match class-default.

Step 18 trust [cos | dscp | ip-precedence] Configures the trust state, which QoS uses to generate a CoS-based or DSCP-based
QoS label.
Example: This command is mutually exclusive with the set command within the same policy
Switch(config-pmap-c)# trust map. If you enter the trust command, omit Step 18.
dscp
By default, the port is not trusted. If no keyword is specified when the command
is entered, the default is dscp.
The keywords have these meanings:
• cos—QoS derives the DSCP value by using the received or default port CoS
value and the CoS-to-DSCP map.
• dscp—QoS derives the DSCP value by using the DSCP value from the
ingress packet. For non-IP packets that are tagged, QoS derives the DSCP
value by using the received CoS value; for non-IP packets that are untagged,
QoS derives the DSCP value by using the default port CoS value. In either
case, the DSCP value is derived from the CoS-to-DSCP map.
• ip-precedence—QoS derives the DSCP value by using the IP precedence
value from the ingress packet and the IP-precedence-to-DSCP map. For

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
78 OL-32578-01
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


non-IP packets that are tagged, QoS derives the DSCP value by using the
received CoS value; for non-IP packets that are untagged, QoS derives the
DSCP value by using the default port CoS value. In either case, the DSCP
value is derived from the CoS-to-DSCP map.

Step 19 set {dscp new-dscp | ip precedence Classifies IP traffic by setting a new value in the packet.
new-precedence}
• For dscp new-dscp, enter a new DSCP value to be assigned to the classified
traffic. The range is 0 to 63.
Example:
• For ip precedence new-precedence, enter a new IP-precedence value to be
Switch(config-pmap-c)# set dscp
10 assigned to the classified traffic. The range is 0 to 7.

Step 20 service-policy policy-map-name Specifies the interface-level policy-map name (from Step 10) and associate it
with the VLAN-level policy map.
Example: If the VLAN-level policy map specifies more than one class, each class can have
Switch(config-pmap-c)# a different service-policy policy-map-name command.
service-policy
port-plcmap-1

Step 21 exit Returns to policy-map configuration mode.

Example:
Switch(config-pmap-c)# exit

Step 22 exit Returns to global configuration mode.

Example:
Switch(config-pmap)# exit

Step 23 interface interface-id Specifies the SVI to which to attach the hierarchical policy map, and enters
interface configuration mode.
Example:
Switch(config)# interface vlan
10

Step 24 service-policy input Specifies the VLAN-level policy-map name, and applies it to the SVI. Repeat the
policy-map-name previous step and this command to apply the policy map to other SVIs.
If the hierarchical VLAN-level policy map has more than one interface-level
Example: policy map, all class maps must be configured to the same VLAN-level policy
Switch(config-if)# map specified in the service-policy policy-map-name command.
service-policy
input vlan-plcmap Note To remove the hierarchical policy map and port associations, use the no
service-policy input policy-map-name interface configuration command.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 79
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose


Step 25 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

Step 26 show policy-map [policy-map-name Verifies your entries.


[class class-map-name]] or show mls
qos vlan-based

Example:
Switch# show mls qos vlan-based

Step 27 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

Related Topics
SVI Policing, on page 26
Examples: Classifying, Policing, and Marking Traffic on SVIs by Using Hierarchical Policy Maps, on
page 108

Classifying, Policing, and Marking Traffic by Using Aggregate Policers


By using an aggregate policer, you can create a policer that is shared by multiple traffic classes within the
same policy map. However, you cannot use the aggregate policer across different policy maps or ports.
You can configure aggregate policers only in nonhierarchical policy maps on physical ports.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
80 OL-32578-01
Configuring QoS
Configuring a QoS Policy

SUMMARY STEPS

1. configure terminal
2. mls qos aggregate-policer aggregate-policer-name rate-bps burst-byte exceed-action {drop |
policed-dscp-transmit}
3. class-map [match-all | match-any] class-map-name
4. policy-map policy-map-name
5. class [class-map-name | class-default]
6. police aggregate aggregate-policer-name
7. exit
8. interface interface-id
9. service-policy input policy-map-name
10. end
11. show mls qos aggregate-policer [aggregate-policer-name]
12. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 mls qos aggregate-policer aggregate-policer-name Defines the policer parameters that can be applied to multiple traffic
rate-bps burst-byte exceed-action {drop | classes within the same policy map.
policed-dscp-transmit} By default, no aggregate policer is defined.

Example: • For aggregate-policer-name, specify the name of the


aggregate policer.
Switch(config)# mls qos aggregate-police
transmit1 48000 8000 exceed-action • For rate-bps, specify average traffic rate in bits per second
policed-dscp-transmit
(b/s). The range is 8000 to 10000000000.
• For burst-byte, specify the normal burst size in bytes. The
range is 8000 to 1000000.
• Specifies the action to take when the rates are exceeded. Use
the exceed-action drop keywords to drop the packet. Use
the exceed-action policed-dscp-transmit keywords to mark
down the DSCP value (by using the policed-DSCP map) and
to send the packet.

Step 3 class-map [match-all | match-any] Creates a class map to classify traffic as necessary.
class-map-name

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 81
Configuring QoS
Configuring a QoS Policy

Command or Action Purpose

Example:
Switch(config)# class-map ipclass1

Step 4 policy-map policy-map-name Creates a policy map by entering the policy map name, and enters
policy-map configuration mode.
Example:
Switch(config-cmap)# policy-map aggflow1

Step 5 class [class-map-name | class-default] Defines a traffic classification, and enters policy-map class
configuration mode.
Example:
Switch(config-cmap-p)# class ipclass1

Step 6 police aggregate aggregate-policer-name Applies an aggregate policer to multiple classes in the same policy
map.
Example: For aggregate-policer-name, enter the name specified in Step 2.
Switch(configure-cmap-p)# police aggregate To remove the specified aggregate policer from a policy map, use
transmit1
the no police aggregate aggregate-policer-name policy map
configuration command. To delete an aggregate policer and its
parameters, use the no mls qos aggregate-policer
aggregate-policer-name global configuration command.

Step 7 exit Returns to global configuration mode.

Example:
Switch(configure-cmap-p)# exit

Step 8 interface interface-id Specifies the port to attach to the policy map, and enters interface
configuration mode.
Example: Valid interfaces include physical ports.
Switch(config)# interface gigabitethernet
2/0/1

Step 9 service-policy input policy-map-name Specifies the policy-map name, and applies it to an ingress port.
Only one policy map per ingress port is supported.
Example:
Switch(config-if)# service-policy input
aggflow1

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
82 OL-32578-01
Configuring QoS
Configuring DSCP Maps

Command or Action Purpose


Step 10 end Returns to privileged EXEC mode.

Example:
Switch(configure-if)# end

Step 11 show mls qos aggregate-policer Verifies your entries.


[aggregate-policer-name]

Example:
Switch# show mls qos aggregate-policer
transmit1

Step 12 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config startup-config

Related Topics
Policing and Marking Overview, on page 24
Examples: Classifying, Policing, and Marking Traffic by Using Aggregate Policers, on page 110
Physical Port Policing, on page 25
Examples: Classifying, Policing, and Marking Traffic by Using Aggregate Policers, on page 110

Configuring DSCP Maps

Configuring the CoS-to-DSCP Map


You use the CoS-to-DSCP map to map CoS values in incoming packets to a DSCP value that QoS uses
internally to represent the priority of the traffic.
Beginning in privileged EXEC mode, follow these steps to modify the CoS-to-DSCP map. This procedure is
optional.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 83
Configuring QoS
Configuring DSCP Maps

SUMMARY STEPS

1. configure terminal
2. mls qos map cos-dscp dscp1...dscp8
3. end
4. show mls qos maps cos-dscp
5. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 mls qos map cos-dscp dscp1...dscp8 Modifies the CoS-to-DSCP map.
For dscp1...dscp8, enter eight DSCP values that correspond
Example: to CoS values 0 to 7. Separate each DSCP value with a space.
Switch(config)# mls qos map The DSCP range is 0 to 63.
cos-dscp 10 15 20 25 30 35 40 45
Note To return to the default map, use the no mls qos
cos-dscp global configuration command.
Step 3 end Returns to privileged EXEC mode.

Example:
Switch(config)# end

Step 4 show mls qos maps cos-dscp Verifies your entries.

Example:
Switch# show mls qos maps cos-dscp

Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

Related Topics
DSCP Maps, on page 39

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
84 OL-32578-01
Configuring QoS
Configuring DSCP Maps

Examples: Configuring DSCP Maps, on page 111

Configuring the IP-Precedence-to-DSCP Map


You use the IP-precedence-to-DSCP map to map IP precedence values in incoming packets to a DSCP value
that QoS uses internally to represent the priority of the traffic.
Beginning in privileged EXEC mode, follow these steps to modify the IP-precedence-to-DSCP map. This
procedure is optional.

SUMMARY STEPS

1. configure terminal
2. mls qos map ip-prec-dscp dscp1...dscp8
3. end
4. show mls qos maps ip-prec-dscp
5. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 mls qos map ip-prec-dscp dscp1...dscp8 Modifies the IP-precedence-to-DSCP map.
For dscp1...dscp8, enter eight DSCP values that correspond
Example: to the IP precedence values 0 to 7. Separate each DSCP value
Switch(config)# mls qos map with a space.
ip-prec-dscp 10 15 20 25 30 35 40
45
The DSCP range is 0 to 63.
Note To return to the default map, use the no mls qos
ip-prec-dscp global configuration command.
Step 3 end Returns to privileged EXEC mode.

Example:
Switch(config)# end

Step 4 show mls qos maps ip-prec-dscp Verifies your entries.

Example:
Switch# show mls qos maps ip-prec-dscp

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 85
Configuring QoS
Configuring DSCP Maps

Command or Action Purpose


Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

Related Topics
DSCP Maps, on page 39
Examples: Configuring DSCP Maps, on page 111

Configuring the Policed-DSCP Map


You use the policed-DSCP map to mark down a DSCP value to a new value as the result of a policing and
marking action.
The default policed-DSCP map is a null map, which maps an incoming DSCP value to the same DSCP value.
Beginning in privileged EXEC mode, follow these steps to modify the policed-DSCP map. This procedure
is optional.

SUMMARY STEPS

1. configure terminal
2. mls qos map policed-dscp dscp-list to mark-down-dscp
3. end
4. show mls qos maps policed-dscp
5. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 mls qos map policed-dscp dscp-list to mark-down-dscp Modifies the policed-DSCP map.
• For dscp-list, enter up to eight DSCP values separated
Example: by spaces. Then enter the to keyword.
Switch(config)# mls qos map

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
86 OL-32578-01
Configuring QoS
Configuring DSCP Maps

Command or Action Purpose


policed-dscp 50 51 52 53 54 55 56 • For mark-down-dscp, enter the corresponding policed
57 to 0 (marked down) DSCP value.

Note To return to the default map, use the no mls qos


policed-dscp global configuration command.
Step 3 end Returns to privileged EXEC mode.

Example:
Switch(config)# end

Step 4 show mls qos maps policed-dscp Verifies your entries.

Example:
Switch(config)# show mls qos maps
policed-dscp

Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

Related Topics
DSCP Maps, on page 39
Examples: Configuring DSCP Maps, on page 111

Configuring the DSCP-to-CoS Map


You use the DSCP-to-CoS map to generate a CoS value, which is used to select one of the four egress queues.
Beginning in privileged EXEC mode, follow these steps to modify the DSCP-to-CoS map. This procedure is
optional.

SUMMARY STEPS

1. configure terminal
2. mls qos map dscp-cos dscp-list to cos
3. end
4. show mls qos maps dscp-to-cos
5. copy running-config startup-config

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 87
Configuring QoS
Configuring DSCP Maps

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 mls qos map dscp-cos dscp-list to cos Modifies the DSCP-to-CoS map.
• For dscp-list, enter up to eight DSCP values separated by
Example: spaces. Then enter the to keyword.
Switch# mls qos map dscp-cos 0 8
16 24 32 40 48 50 to 0 • For cos, enter the CoS value to which the DSCP values
correspond.

The DSCP range is 0 to 63; the CoS range is 0 to 7.


Note To return to the default map, use the no mls qos
dscp-cos global configuration command.
Step 3 end Returns to privileged EXEC mode.

Example:
Switch(config)# end

Step 4 show mls qos maps dscp-to-cos Verifies your entries.

Example:
Switch# show mls qos maps
dscp-to-cos

Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config
startup-config

Related Topics
DSCP Maps, on page 39
Examples: Configuring DSCP Maps, on page 111

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
88 OL-32578-01
Configuring QoS
Configuring DSCP Maps

Configuring the DSCP-to-DSCP-Mutation Map


If two QoS domains have different DSCP definitions, use the DSCP-to-DSCP-mutation map to translate one
set of DSCP values to match the definition of another domain. You apply the DSCP-to-DSCP-mutation map
to the receiving port (ingress mutation) at the boundary of a QoS administrative domain.
With ingress mutation, the new DSCP value overwrites the one in the packet, and QoS applies the new value
to the packet. The switch sends the packet out the port with the new DSCP value.
You can configure multiple DSCP-to-DSCP-mutation maps on an ingress port. The default
DSCP-to-DSCP-mutation map is a null map, which maps an incoming DSCP value to the same DSCP value.
Beginning in privileged EXEC mode, follow these steps to modify the DSCP-to-DSCP-mutation map. This
procedure is optional.

SUMMARY STEPS

1. configure terminal
2. mls qos map dscp-mutation dscp-mutation-name in-dscp to out-dscp
3. interface interface-id
4. mls qos trust dscp
5. mls qos dscp-mutation dscp-mutation-name
6. end
7. show mls qos maps dscp-mutation
8. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 mls qos map dscp-mutation dscp-mutation-name Modifies the DSCP-to-DSCP-mutation map.
in-dscp to out-dscp
• For dscp-mutation-name, enter the mutation map name.
You can create more than one map by specifying a new
Example: name.
Switch(config)# mls qos map dscp-mutation
mutation1 1 2 3 4 5 6 7 to 0 • For in-dscp, enter up to eight DSCP values separated by
spaces. Then enter the to keyword.
• For out-dscp, enter a single DSCP value.

The DSCP range is 0 to 63.


Note To return to the default map, use the no mls qos
dscp-mutation dscp-mutation-name global
configuration command.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 89
Configuring QoS
Configuring DSCP Maps

Command or Action Purpose


Step 3 interface interface-id Specifies the port to which to attach the map, and enters interface
configuration mode.
Example: Valid interfaces include physical ports.
Switch(config)# interface
gigabitethernet1/0/1

Step 4 mls qos trust dscp Configures the ingress port as a DSCP-trusted port. By default,
the port is not trusted.
Example:
Switch(config-if)# mls qos trust dscp

Step 5 mls qos dscp-mutation dscp-mutation-name Applies the map to the specified ingress DSCP-trusted port.
For dscp-mutation-name, enter the mutation map name specified
Example: in Step 2.
Switch(config-if)# mls qos dscp-mutation
mutation1

Step 6 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

Step 7 show mls qos maps dscp-mutation Verifies your entries.

Example:
Switch# show mls qos maps dscp-mutation

Step 8 copy running-config startup-config (Optional) Saves your entries in the configuration file.

Example:
Switch# copy-running-config startup-config

Related Topics
DSCP Maps, on page 39
Examples: Configuring DSCP Maps, on page 111

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
90 OL-32578-01
Configuring QoS
Configuring Egress Queue Characteristics

Configuring Egress Queue Characteristics


Depending on the complexity of your network and your QoS solution, you might need to perform all of the
tasks in the following modules. You need to make decisions about these characteristics:
• Which packets are mapped by DSCP or CoS value to each queue and threshold ID?
• What drop percentage thresholds apply to the queue-set (four egress queues per port), and how much
reserved and maximum memory is needed for the traffic type?
• How much of the fixed buffer space is allocated to the queue-set?
• Does the bandwidth of the port need to be rate limited?
• How often should the egress queues be serviced and which technique (shaped, shared, or both) should
be used?

Configuration Guidelines
Follow these guidelines when the expedite queue is enabled or the egress queues are serviced based on their
SRR weights:
• If the egress expedite queue is enabled, it overrides the SRR shaped and shared weights for queue 1.
• If the egress expedite queue is disabled and the SRR shaped and shared weights are configured, the
shaped mode overrides the shared mode for queue 1, and SRR services this queue in shaped mode.
• If the egress expedite queue is disabled and the SRR shaped weights are not configured, SRR services
this queue in shared mode.

Allocating Buffer Space to and Setting WTD Thresholds for an Egress Queue Set
You can guarantee the availability of buffers, set WTD thresholds, and configure the maximum allocation for
a queue set by using the mls qos queue-set output qset-id threshold queue-id drop-threshold1 drop-threshold2
reserved-threshold maximum-threshold global configuration command.
Each threshold value is a percentage of the queue’s allocated buffers, which you specify by using the mls qos
queue-set output qset-id buffers allocation1 ... allocation4 global configuration command. The queues use
WTD to support distinct drop percentages for different traffic classes.

Note The switch supports 4 egress queues by default, although there is an option to enable a total of 8 egress
queues. Use the mls qos srr-queue output queues 8 global configuration command to enable all 8 egress
queues. Once 8 egress queues are enabled, you are able to configure thresholds, buffers, bandwidth share
weights, and bandwidth shape weights for all 8 queues. The 8 egress queue configuration is only supported
on a standalone switch.

Note The egress queue default settings are suitable for most situations. You should change them only when you
have a thorough understanding of the egress queues and if these settings do not meet your QoS solution.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 91
Configuring QoS
Configuring Egress Queue Characteristics

Beginning in privileged EXEC mode, follow these steps to configure the memory allocation and to drop
thresholds for a queue set. This procedure is optional.

SUMMARY STEPS

1. configure terminal
2. mls qos srr-queue output queues 8
3. mls qos queue-set output qset-id buffers allocation1 ... allocation8
4. mls qos queue-set output qset-id threshold queue-id drop-threshold1 drop-threshold2 reserved-threshold
maximum-threshold
5. interface interface-id
6. queue-set qset-id
7. end
8. show mls qos interface [interface-id] buffers
9. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 mls qos srr-queue output queues 8 (Optional) The switch supports 4 egress queues by default, although you can enable
a total of 8 egress queues. Use the optional mls qos srr-queue output queues 8
Example: command to enable the additional 4 egress queues.

Switch(config)# mls qos Once 8 queue support is enabled, you can then proceed to configure the additional
srr-queue output queues 8 4 queues. Any existing egress queue configuration commands are then modified to
support the additional queue parameters.
Note The option to enable 8 queues is only available on a standalone switch. If
the switch is within a stack, then only an additional 2 queues can be enabled
for a total of 6 egress queues.

Step 3 mls qos queue-set output qset-id Allocates buffers to a queue set.
buffers allocation1 ... allocation8 By default, all allocation values are equally mapped among the four queues (25,
25, 25, 25). Each queue has 1/4 of the buffer space. When eight egress queues are
Example: configured, then by default 30 percent of the total buffer space is allocated to queue
Switch(config)# mls qos 2 and 10 percent (each) to queues 1,3,4,5,6,7, and 8.
queue-set output 2 buffers 40
20 20 20 10 10 10 10
If you enabled 8 egress queues as described in Step 2 above, then the following
applies:
• For qset-id, enter the ID of the queue set. The range is 1 to 2. Each port belongs
to a queue set, which defines all the characteristics of the four egress queues
per port.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
92 OL-32578-01
Configuring QoS
Configuring Egress Queue Characteristics

Command or Action Purpose


• For allocation1 ... allocation8, specify eight percentages, one for each queue
in the queue set. For allocation1, allocation3, and allocation4 to allocation8,
the range is 0 to 99. For allocation2, the range is 1 to 100 (including the CPU
buffer).

Allocate buffers according to the importance of the traffic; for example, give a large
percentage of the buffer to the queue with the highest-priority traffic.
Note To return to the default setting, use the no mls qos queue-set output qset-id
buffers global configuration command.
Step 4 mls qos queue-set output qset-id Configures the WTD thresholds, guarantee the availability of buffers, and configures
threshold queue-id drop-threshold1 the maximum memory allocation for the queue set (four egress queues per port).
drop-threshold2 reserved-threshold By default, the WTD thresholds for queues 1, 3, and 4 are set to 100 percent. The
maximum-threshold thresholds for queue 2 are set to 200 percent. The reserved thresholds for queues 1,
2, 3, and 4 are set to 50 percent. The maximum thresholds for all queues are set to
Example: 400 percent by default.
Switch(config)# mls qos If you enabled 8 egress queues as described in Step 2 above, then the following
queue-set output 2 threshold 2
40 60 80 200
applies:
• For qset-id, enter the ID of the queue set specified in Step 3. The range is 1
to 2.
• For queue-id, enter the specific queue in the queue set on which the command
is performed. The queue-id range is 1-4 by default and 1-8 when 8 queues are
enabled.
• For drop-threshold1 drop-threshold2, specify the two WTD thresholds
expressed as a percentage of the queue’s allocated memory. The range is 1 to
3200 percent.
• For reserved-threshold, enter the amount of memory to be guaranteed
(reserved) for the queue expressed as a percentage of the allocated memory.
The range is 1 to 100 percent.
• For maximum-threshold, enable a queue in the full condition to obtain more
buffers than are reserved for it. This is the maximum memory the queue can
have before the packets are dropped if the common pool is not empty. The
range is 1 to 3200 percent.

Note To return to the default WTD threshold percentages, use the no mls qos
queue-set output qset-id threshold [queue-id] global configuration
command.
Step 5 interface interface-id Specifies the port of the outbound traffic, and enters interface configuration mode.

Example:
Switch(config)# interface
gigabitethernet1/0/1

Step 6 queue-set qset-id Maps the port to a queue set.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 93
Configuring QoS
Configuring Egress Queue Characteristics

Command or Action Purpose


For qset-id, enter the ID of the queue set specified in Step 2. The range is 1 to 2.
Example: The default is 1.

Switch(config-id)# queue-set 2

Step 7 end Returns to privileged EXEC mode.

Example:
Switch(config-id)# end

Step 8 show mls qos interface [interface-id] Verifies your entries.


buffers

Example:
Switch# show mls qos interface
buffers

Step 9 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To return to the default setting, use the no mls qos queue-set output qset-id buffers
Example: global configuration command. To return to the default WTD threshold percentages,
Switch# copy-running-config use the no mls qos queue-set output qset-id threshold [queue-id] global
startup-config configuration command.

Mapping DSCP or CoS Values to an Egress Queue and to a Threshold ID


You can prioritize traffic by placing packets with particular DSCPs or costs of service into certain queues and
adjusting the queue thresholds so that packets with lower priorities are dropped.

Note The egress queue default settings are suitable for most situations. You should change them only when you
have a thorough understanding of egress queues and if these settings do not meet your QoS solution.

Beginning in privileged EXEC mode, follow these steps to map DSCP or CoS values to an egress queue and
to a threshold ID. This procedure is optional.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
94 OL-32578-01
Configuring QoS
Configuring Egress Queue Characteristics

SUMMARY STEPS

1. configure terminal
2. Use one of the following:
• mls qos srr-queue output dscp-map queue queue-id threshold threshold-id dscp1...dscp8
• mls qos srr-queue output cos-map queue queue-id threshold threshold-id cos1...cos8

3. end
4. show mls qos maps
5. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 Use one of the following: Maps DSCP or CoS values to an egress queue and to a threshold ID.
• mls qos srr-queue output By default, DSCP values 0–15 are mapped to queue 2 and threshold 1. DSCP values
dscp-map queue queue-id 16–31 are mapped to queue 3 and threshold 1. DSCP values 32–39 and 48–63 are
threshold threshold-id mapped to queue 4 and threshold 1. DSCP values 40–47 are mapped to queue 1
dscp1...dscp8 and threshold 1.

• mls qos srr-queue output By default, CoS values 0 and 1 are mapped to queue 2 and threshold 1. CoS values
cos-map queue queue-id 2 and 3 are mapped to queue 3 and threshold 1. CoS values 4, 6, and 7 are mapped
threshold threshold-id to queue 4 and threshold 1. CoS value 5 is mapped to queue 1 and threshold 1.
cos1...cos8 • For queue-id, the range is 1 to 4.
Note If you enabled 8 egress queues using the mls qos srr-queue output
queues 8 global configuration command, then the queue-id range
Example:
would be from 1 to 8.
Switch(config)# mls qos srr-queue
output • For threshold-id, the range is 1 to 3. The drop-threshold percentage for
dscp-map queue 1 threshold 2 10 threshold 3 is predefined. It is set to the queue-full state.
11
• For dscp1...dscp8, enter up to eight values, and separate each value with a
space. The range is 0 to 63.
• For cos1...cos8, enter up to eight values, and separate each value with a space.
The range is 0 to 7.

Note To return to the default DSCP output queue threshold map or the default
CoS output queue threshold map, use the no mls qos srr-queue output
dscp-map or the no mls qos srr-queue output cos-map global
configuration command.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 95
Configuring QoS
Configuring Egress Queue Characteristics

Command or Action Purpose


Step 3 end Returns to privileged EXEC mode.

Example:
Switch(config)# end

Step 4 show mls qos maps Verifies your entries.


The DSCP output queue threshold map appears as a matrix. The d1 column specifies
Example: the most-significant digit of the DSCP number; the d2 row specifies the
Switch# show mls qos maps least-significant digit in the DSCP number. The intersection of the d1 and the d2
values provides the queue ID and threshold ID; for example, queue 2 and threshold
1 (02-01).
The CoS output queue threshold map shows the CoS value in the top row and the
corresponding queue ID and threshold ID in the second row; for example, queue
2 and threshold 2 (2-2).

Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To return to the default DSCP output queue threshold map or the default CoS output
Example: queue threshold map, use the no mls qos srr-queue output dscp-map or the no
Switch# copy-running-config mls qos srr-queue output cos-map global configuration command.
startup-config

Related Topics
Mapping Tables Overview, on page 28
Examples: Configuring Egress Queue Characteristics, on page 113

Configuring SRR Shaped Weights on Egress Queues


You can specify how much of the available bandwidth is allocated to each queue. The ratio of the weights is
the ratio of frequency in which the SRR scheduler sends packets from each queue.
You can configure the egress queues for shaped or shared weights, or both. Use shaping to smooth bursty
traffic or to provide a smoother output over time.
Beginning in privileged EXEC mode, follow these steps to assign the shaped weights and to enable bandwidth
shaping on the four egress queues mapped to a port. This procedure is optional.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
96 OL-32578-01
Configuring QoS
Configuring Egress Queue Characteristics

SUMMARY STEPS

1. configure terminal
2. interface interface-id
3. srr-queue bandwidth shape weight1 weight2 weight3 weight4
4. end
5. show mls qos interface interface-id queueing
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters the global configuration mode.

Example:
Switch# configure terminal

Step 2 interface interface-id Specifies the port of the outbound traffic, and enters interface configuration
mode.
Example:
Switch(config)# interface
gigabitethernet2/0/1

Step 3 srr-queue bandwidth shape weight1 Assigns SRR weights to the egress queues. By default, weight1 is set to 25;
weight2 weight3 weight4 weight2, weight3, and weight4 are set to 0, and these queues are in shared
mode.
Example: For weight1 weight2 weight3 weight4, enter the weights to control the
Switch(config-if)# srr-queue percentage of the port that is shaped. The inverse ratio (1/weight) controls
bandwidth shape 8 0 0 0 the shaping bandwidth for this queue. Separate each value with a space. The
range is 0 to 65535.
If you configure a weight of 0, the corresponding queue operates in shared
mode. The weight specified with the srr-queue bandwidth shape command
is ignored, and the weights specified with the srr-queue bandwidth share
interface configuration command for a queue come into effect. When
configuring queues in the same queue-set for both shaping and sharing, make
sure that you configure the lowest number queue for shaping.
The shaped mode overrides the shared mode.
To return to the default setting, use the no srr-queue bandwidth shape
interface configuration command.
Note If you enabled 8 egress queues using the mls qos srr-queue output
queues 8 global configuration command, then you would be able
to assign SRR weights to a total of 8 queues.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 97
Configuring QoS
Configuring Egress Queue Characteristics

Command or Action Purpose


Step 4 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

Step 5 show mls qos interface interface-id Verifies your entries.


queueing

Example:
Switch# show mls qos interface
interface-id queuing

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To return to the default setting, use the no srr-queue bandwidth shape
Example: interface configuration command.
Switch# copy running-config
startup-config

Related Topics
Queueing and Scheduling on Egress Queues, on page 31
Examples: Configuring Egress Queue Characteristics, on page 113

Configuring SRR Shared Weights on Egress Queues


In shared mode, the queues share the bandwidth among them according to the configured weights. The
bandwidth is guaranteed at this level but not limited to it. For example, if a queue empties and does not require
a share of the link, the remaining queues can expand into the unused bandwidth and share it among them.
With sharing, the ratio of the weights controls the frequency of dequeuing; the absolute values are meaningless.

Note The egress queue default settings are suitable for most situations. You should change them only when you
have a thorough understanding of the egress queues and if these settings do not meet your QoS solution.

Beginning in privileged EXEC mode, follow these steps to assign the shared weights and to enable bandwidth
sharing on the four egress queues mapped to a port. This procedure is optional.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
98 OL-32578-01
Configuring QoS
Configuring Egress Queue Characteristics

SUMMARY STEPS

1. configure terminal
2. interface interface-id
3. srr-queue bandwidth share weight1 weight2 weight3 weight4
4. end
5. show mls qos interface interface-id queueing
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 interface interface-id Specifies the port of the outbound traffic, and enters interface
configuration mode.
Example:
Switch(config)# interface
gigabitethernet2/0/1

Step 3 srr-queue bandwidth share weight1 weight2 Assigns SRR weights to the egress queues. By default, all four weights
weight3 weight4 are 25 (1/4 of the bandwidth is allocated to each queue).
For weight1 weight2 weight3 weight4, enter the weights to control
Example: the ratio of the frequency in which the SRR scheduler sends packets.
Switch(config-id)# srr-queue Separate each value with a space. The range is 1 to 255.
bandwidth share 1 2 3 4
To return to the default setting, use the no srr-queue bandwidth
share interface configuration command.
Note If you enabled 8 egress queues using the mls qos srr-queue
output queues 8 global configuration command, then you
would be able to assign SRR weights to a total of 8 queues.
Step 4 end Returns to privileged EXEC mode.

Example:
Switch(config-id)# end

Step 5 show mls qos interface interface-id queueing Verifies your entries.

Example:
Switch# show mls qos interface
interface_id queuing

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 99
Configuring QoS
Configuring Egress Queue Characteristics

Command or Action Purpose


Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To return to the default setting, use the no srr-queue bandwidth
Example: share interface configuration command.
Switch# copy-running-config
startup-config

Related Topics
Queueing and Scheduling on Egress Queues, on page 31
Examples: Configuring Egress Queue Characteristics, on page 113

Configuring the Egress Expedite Queue


You can ensure that certain packets have priority over all others by queuing them in the egress expedite queue.
SRR services this queue until it is empty before servicing the other queues.
Beginning in privileged EXEC mode, follow these steps to enable the egress expedite queue. This procedure
is optional.

SUMMARY STEPS

1. configure terminal
2. mls qos
3. interface interface-id
4. priority-queue out
5. end
6. show running-config
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
100 OL-32578-01
Configuring QoS
Configuring Egress Queue Characteristics

Command or Action Purpose


Step 2 mls qos Enables QoS on a switch.

Example:
Switch(config)# mls qos

Step 3 interface interface-id Specifies the egress port, and enters interface configuration mode.

Example:
Switch(config)# interface
gigabitethernet1/0/1

Step 4 priority-queue out Enables the egress expedite queue, which is disabled by default.
When you configure this command, the SRR weight and queue size
Example: ratios are affected because there is one fewer queue participating in
Switch(config-if)# priority-queue out SRR. This means that weight1 in the srr-queue bandwidth shape
or the srr-queue bandwidth share command is ignored (not used
in the ratio calculation).
Note To disable the egress expedite queue, use the no
priority-queue out interface configuration command.
Step 5 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

Step 6 show running-config Verifies your entries.

Example:
Switch# show running-config

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To disable the egress expedite queue, use the no priority-queue
Example: out interface configuration command.
Switch# copy running-config
startup-config

Related Topics
Queueing and Scheduling on Egress Queues, on page 31
Examples: Configuring Egress Queue Characteristics, on page 113

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 101
Configuring QoS
Configuring Egress Queue Characteristics

Limiting the Bandwidth on an Egress Interface


You can limit the bandwidth on an egress port. For example, if a customer pays only for a small percentage
of a high-speed link, you can limit the bandwidth to that amount.

Note The egress queue default settings are suitable for most situations. You should change them only when you
have a thorough understanding of the egress queues and if these settings do not meet your QoS solution.

Beginning in privileged EXEC mode, follow these steps to limit the bandwidth on an egress port. This procedure
is optional.

SUMMARY STEPS

1. configure terminal
2. interface interface-id
3. srr-queue bandwidth limit weight1
4. end
5. show mls qos interface [interface-id] queueing
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 interface interface-id Specifies the port to be rate-limited, and enters interface
configuration mode.
Example:
Switch(config)# interface
gigabitethernet2/0/1

Step 3 srr-queue bandwidth limit weight1 Specifies the percentage of the port speed to which the port
should be limited. The range is 10 to 90.
Example: By default, the port is not rate-limited and is set to 100 percent.
Switch(config-if)# srr-queue Note To return to the default setting, use the no srr-queue
bandwidth limit 80
bandwidth limit interface configuration command.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
102 OL-32578-01
Configuring QoS
Monitoring Standard QoS

Command or Action Purpose


Step 4 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

Step 5 show mls qos interface [interface-id] queueing Verifies your entries.

Example:
Switch# show mls qos interface
interface_id queueing

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To return to the default setting, use the no srr-queue
Example: bandwidth limit interface configuration command.
Switch# copy-running-config
startup-config

Related Topics
Queueing and Scheduling on Egress Queues, on page 31
Examples: Configuring Egress Queue Characteristics, on page 113

Monitoring Standard QoS


Table 19: Commands for Monitoring Standard QoS on the Switch

Command Description
show class-map [class-map-name] Displays QoS class maps, which define the match
criteria to classify traffic.

show mls qos Displays global QoS configuration information.

show mls qos aggregate-policer Displays the aggregate policer configuration.


[aggregate-policer-name]

show mls qos input-queue Displays QoS settings for the ingress queues.

show mls qos interface [interface-id] [buffers | Displays QoS information at the port level, including
policers | queueing | statistics] the buffer allocation, which ports have configured
policers, the queueing strategy, and the ingress and
egress statistics.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 103
Configuring QoS
Configuration Examples for QoS

Command Description
show mls qos maps [cos-dscp | cos-input-q Displays QoS mapping information.
|cos-output-q | dscp-cos | dscp-input-q
|dscp-mutation dscp-mutation-name |
dscp-output-q | ip-prec-dscp | policed-dscp]

show mls qos queue-set [qset-id] Displays QoS settings for the egress queues.

show mls qos vlan vlan-id Displays the policy maps attached to the specified SVI.

show policy-map [policy-map-name [class Displays QoS policy maps, which define classification
class-map-name]] criteria for incoming traffic.
Do not use the show policy-map interface privileged
EXEC command to display classification information
for incoming traffic. The control-plane and interface
keywords are not supported, and the statistics shown in
the display should be ignored.

show running-config | include rewrite Displays the DSCP transparency setting.

Configuration Examples for QoS


Example: Configuring Port to the DSCP-Trusted State and Modifying the
DSCP-to-DSCP-Mutation Map
This example shows how to configure a port to the DSCP-trusted state and to modify the
DSCP-to-DSCP-mutation map (named gi1/0/2-mutation) so that incoming DSCP values 10 to 13 are mapped
to DSCP 30:

Switch(config)# mls qos map dscp-mutation gigabitethernet1/0/2-mutation


10 11 12 13 to 30
Switch(config)# interface gigabitethernet1/0/2
Switch(config-if)# mls qos trust dscp
Switch(config-if)# mls qos dscp-mutation gigabitethernet1/0/2-mutation
Switch(config-if)# end

Related Topics
Configuring the Trust State on Ports Within the QoS Domain, on page 45
Configuring the CoS Value for an Interface, on page 47
Configuring a Trusted Boundary to Ensure Port Security, on page 49

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
104 OL-32578-01
Configuring QoS
Examples: Classifying Traffic by Using ACLs

Examples: Classifying Traffic by Using ACLs


This example shows how to allow access for only those hosts on the three specified networks. The wildcard
bits apply to the host portions of the network addresses. Any host with a source address that does not match
the access list statements is rejected.

Switch(config)# access-list 1 permit 192.5.255.0 0.0.0.255


Switch(config)# access-list 1 permit 128.88.0.0 0.0.255.255
Switch(config)# access-list 1 permit 36.0.0.0 0.0.0.255
! (Note: all other access implicitly denied)

This example shows how to create an ACL that permits IP traffic from any source to any destination that has
the DSCP value set to 32:

Switch(config)# access-list 100 permit ip any any dscp 32

This example shows how to create an ACL that permits IP traffic from a source host at 10.1.1.1 to a destination
host at 10.1.1.2 with a precedence value of 5:

Switch(config)# access-list 100 permit ip host 10.1.1.1 host 10.1.1.2 precedence 5

This example shows how to create an ACL that permits PIM traffic from any source to a destination group
address of 224.0.0.2 with a DSCP set to 32:

Switch(config)# access-list 102 permit pim any 224.0.0.2 dscp 32

This example shows how to create an ACL that permits IPv6 traffic from any source to any destination that
has the DSCP value set to 32:

Switch(config)# ipv6 access-list 100 permit ip any any dscp 32

This example shows how to create an ACL that permits IPv6 traffic from a source host at 10.1.1.1 to a
destination host at 10.1.1.2 with a precedence value of 5:

Switch(config)# ipv6 access-list ipv6_Name_ACL permit ip host 10::1 host 10.1.1.2


precedence 5

This example shows how to create a Layer 2 MAC ACL with two permit statements. The first statement
allows traffic from the host with MAC address 0001.0000.0001 to the host with MAC address 0002.0000.0001.
The second statement allows only Ethertype XNS-IDP traffic from the host with MAC address 0001.0000.0002
to the host with MAC address 0002.0000.0002.

Switch(config)# mac access-list extended maclist1


Switch(config-ext-macl)# permit 0001.0000.0001 0.0.0 0002.0000.0001 0.0.0
Switch(config-ext-macl)# permit 0001.0000.0002 0.0.0 0002.0000.0002 0.0.0 xns-idp
! (Note: all other access implicitly denied)

Related Topics
Creating an IP Standard ACL for IPv4 Traffic, on page 55
Creating an IP Extended ACL for IPv4 Traffic, on page 57
Creating an IPv6 ACL for IPv6 Traffic, on page 59
Creating a Layer 2 MAC ACL for Non-IP Traffic, on page 61

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 105
Configuring QoS
Examples: Classifying Traffic by Using Class Maps

Access Control Lists, on page 22

Examples: Classifying Traffic by Using Class Maps


This example shows how to configure the class map called class1. The class1 has one match criterion, which
is access list 103. It permits traffic from any host to any destination that matches a DSCP value of 10.

Switch(config)# access-list 103 permit ip any any dscp 10


Switch(config)# class-map class1
Switch(config-cmap)# match access-group 103
Switch(config-cmap)# end
Switch#

This example shows how to create a class map called class2, which matches incoming traffic with DSCP
values of 10, 11, and 12.

Switch(config)# class-map class2


Switch(config-cmap)# match ip dscp 10 11 12
Switch(config-cmap)# end
Switch#

This example shows how to create a class map called class3, which matches incoming traffic with IP-precedence
values of 5, 6, and 7:

Switch(config)# class-map class3


Switch(config-cmap)# match ip precedence 5 6 7
Switch(config-cmap)# end
Switch#

This example shows how to configure a class map to match IP DSCP and IPv6:

Switch(config)# Class-map cm-1


Switch(config-cmap)# match ip dscp 10
Switch(config-cmap)# match protocol ipv6
Switch(config-cmap)# exit
Switch(config)# Class-map cm-2
Switch(config-cmap)# match ip dscp 20
Switch(config-cmap)# match protocol ip
Switch(config-cmap)# exit
Switch(config)# Policy-map pm1
Switch(config-pmap)# class cm-1
Switch(config-pmap-c)# set dscp 4
Switch(config-pmap-c)# exit
Switch(config-pmap)# class cm-2
Switch(config-pmap-c)# set dscp 6
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface G1/0/1
Switch(config-if)# service-policy input pm1

This example shows how to configure a class map that applies to both IPv4 and IPv6 traffic:

Switch(config)# ip access-list 101 permit ip any any


Switch(config)# ipv6 access-list ipv6-any permit ip any any
Switch(config)# Class-map cm-1
Switch(config-cmap)# match access-group 101
Switch(config-cmap)# exit
Switch(config)# class-map cm-2
Switch(config-cmap)# match access-group name ipv6-any
Switch(config-cmap)# exit
Switch(config)# Policy-map pm1
Switch(config-pmap)# class cm-1

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
106 OL-32578-01
Configuring QoS
Examples: Classifying, Policing, and Marking Traffic on Physical Ports Using Policy Maps

Switch(config-pmap-c)# set dscp 4


Switch(config-pmap-c)# exit
Switch(config-pmap)# class cm-2
Switch(config-pmap-c)# set dscp 6
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface G0/1
Switch(config-if)# switch mode access
Switch(config-if)# service-policy input pm1

Related Topics
Classifying Traffic by Using Class Maps, on page 63
Classifying Traffic by Using Class Maps and Filtering IPv6 Traffic, on page 66
Classification Based on Class Maps and Policy Maps, on page 23

Examples: Classifying, Policing, and Marking Traffic on Physical Ports Using


Policy Maps
This example shows how to create a policy map and attach it to an ingress port. In the configuration, the IP
standard ACL permits traffic from network 10.1.0.0. For traffic matching this classification, the DSCP value
in the incoming packet is trusted. If the matched traffic exceeds an average traffic rate of 48000 b/s and a
normal burst size of 8000 bytes, its DSCP is marked down (based on the policed-DSCP map) and sent:

Switch(config)# access-list 1 permit 10.1.0.0 0.0.255.255


Switch(config)# class-map ipclass1
Switch(config-cmap)# match access-group 1
Switch(config-cmap)# exit
Switch(config)# policy-map flow1t
Switch(config-pmap)# class ipclass1
Switch(config-pmap-c)# trust dscp
Switch(config-pmap-c)# police 1000000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet2/0/1
Switch(config-if)# service-policy input flow1t

This example shows how to create a Layer 2 MAC ACL with two permit statements and attach it to an ingress
port. The first permit statement allows traffic from the host with MAC address 0001.0000.0001 destined for
the host with MAC address 0002.0000.0001. The second permit statement allows only Ethertype XNS-IDP
traffic from the host with MAC address 0001.0000.0002 destined for the host with MAC address
0002.0000.0002.

Switch(config)# mac access-list extended maclist1


Switch(config-ext-mac)# permit 0001.0000.0001 0.0.0 0002.0000.0001 0.0.0
Switch(config-ext-mac)# permit 0001.0000.0002 0.0.0 0002.0000.0002 0.0.0 xns-idp
Switch(config-ext-mac)# exit
Switch(config)# mac access-list extended maclist2
Switch(config-ext-mac)# permit 0001.0000.0003 0.0.0 0002.0000.0003 0.0.0
Switch(config-ext-mac)# permit 0001.0000.0004 0.0.0 0002.0000.0004 0.0.0 aarp
Switch(config-ext-mac)# exit
Switch(config)# class-map macclass1
Switch(config-cmap)# match access-group maclist1
Switch(config-cmap)# exit
Switch(config)# policy-map macpolicy1
Switch(config-pmap)# class macclass1
Switch(config-pmap-c)# set dscp 63
Switch(config-pmap-c)# exit
Switch(config-pmap)# class macclass2 maclist2

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 107
Configuring QoS
Examples: Classifying, Policing, and Marking Traffic on SVIs by Using Hierarchical Policy Maps

Switch(config-pmap-c)# set dscp 45


Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# mls qos trust cos
Switch(config-if)# service-policy input macpolicy1

This example shows how to create a class map that applies to both IPv4 and IPv6 traffic with the default class
applied to unclassified traffic:

Switch(config)# ip access-list 101 permit ip any any


Switch(config)# ipv6 access-list ipv6-any permit ip any any
Switch(config)# class-map cm-1
Switch(config-cmap)# match access-group 101
Switch(config-cmap)# exit
Switch(config)# class-map cm-2
Switch(config-cmap)# match access-group name ipv6-any
Switch(config-cmap)# exit
Switch(config)# policy-map pm1
Switch(config-pmap)# class cm-1
Switch(config-pmap-c)# set dscp 4
Switch(config-pmap-c)# exit
Switch(config-pmap)# class cm-2
Switch(config-pmap-c)# set dscp 6
Switch(config-pmap-c)# exit
Switch(config-pmap)# class class-default
Switch(config-pmap-c)# set dscp 10
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface G0/1
Switch(config-if)# switch mode access
Switch(config-if)# service-policy input pm1

Related Topics
Classifying, Policing, and Marking Traffic on Physical Ports by Using Policy Maps, on page 68
Physical Port Policing, on page 25

Examples: Classifying, Policing, and Marking Traffic on SVIs by Using


Hierarchical Policy Maps
This example shows how to create a hierarchical policy map:

Switch> enable
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# access-list 101 permit ip any any
Switch(config)# class-map cm-1
Switch(config-cmap)# match access 101
Switch(config-cmap)# exit
Switch(config)# exit
Switch#
Switch#

This example shows how to attach the new map to an SVI:

Switch# configure terminal


Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# class-map cm-interface-1
Switch(config-cmap)# match input gigabitethernet3/0/1 - gigabitethernet3/0/2
Switch(config-cmap)# exit

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
108 OL-32578-01
Configuring QoS
Examples: Classifying, Policing, and Marking Traffic on SVIs by Using Hierarchical Policy Maps

Switch(config)# policy-map port-plcmap


Switch(config-pmap)# class cm-interface-1
Switch(config-pmap-c)# police 900000 9000 exc policed-dscp-transmit
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# policy-map vlan-plcmap
Switch(config-pmap)# class cm-1
Switch(config-pmap-c)# set dscp 7
Switch(config-pmap-c)# service-policy port-plcmap-1
Switch(config-pmap-c)# exit
Switch(config-pmap)# class cm-2
Switch(config-pmap-c)# service-policy port-plcmap-1
Switch(config-pmap-c)# set dscp 10
Switch(config-pmap)# exit
Switch(config-pmap)# class cm-3
Switch(config-pmap-c)# service-policy port-plcmap-2
Switch(config-pmap-c)# set dscp 20
Switch(config-pmap)# exit
Switch(config-pmap)# class cm-4
Switch(config-pmap-c)# trust dscp
Switch(config-pmap)# exit
Switch(config)# interface vlan 10
Switch(config-if)# service-policy input vlan-plcmap
Switch(config-if)# exit
Switch(config)# exit
Switch#

This example shows that when a child-level policy map is attached below a class, an action must be specified
for the class:

Switch(config)# policy-map vlan-plcmap


Switch(config-pmap)# class cm-5
Switch(config-pmap-c)# set dscp 7
Switch(config-pmap-c)# service-policy port-plcmap-1

This example shows how to configure a class map to match IP DSCP and IPv6:

Switch(config)# class-map cm-1


Switch(config-cmap)# match ip dscp 10
Switch(config-cmap)# match protocol ipv6
Switch(config-cmap)# exit
Switch(config)# class-map cm-2
Switch(config-cmap)# match ip dscp 20
Switch(config-cmap)# match protocol ip
Switch(config-cmap)# exit
Switch(config)# policy-map pm1
Switch(config-pmap)# class cm-1
Switch(config-pmap-c)# set dscp 4
Switch(config-pmap-c)# exit
Switch(config-pmap)# class cm-2
Switch(config-pmap-c)# set dscp 6
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface G1/0/1
Switch(config-if)# service-policy input pm1

This example shows how to configure default traffic class to a policy map:

Switch# configure terminal


Switch(config)# class-map cm-3
Switch(config-cmap)# match ip dscp 30
Switch(config-cmap)# match protocol ipv6
Switch(config-cmap)# exit
Switch(config)# class-map cm-4
Switch(config-cmap)# match ip dscp 40
Switch(config-cmap)# match protocol ip
Switch(config-cmap)# exit

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 109
Configuring QoS
Examples: Classifying, Policing, and Marking Traffic by Using Aggregate Policers

Switch(config)# policy-map pm3


Switch(config-pmap)# class class-default
Switch(config-pmap)# set dscp 10
Switch(config-pmap-c)# exit
Switch(config-pmap)# class cm-3
Switch(config-pmap-c) set dscp 4
Switch(config-pmap-c)# exit
Switch(config-pmap)# class cm-4
Switch(config-pmap-c)# trust cos
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit

This example shows how the default traffic class is automatically placed at the end of policy-map pm3 even
though class-default was configured first:

Switch# show policy-map pm3


Policy Map pm3
Class cm-3
set dscp 4
Class cm-4
trust cos
Class class-default
police 8000 80000 exceed-action drop
Switch#

Related Topics
Classifying, Policing, and Marking Traffic on SVIs by Using Hierarchical Policy Maps, on page 72
SVI Policing, on page 26

Examples: Classifying, Policing, and Marking Traffic by Using Aggregate


Policers
This example shows how to create an aggregate policer and attach it to multiple classes within a policy map.
In the configuration, the IP ACLs permit traffic from network 10.1.0.0 and from host 11.3.1.1. For traffic
coming from network 10.1.0.0, the DSCP in the incoming packets is trusted. For traffic coming from host
11.3.1.1, the DSCP in the packet is changed to 56. The traffic rate from the 10.1.0.0 network and from host
11.3.1.1 is policed. If the traffic exceeds an average rate of 48000 b/s and a normal burst size of 8000 bytes,
its DSCP is marked down (based on the policed-DSCP map) and sent. The policy map is attached to an ingress
port.

Switch(config)# access-list 1 permit 10.1.0.0 0.0.255.255


Switch(config)# access-list 2 permit 11.3.1.1
Switch(config)# mls qos aggregate-police transmit1 48000 8000 exceed-action
policed-dscp-transmit
Switch(config)# class-map ipclass1
Switch(config-cmap)# match access-group 1
Switch(config-cmap)# exit
Switch(config)# class-map ipclass2
Switch(config-cmap)# match access-group 2
Switch(config-cmap)# exit
Switch(config)# policy-map aggflow1
Switch(config-pmap)# class ipclass1
Switch(config-pmap-c)# trust dscp
Switch(config-pmap-c)# police aggregate transmit1
Switch(config-pmap-c)# exit
Switch(config-pmap)# class ipclass2
Switch(config-pmap-c)# set dscp 56
Switch(config-pmap-c)# police aggregate transmit1
Switch(config-pmap-c)# exit

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
110 OL-32578-01
Configuring QoS
Examples: Configuring DSCP Maps

Switch(config-pmap)# class class-default


Switch(config-pmap-c)# set dscp 10
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet2/0/1
Switch(config-if)# service-policy input aggflow1
Switch(config-if)# exit

Related Topics
Classifying, Policing, and Marking Traffic by Using Aggregate Policers, on page 80
Policing and Marking Overview, on page 24
Classifying, Policing, and Marking Traffic by Using Aggregate Policers, on page 80
Physical Port Policing, on page 25

Examples: Configuring DSCP Maps


This example shows how to modify and display the CoS-to-DSCP map:

Switch(config)# mls qos map cos-dscp 10 15 20 25 30 35 40 45


Switch(config)# end
Switch# show mls qos maps cos-dscp

Cos-dscp map:
cos: 0 1 2 3 4 5 6 7
--------------------------------
dscp: 10 15 20 25 30 35 40 45

This example shows how to modify and display the IP-precedence-to-DSCP map:

Switch(config)# mls qos map ip-prec-dscp 10 15 20 25 30 35 40 45


Switch(config)# end
Switch# show mls qos maps ip-prec-dscp

IpPrecedence-dscp map:
ipprec: 0 1 2 3 4 5 6 7
--------------------------------
dscp: 10 15 20 25 30 35 40 45

This example shows how to map DSCP 50 to 57 to a marked-down DSCP value of 0:

Switch(config)# mls qos map policed-dscp 50 51 52 53 54 55 56 57 to 0


Switch(config)# end
Switch# show mls qos maps policed-dscp
Policed-dscp map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 00 01 02 03 04 05 06 07 08 09
1 : 10 11 12 13 14 15 16 17 18 19
2 : 20 21 22 23 24 25 26 27 28 29
3 : 30 31 32 33 34 35 36 37 38 39
4 : 40 41 42 43 44 45 46 47 48 49
5 : 00 00 00 00 00 00 00 00 58 59
6 : 60 61 62 63

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 111
Configuring QoS
Examples: Configuring DSCP Maps

Note In this policed-DSCP map, the marked-down DSCP values are shown in the body of the matrix. The d1
column specifies the most-significant digit of the original DSCP; the d2 row specifies the least-significant
digit of the original DSCP. The intersection of the d1 and d2 values provides the marked-down value. For
example, an original DSCP value of 53 corresponds to a marked-down DSCP value of 0.

This example shows how to map DSCP values 0, 8, 16, 24, 32, 40, 48, and 50 to CoS value 0 and to display
the map:

Switch(config)# mls qos map dscp-cos 0 8 16 24 32 40 48 50 to 0


Switch(config)# end
Switch# show mls qos maps dscp-cos
Dscp-cos map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 00 00 00 00 00 00 00 00 00 01
1 : 01 01 01 01 01 01 00 02 02 02
2 : 02 02 02 02 00 03 03 03 03 03
3 : 03 03 00 04 04 04 04 04 04 04
4 : 00 05 05 05 05 05 05 05 00 06
5 : 00 06 06 06 06 06 07 07 07 07
6 : 07 07 07 07

Note In the above DSCP-to-CoS map, the CoS values are shown in the body of the matrix. The d1 column
specifies the most-significant digit of the DSCP; the d2 row specifies the least-significant digit of the
DSCP. The intersection of the d1 and d2 values provides the CoS value. For example, in the DSCP-to-CoS
map, a DSCP value of 08 corresponds to a CoS value of 0.

This example shows how to define the DSCP-to-DSCP-mutation map. All the entries that are not explicitly
configured are not modified (remains as specified in the null map):

Switch(config)# mls qos map dscp-mutation mutation1 1 2 3 4 5 6 7 to 0


Switch(config)# mls qos map dscp-mutation mutation1 8 9 10 11 12 13 to 10
Switch(config)# mls qos map dscp-mutation mutation1 20 21 22 to 20
Switch(config)# mls qos map dscp-mutation mutation1 30 31 32 33 34 to 30
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# mls qos trust dscp
Switch(config-if)# mls qos dscp-mutation mutation1
Switch(config-if)# end
Switch# show mls qos maps dscp-mutation mutation1
Dscp-dscp mutation map:
mutation1:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 00 00 00 00 00 00 00 00 10 10
1 : 10 10 10 10 14 15 16 17 18 19
2 : 20 20 20 23 24 25 26 27 28 29
3 : 30 30 30 30 30 35 36 37 38 39
4 : 40 41 42 43 44 45 46 47 48 49
5 : 50 51 52 53 54 55 56 57 58 59
6 : 60 61 62 63

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
112 OL-32578-01
Configuring QoS
Examples: Configuring Egress Queue Characteristics

Note In the above DSCP-to-DSCP-mutation map, the mutated values are shown in the body of the matrix. The
d1 column specifies the most-significant digit of the original DSCP; the d2 row specifies the least-significant
digit of the original DSCP. The intersection of the d1 and d2 values provides the mutated value. For
example, a DSCP value of 12 corresponds to a mutated value of 10.

Related Topics
Configuring the CoS-to-DSCP Map, on page 83
Configuring the IP-Precedence-to-DSCP Map, on page 85
Configuring the Policed-DSCP Map, on page 86
Configuring the DSCP-to-CoS Map, on page 87
Configuring the DSCP-to-DSCP-Mutation Map, on page 89
DSCP Maps, on page 39

Examples: Configuring Egress Queue Characteristics


This example shows how to map a port to queue-set 2. It allocates 40 percent of the buffer space to egress
queue 1 and 20 percent to egress queues 2, 3, and 4. It configures the drop thresholds for queue 2 to 40 and
60 percent of the allocated memory, guarantees (reserves) 100 percent of the allocated memory, and configures
200 percent as the maximum memory that this queue can have before packets are dropped:

Switch(config)# mls qos queue-set output 2 buffers 40 20 20 20


Switch(config)# mls qos queue-set output 2 threshold 2 40 60 100 200
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# queue-set 2

This example shows how to map DSCP values 10 and 11 to egress queue 1 and to threshold 2:

Switch(config)# mls qos srr-queue output dscp-map queue 1 threshold 2 10 11

This example shows how to configure bandwidth shaping on queue 1. Because the weight ratios for queues
2, 3, and 4 are set to 0, these queues operate in shared mode. The bandwidth weight for queue 1 is 1/8, which
is 12.5 percent:

Switch(config)# interface gigabitethernet2/0/1


Switch(config-if)# srr-queue bandwidth shape 8 0 0 0

This example shows how to configure the weight ratio of the SRR scheduler running on an egress port. Four
queues are used, and the bandwidth ratio allocated for each queue in shared mode is 1/(1+2+3+4), 2/(1+2+3+4),
3/(1+2+3+4), and 4/(1+2+3+4), which is 10 percent, 20 percent, 30 percent, and 40 percent for queues 1, 2,
3, and 4. This means that queue 4 has four times the bandwidth of queue 1, twice the bandwidth of queue 2,
and one-and-a-third times the bandwidth of queue 3.

Switch(config)# interface gigabitethernet2/0/1


Switch(config-if)# srr-queue bandwidth share 1 2 3 4

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 113
Configuring QoS
Where to Go Next

This example shows how to enable the egress expedite queue when the SRR weights are configured. The
egress expedite queue overrides the configured SRR weights.

Switch(config)# interface gigabitethernet1/0/1


Switch(config-if)# srr-queue bandwidth shape 25 0 0 0
Switch(config-if)# srr-queue bandwidth share 30 20 25 25
Switch(config-if)# priority-queue out
Switch(config-if)# end

This example shows how to limit the bandwidth on a port to 80 percent:

Switch(config)# interface gigabitethernet2/0/1


Switch(config-if)# srr-queue bandwidth limit 80

When you configure this command to 80 percent, the port is idle 20 percent of the time. The line rate drops
to 80 percent of the connected speed, which is 800 Mb/s. These values are not exact because the hardware
adjusts the line rate in increments of six.

Related Topics
Allocating Buffer Space to and Setting WTD Thresholds for an Egress Queue-Set
Configuring SRR Shaped Weights on Egress Queues, on page 96
Configuring SRR Shared Weights on Egress Queues, on page 98
Configuring the Egress Expedite Queue, on page 100
Limiting the Bandwidth on an Egress Interface, on page 102
Queueing and Scheduling on Egress Queues, on page 31
Mapping DSCP or CoS Values to an Egress Queue and to a Threshold ID, on page 94
Mapping Tables Overview, on page 28

Where to Go Next
Review the auto-QoS documentation to see if you can use these automated capabilities for your QoS
configuration.

Additional References
Related Documents

Related Topic Document Title


For complete syntax and usage information for the Catalyst 2960-XR Switch Quality of Service Command
commands used in this book. Reference

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
114 OL-32578-01
Configuring QoS
Feature History and Information for QoS

Standards and RFCs

Standard/RFC Title
— —

MIBs

MIB MIBs Link


All supported MIBs for this release. To locate and download MIBs for selected platforms,
Cisco IOS releases, and feature sets, use Cisco MIB
Locator found at the following URL:
http://www.cisco.com/go/mibs

Technical Assistance

Description Link
The Cisco Support website provides extensive online http://www.cisco.com/support
resources, including documentation and tools for
troubleshooting and resolving technical issues with
Cisco products and technologies.
To receive security and technical information about
your products, you can subscribe to various services,
such as the Product Alert Tool (accessed from Field
Notices), the Cisco Technical Services Newsletter,
and Really Simple Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website
requires a Cisco.com user ID and password.

Feature History and Information for QoS


Release Modification
Cisco IOS 15.0(2)EX1 This feature was introduced.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 115
Configuring QoS
Feature History and Information for QoS

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
116 OL-32578-01
CHAPTER 3
Configuring Auto-QoS
• Finding Feature Information, page 117
• Prerequisites for Auto-QoS, page 117
• Restrictions for Auto-QoS, page 118
• Information About Configuring Auto-QoS, page 119
• How to Configure Auto-QoS, page 122
• Monitoring Auto-QoS, page 125
• Configuration Examples for Auto-Qos, page 126
• Where to Go Next for Auto-QoS, page 133
• Additional References, page 134
• Feature History and Information for Auto-QoS, page 135

Finding Feature Information


Your software release may not support all the features documented in this module. For the latest caveats and
feature information, see Bug Search Tool and the release notes for your platform and software release. To
find information about the features documented in this module, and to see a list of the releases in which each
feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not
required.

Prerequisites for Auto-QoS


Before configuring standard QoS or auto-QoS, you must have a thorough understanding of these items:
• The types of applications used and the traffic patterns on your network.
• Traffic characteristics and needs of your network. Is the traffic bursty? Do you need to reserve bandwidth
for voice and video streams?

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 117
Configuring Auto-QoS
Auto-QoS VoIP Considerations

• Bandwidth requirements and speed of the network.


• Location of congestion points in the network.

Auto-QoS VoIP Considerations


Before configuring auto-QoS for VoIP, you should be aware of this information:
• Auto-QoS configures the switch for VoIP with Cisco IP Phones on nonrouted and routed ports. Auto-QoS
also configures the switch for VoIP with devices running the Cisco SoftPhone application.

Note When a device running Cisco SoftPhone is connected to a nonrouted or routed port, the
switch supports only one Cisco SoftPhone application per port.

• When enabling auto-QoS with a Cisco IP Phone on a routed port, you must assign a static IP address to
the IP phone.
• This release supports only Cisco IP SoftPhone Version 1.3(3) or later.
• Connected devices must use Cisco Call Manager Version 4 or later.
• Auto-Qos VoIP uses the priority-queue interface configuration command for an egress interface. You
can also configure a policy-map and trust device on the same interface for Cisco IP phones.

Auto-QoS Enhanced Considerations


Auto-QoS is enhanced to support video. Automatic configurations are generated that classify and trust traffic
from Cisco TelePresence systems and Cisco IP cameras.
Before configuring auto-QoS enhanced, you should be aware of this information:
• The auto qos srnd4 global configuration command is generated as a result of enhanced auto-QoS
configuration.

Restrictions for Auto-QoS


The following are restrictions for automatic QoS (auto-QoS):
• After auto-QoS is enabled, do not modify a policy map or aggregate policer that includes AutoQoS in
its name. If you need to modify the policy map or aggregate policer, make a copy of it, and change the
copied policy map or policer. To use this new policy map instead of the generated one, remove the
generated policy map from the interface, and apply the new policy map to the interface.
• To take advantage of the auto-QoS defaults, you should enable auto-QoS before you configure other
QoS commands. If necessary, you can fine-tune the QoS configuration, but we recommend that you do
so only after the auto-QoS configuration is completed.
• By default, the CDP is enabled on all ports. For auto-QoS to function properly, do not disable CDP.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
118 OL-32578-01
Configuring Auto-QoS
Information About Configuring Auto-QoS

• We recommend that you do not enable 8 egress queues by using the mls qos srr-queue output queues
8 command, when running the following features in your configuration:
◦Auto-QoS
◦Auto SmartPort
◦EnergyWise

Running these features with 8 egress queue enabled in a single configuration is not supported on the
switch.

Note You can enable auto-QoS on static, dynamic-access, voice VLAN access, and trunk ports.

Information About Configuring Auto-QoS


Auto-QoS Overview
You can use the auto-QoS feature to simplify the deployment of QoS features. Auto-QoS determines the
network design and enables QoS configurations so that the switch can prioritize different traffic flows. It uses
the ingress and egress queues instead of using the default (disabled) QoS behavior. The switch offers best-effort
service to each packet, regardless of the packet contents or size, and sends it from a single queue.
When you enable auto-QoS, it automatically classifies traffic based on the traffic type and ingress packet
label. The switch uses the classification results to choose the appropriate egress queue.
You can use auto-QoS commands to identify ports connected to the following Cisco devices:
• Cisco IP Phones
• Devices running the Cisco SoftPhone application
• Cisco TelePresence
• Cisco IP Camera
• Cisco digital media player

You also use the auto-QoS commands to identify ports that receive trusted traffic through an uplink. Auto-QoS
then performs these functions:
• Detects the presence or absence of auto-QoS devices through conditional trusted interfaces.
• Configures QoS classification
• Configures egress queues

Related Topics
Enabling Auto-QoS, on page 122
Examples: Global Auto-QoS Configuration, on page 126

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 119
Configuring Auto-QoS
Generated Auto-QoS Configuration

Examples: Auto-QoS Generated Configuration for VoIP Devices, on page 130


Examples: Auto-QoS Generated Configuration For Enhanced Video, Trust, and Classify Devices, on
page 131

Generated Auto-QoS Configuration


By default, auto-QoS is disabled on all ports. Packets are not modified--the CoS, DSCP and IP precedence
values in the packet are not changed.
When you enable the auto-QoS feature on the first port of the interface:
• Ingress packet label is used to categorize traffic, to assign packet labels, and to configure the ingress
and egress queues.
• QoS is globally enabled (mls qos global configuration command), and other global configuration
commands are automatically generated. (See Examples: Global Auto-QoS Configuration, on page 126).
• Switch enables the trusted boundary feature and uses the Cisco Discovery Protocol (CDP) to detect the
presence of a supported device.
• Policing is used to determine whether a packet is in or out of profile and specifies the action on the
packet.

VoIP Device Specifics


The following actions occur when you issue these auto-QoS commands on a port:
• auto qos voip cisco-phone—When you enter this command on a port at the network edge connected
to a Cisco IP Phone, the switch enables the trusted boundary feature. If the packet does not have a DSCP
value of 24, 26, or 46 or is out of profile, the switch changes the DSCP value to 0. When there is no
Cisco IP Phone, the ingress classification is set to not trust the QoS label in the packet. The policing is
applied to the traffic matching the policy-map classification before the switch enables the trust boundary
feature.
• auto qos voip cisco-softphone —When you enter this interface configuration command on a port at
the network edge that is connected to a device running the Cisco SoftPhone, the switch uses policing to
determine whether a packet is in or out of profile and to specify the action on the packet. If the packet
does not have a DSCP value of 24, 26, or 46 or is out of profile, the switch changes the DSCP value to
0.
• auto qos voip trust—When you enter this interface configuration command on a port connected to the
network interior, the switch trusts the CoS value for nonrouted ports or the DSCP value for routed ports
in ingress packets (the assumption is that traffic has already been classified by other edge devices).

The switch configures egress queues on the port according to the settings in the following tables.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
120 OL-32578-01
Configuring Auto-QoS
Generated Auto-QoS Configuration

Table 20: Traffic Types, Packet Labels, and Queues

VoIP Data VoIP Routing STP Real-Time All Other Traffic


Traffic Control Protocol BPDU Video
Traffic Traffic Traffic Traffic
DSCP value 46 24, 26 48 56 34 –

CoS value 5 3 6 7 3 –

CoS-to-Ingress 4, 5 (queue 2) 0, 1, 2, 3, 6, 7(queue 1)


queue map

CoS-to-Egress 4, 5 2, 3, 6, 7 (queue 2) 0 (queue 3) 2 (queue 3) 0, 1


queue map (queue 1) (queue 4)

The following table describes the auto-QoS configuration for ingress queues.
The switch configures ingress queues on the port according to the settings in the following table. This table
shows the generated auto-QoS configuration for the ingress queues.

Table 21: Auto-QoS Configuration for the Ingress Queues

Ingress Queue Queue CoS-to-Queue Map Queue Weight Queue (Buffer) Size
Number (Bandwidth)
SRR shared 1 0, 1, 2, 3, 6, 7 70 percent 90 percent

Priority 2 4, 5 30 percent 10 percent

The following table shows the generated auto-QoS configuration for the egress queues.

Table 22: Auto-QoS Configuration for the Egress Queues

Egress Queue Queue Number CoS-to-Queue Queue Weight Queue (Buffer) Queue (Buffer)
Map (Bandwidth) Size for Size for 10/100
Gigabit-Capable Ethernet Ports
Ports
Priority 1 4, 5 Up to 100 25 percent 15 percent
percent

SRR shared 2 2, 3, 6, 7 10 percent 25 percent 25 percent

SRR shared 3 0 60 percent 25 percent 40 percent

SRR shared 4 1 20 percent 25 percent 20 percent

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 121
Configuring Auto-QoS
Effects of Auto-QoS on Running Configuration

• When you enable auto-QoS by using the auto qos voip cisco-phone, the auto qos voip cisco-softphone,
or the auto qos voip trust interface configuration command, the switch automatically generates a QoS
configuration based on the traffic type and ingress packet label and applies the commands listed in
Examples: Global Auto-QoS Configuration, on page 126 to the port.

Effects of Auto-QoS on Running Configuration


When auto-QoS is enabled, the auto qos interface configuration commands and the generated global
configuration are added to the running configuration.
The switch applies the auto-QoS-generated commands as if the commands were entered from the CLI. An
existing user configuration can cause the application of the generated commands to fail or to be overridden
by the generated commands. These actions may occur without warning. If all the generated commands are
successfully applied, any user-entered configuration that was not overridden remains in the running
configuration. Any user-entered configuration that was overridden can be retrieved by reloading the switch
without saving the current configuration to memory. If the generated commands are not applied, the previous
running configuration is restored.

How to Configure Auto-QoS


Configuring Auto-QoS

Enabling Auto-QoS
For optimum QoS performance, enable auto-QoS on all the devices in your network.

SUMMARY STEPS

1. configure terminal
2. interface interface-id
3. Use one of the following:
• auto qos voip {cisco-phone | cisco-softphone | trust}
• auto qos video {cts | ip-camera | media-player}
• auto qos classify [police]
• auto qos trust {cos | dscp}

4. exit
5. interface interface-id
6. auto qos trust
7. end
8. show auto qos interface interface-id

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
122 OL-32578-01
Configuring Auto-QoS
Configuring Auto-QoS

DETAILED STEPS

Command or Action Purpose


Step 1 configure terminal Enters global configuration mode.

Example:
Switch# configure terminal

Step 2 interface interface-id Specifies the port that is connected to a video device or the uplink port that
is connected to another trusted switch or router in the network interior, and
Example: enters interface configuration mode.

Switch(config)# interface
gigabitethernet 3/0/1

Step 3 Use one of the following: Enables auto-QoS for VoIP.


• auto qos voip {cisco-phone | • cisco-phone—If the port is connected to a Cisco IP Phone, the QoS
cisco-softphone | trust} labels of incoming packets are trusted only when the telephone is
detected.
• auto qos video {cts | ip-camera |
media-player} • cisco-softphone—The port is connected to device running the Cisco
SoftPhone feature.
• auto qos classify [police]
• trust—The uplink port is connected to a trusted switch or router, and
• auto qos trust {cos | dscp}
the VoIP traffic classification in the ingress packet is trusted.

Enables auto-QoS for a video device.


Example:
Switch(config-if)# auto qos trust • cts—A port connected to a Cisco Telepresence system.
dscp
• ip-camera—A port connected to a Cisco video surveillance camera.
• media-player—A port connected to a CDP-capable Cisco digital media
player.

QoS labels of incoming packets are trusted only when the system is detected.
Enables auto-QoS for classification.
• police—Policing is set up by defining the QoS policy maps and applying
them to ports (port-based QoS).

Enables auto-QoS for trusted interfaces.


• cos—Class of service.
• dscp—Differentiated Services Code Point.
• <cr>—Trust interface.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 123
Configuring Auto-QoS
Configuring Auto-QoS

Command or Action Purpose


Note To view a list of commands that are automatically generated by
issuing one of the auto-QoS commands listed here, you need to be
in debug mode. Refer to the Catalyst 2960-XR Switch QoS Command
Reference Guide for examples of how to run the appropriate debug
command to view a list of these commands.

Step 4 exit Returns to global configuration mode.

Example:
Switch(config-if)# exit

Step 5 interface interface-id Specifies the switch port identified as connected to a trusted switch or router,
and enters interface configuration mode.
Example:
Switch(config)# interface
gigabitethernet 2/0/1

Step 6 auto qos trust Enables auto-QoS on the port, and specifies that the port is connected to a
trusted router or switch.
Example:
Switch(config-if)# auto qos trust

Step 7 end Returns to privileged EXEC mode.

Example:
Switch(config-if)# end

Step 8 show auto qos interface interface-id Verifies your entries.


This command displays the auto-QoS command on the interface on which
Example: auto-QoS was enabled. You can use the show running-config privileged
Switch# show auto qos interface EXEC command to display the auto-QoS configuration and the user
gigabitethernet 2/0/1 modifications.

Related Topics
Auto-QoS Overview, on page 119
Examples: Global Auto-QoS Configuration, on page 126
Examples: Auto-QoS Generated Configuration for VoIP Devices, on page 130
Examples: Auto-QoS Generated Configuration For Enhanced Video, Trust, and Classify Devices, on
page 131

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
124 OL-32578-01
Configuring Auto-QoS
Monitoring Auto-QoS

Troubleshooting Auto-QoS
To display the QoS commands that are automatically generated when auto-QoS is enabled or disabled, enter
the debug auto qos privileged EXEC command before you enable auto-QoS. For more information, see the
debug auto qos command in the command reference for this release.
To disable auto-QoS on a port, use the no form of the auto qos command interface configuration command,
such as no auto qos voip.

Note Auto-QoS generated global commands can also be removed manually if desired.

Only the auto-QoS-generated interface configuration commands for this port are removed. If this is the last
port on which auto-QoS is enabled and you enter the no auto qos voip command, auto-QoS is considered
disabled even though the auto-QoS-generated global configuration commands remain (to avoid disrupting
traffic on other ports affected by the global configuration).
You can use the no mls qos global configuration command to disable the auto-QoS-generated global
configuration commands. With QoS disabled, there is no concept of trusted or untrusted ports because the
packets are not modified (the CoS, DSCP, and IP precedence values in the packet are not changed). Traffic
is switched in pass-through mode (packets are switched without any rewrites and classified as best effort
without any policing).

Monitoring Auto-QoS
Table 23: Commands for Monitoring Auto-QoS

Command Description
show auto qos [interface [interface-type]] Displays the initial auto-QoS configuration.
You can compare the show auto qos and the show
running-config command output to identify the
user-defined QoS settings.

show mls qos [ aggregate policer | interface | Displays information about the QoS configuration that
maps | queue-set | stack-port | stack-qset | vlan might be affected by auto-QoS.
]

show mls qos aggregate policer policer_name Displays information about the QoS aggregate policer
configuration that might be affected by auto-QoS.

show mls qos interface [interface-type | buffers Displays information about the QoS interface
| policers | queueing | statistics ] configuration that might be affected by auto-QoS.

show mls qos maps [cos-dscp | cos-output-q | Displays information about the QoS maps configuration
dscp-cos | dscp-mutation | dscp-output-q | that might be affected by auto-QoS.
ip-prec-dscp | policed-dscp ]

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 125
Configuring Auto-QoS
Configuration Examples for Auto-Qos

Command Description
show mls qos queue-set queue-set ID Displays information about the QoS queue-set
configuration that might be affected by auto-QoS.

show mls qos stack-port buffers Displays information about the QoS stack port buffer
configuration that might be affected by auto-QoS.

show mls qos stack-qset Displays information about the QoS stack queue set
configuration that might be affected by auto-QoS.

show running-config Displays information about the QoS configuration that


might be affected by auto-QoS.
You can compare the show auto qos and the show
running-config command output to identify the
user-defined QoS settings.

Configuration Examples for Auto-Qos


Examples: Global Auto-QoS Configuration
The following table describes the automatically generated commands for auto-QoS and enhanced auto-QoS
by the switch.

Table 24: Generated Auto-QoS Configuration

Description Automatically Generated Enhanced Automatically Generated Command


Command {voip} {Video|Trust|Classify}
The switch
Switch(config)# mls qos Switch(config)# mls qos
automatically enables Switch(config)# mls qos map Switch(config)# mls qos map cos-dscp
standard QoS and cos-dscp 0 8 16 24 32 46 48 56
configures the 0 8 16 26 32 46 48 56
CoS-to-DSCP map
(maps CoS values in
incoming packets to a
DSCP value).

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
126 OL-32578-01
Configuring Auto-QoS
Examples: Global Auto-QoS Configuration

Description Automatically Generated Enhanced Automatically Generated Command


Command {voip} {Video|Trust|Classify}
The switch
Switch(config)# no mls qos Switch(config)# no mls qos srr-queue
automatically maps srr-queue output cos-map
CoS values to an egress output cos-map Switch(config)# mls qos srr-queue
queue and to a Switch(config)# mls qos output cos-map queue 1 threshold 3 4 5
srr-queue Switch(config)# mls qos srr-queue
threshold ID. output cos-map queue 1 output cos-map queue 2 threshold 3 6 7
threshold 3 5 Switch(config)# mls qos srr-queue
Switch(config)# mls qos output cos-map queue 2 threshold 1 2
srr-queue Switch(config)# mls qos srr-queue
output cos-map queue 2 output cos-map queue 2 threshold 2 3
threshold 3 3 Switch(config)# mls qos srr-queue
6 7 output cos-map queue 3 threshold 3 0
Switch(config)# mls qos
srr-queue Switch(config)# mls qos srr-queue
output cos-map queue 3 output cos-map queue 4 threshold 3 1
threshold 3 2
4
Switch(config)# mls qos
srr-queue
output cos-map queue 4
threshold 2 1
Switch(config)# mls qos
srr-queue
output cos-map queue 4
threshold 3 0

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 127
Configuring Auto-QoS
Examples: Global Auto-QoS Configuration

Description Automatically Generated Enhanced Automatically Generated Command


Command {voip} {Video|Trust|Classify}
The switch
Switch(config)# no mls qos Switch(config)# no mls qos srr-queue
automatically maps srr-queue output dscp-map
DSCP values to an output dscp-map Switch(config)# mls qos srr-queue
egress queue and to a Switch(config)# mls qos output dscp-map queue 1 threshold 3 32
srr-queue
threshold ID. output dscp-map queue 1 33 40 41 42 43 44 45 46 47
threshold 3 Switch(config)# mls qos srr-queue
40 41 42 43 44 45 46 47 output dscp-map queue 2 threshold 1 16

17 18 19 20 21 22 23
Switch(config)# mls qos srr-queue
output dscp-map queue 2 threshold 1 26

27 28 29 30 31 34 35 36 37 38 39
Switch(config)# mls qos srr-queue
output dscp-map queue 2 threshold 2 24
Switch(config)# mls qos Switch(config)# mls qos srr-queue
srr-queue output dscp-map queue 2 threshold 3 48
output dscp-map queue 2
threshold 3 49 50 51 52 53 54 55 56
24 25 26 27 28 29 30 31 Switch(config)# mls qos srr-queue
Switch(config)# mls qos output dscp-map queue 2 threshold 3 57
srr-queue
output dscp-map queue 2 58 59 60 61 62 63
threshold 3
48 49 50 51 52 53 54 55
Switch(config)# mls qos
srr-queue Switch(config)# mls qos srr-queue
output dscp-map queue 2 output dscp-map queue 3 threshold 3 0
threshold 3 1 2 3 4 5 6 7
56 57 58 59 60 61 62 63
Switch(config)# mls qos
srr-queue
output dscp-map queue 3 Switch(config)# mls qos srr-queue
threshold 3 output dscp-map queue 4 threshold 1 8
16 17 18 19 20 21 22 23 9 11 13 15
Switch(config)# mls qos Switch(config)# mls qos srr-queue
srr-queue output dscp-map queue 4 threshold 2 10
output dscp-map queue 3
threshold 3 12 14
32 33 34 35 36 37 38 39
Switch(config)# mls qos
srr-queue
output dscp-map queue 4
threshold 1 8

Switch(config)# mls qos


srr-queue
output dscp-map queue 4
threshold 2 9
10 11 12 13 14 15
Switch(config)# mls qos
srr-queue
output dscp-map queue
4 threshold 3 0 1 2 3 4 5 6
7

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
128 OL-32578-01
Configuring Auto-QoS
Examples: Global Auto-QoS Configuration

Description Automatically Generated Enhanced Automatically Generated Command


Command {voip} {Video|Trust|Classify}
The switch
Switch(config)# mls qos Switch(config)# mls qos queue-set
automatically queue-set output 1 threshold 2 100 100 50 200
configures the egress output 1 threshold 1 138 138 Switch(config)# mls qos queue-set
queue buffer sizes. It 92 138 output 1 threshold 2 125 125 100 400
Switch(config)# mls qos Switch(config)# mls qos queue-set
configures the queue-set output 1 threshold 3 100 100 100 400
bandwidth and the SRR output 1 threshold 2 138 138 Switch(config)# mls qos queue-set
92 400 output 1 threshold 4 60 150 50 200
mode (shaped or Switch(config)# mls qos
shared) on the egress queue-set
queues mapped to the output 1 threshold 3 36 77
100 318
port. Switch(config)# mls qos
queue-set
output 1 threshold 4 20 50 67
400
Switch(config)# mls qos Switch(config)# mls qos queue-set
queue-set output 1 buffers 15 25 40 20
output 2 threshold 1 149 149
100 149
Switch(config)# mls qos
queue-set
output 2 threshold 2 118 118
100 235
Switch(config)# mls qos
queue-set
output 2 threshold 3 41 68
100 272
Switch(config)# mls qos
queue-set
output 2 threshold 4 42 72
100 242
Switch(config)# mls qos
queue-set
output 1 buffers 10 10 26 54
Switch(config)# mls qos
queue-set
output 2 buffers 16 6 17 61
Switch(config-if)#
priority-queue
out
Switch(config-if)# srr-queue

bandwidth share 10 10 60 20

Related Topics
Enabling Auto-QoS, on page 122
Auto-QoS Overview, on page 119

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 129
Configuring Auto-QoS
Examples: Auto-QoS Generated Configuration for VoIP Devices

Examples: Auto-QoS Generated Configuration for VoIP Devices


If you entered the auto qos voip cisco-phone command, the switch automatically enables the trusted boundary
feature, which uses the CDP to detect the presence or absence of a Cisco IP Phone.

Switch(config-if)# mls qos trust device cisco-phone

If you entered the auto qos voip cisco-softphone command, the switch automatically creates class maps and
policy maps.

Switch(config)# mls qos map policed-dscp 24 26 46 to 0


Switch(config)# class-map match-all AutoQoS-VoIP-RTP-Trust
Switch(config-cmap)# match ip dscp ef
Switch(config)# class-map match-all AutoQoS-VoIP-Control-Trust
Switch(config-cmap)# match ip dscp cs3 af31
Switch(config)# policy-map AutoQoS-Police-SoftPhone
Switch(config-pmap)# class AutoQoS-VoIP-RTP-Trust
Switch(config-pmap-c)# set dscp ef
Switch(config-pmap-c)# police 320000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)# class AutoQoS-VoIP-Control-Trust
Switch(config-pmap-c)# set dscp cs3
Switch(config-pmap-c)# police 32000 8000 exceed-action policed-dscp-transmit

After creating the class maps and policy maps, the switch automatically applies the policy map called
AutoQoS-Police-SoftPhone to an ingress interface on which auto-QoS with the Cisco SoftPhone feature is
enabled.

Switch(config-if)# service-policy input AutoQoS-Police-SoftPhone

If you entered the auto qos voip cisco-phone command, the switch automatically creates class maps and
policy maps.

Switch(config-if)# mls qos trust device cisco-phone

If you entered the auto qos voip cisco-softphone command, the switch automatically creates class maps and
policy maps.

Switch(config)# mls qos map policed-dscp 24 26 46 to 0


Switch(config)# class-map match-all AutoQoS-VoIP-RTP-Trust
Switch(config-cmap)# match ip dscp ef
Switch(config)# class-map match-all AutoQoS-VoIP-Control-Trust
Switch(config-cmap)# match ip dscp cs3 af31
Switch(config)# policy-map AutoQoS-Police-CiscoPhone
Switch(config-pmap)# class AutoQoS-VoIP-RTP-Trust
Switch(config-pmap-c)# set dscp ef
Switch(config-pmap-c)# police 320000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)# class AutoQoS-VoIP-Control-Trust
Switch(config-pmap-c)# set dscp cs3
Switch(config-pmap-c)# police 32000 8000 exceed-action policed-dscp-transmit

After creating the class maps and policy maps, the switch automatically applies the policy map called
AutoQoS-Police-SoftPhone to an ingress interface on which auto-QoS with the Cisco SoftPhone feature is
enabled.

Switch(config-if)# service-policy input AutoQoS-Police-SoftPhone

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
130 OL-32578-01
Configuring Auto-QoS
Examples: Auto-QoS Generated Configuration For Enhanced Video, Trust, and Classify Devices

Related Topics
Enabling Auto-QoS, on page 122
Auto-QoS Overview, on page 119

Examples: Auto-QoS Generated Configuration For Enhanced Video, Trust, and


Classify Devices
If you entered the following enhanced auto-QoS commands, the switch configures a CoS-to-DSCP map (maps
CoS values in incoming packets to a DSCP value):
• auto qos video cts
• auto qos video ip-camera
• auto qos video media-player
• auto qos trust
• auto qos trust cos
• auto qos trust dscp
The following command is initiated after entering one of the above auto-QoS commands:

Switch(config)# mls qos map cos-dscp 0 8 16 24 32 46 48 56

Note No class maps and policy maps are configured.

If you entered the auto qos classify command, the switch automatically creates class maps and policy maps
(as shown below).

Switch(config)# mls qos map policed-dscp 0 10 18 24 26 46 to 8


Switch(config)# mls qos map cos-dscp 0 8 16 24 32 46 48 56
Switch(config)# class-map match-all AUTOQOS_MULTIENHANCED_CONF_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-MULTIENHANCED-CONF
Switch(config)# class-map match-all AUTOQOS_DEFAULT_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-DEFAULT
Switch(config)# class-map match-all AUTOQOS_TRANSACTION_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-TRANSACTIONAL-DATA
Switch(config)# class-map match-all AUTOQOS_SIGNALING_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-SIGNALING
Switch(config)# class-map match-all AUTOQOS_BULK_DATA_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-BULK-DATA
Switch(config)# class-map match-all AUTOQOS_SCAVANGER_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-SCAVANGER
Switch(config)# policy-map AUTOQOS-SRND4-CLASSIFY-POLICY
Switch(config-pmap)# class AUTOQOS_MULTIENHANCED_CONF_CLASS
Switch(config-pmap-c)# set dscp af41
Switch(config-pmap)# class AUTOQOS_BULK_DATA_CLASS
Switch(config-pmap-c)# set dscp af11
Switch(config-pmap)# class AUTOQOS_TRANSACTION_CLASS
Switch(config-pmap-c)# set dscp af21
Switch(config-pmap)# class AUTOQOS_SCAVANGER_CLASS
Switch(config-pmap-c)# set dscp cs1
Switch(config-pmap)# class AUTOQOS_SIGNALING_CLASS
Switch(config-pmap-c)# set dscp cs3

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 131
Configuring Auto-QoS
Examples: Auto-QoS Generated Configuration For Enhanced Video, Trust, and Classify Devices

Switch(config-pmap)# class AUTOQOS_DEFAULT_CLASS


Switch(config-pmap-c)# set dscp default
;
Switch(config-if)# service-policy input AUTOQOS-SRND4-CLASSIFY-POLICY

If you entered the auto qos classify police command, the switch automatically creates class maps and policy
maps (as shown below).

Switch(config)# mls qos map policed-dscp 0 10 18 24 26 46 to 8


Switch(config)# mls qos map cos-dscp 0 8 16 24 32 46 48 56
Switch(config)# class-map match-all AUTOQOS_MULTIENHANCED_CONF_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-MULTIENHANCED-CONF
Switch(config)# class-map match-all AUTOQOS_DEFAULT_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-DEFAULT
Switch(config)# class-map match-all AUTOQOS_TRANSACTION_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-TRANSACTIONAL-DATA
Switch(config)# class-map match-all AUTOQOS_SIGNALING_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-SIGNALING
Switch(config)# class-map match-all AUTOQOS_BULK_DATA_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-BULK-DATA
Switch(config)# class-map match-all AUTOQOS_SCAVANGER_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-SCAVANGER
Switch(config)# policy-map AUTOQOS-SRND4-CLASSIFY-POLICE-POLICY
Switch(config-pmap)# class AUTOQOS_MULTIENHANCED_CONF_CLASS
Switch(config-pmap-c)# set dscp af41
Switch(config-pmap-c)# police 5000000 8000 exceed-action drop
Switch(config-pmap)# class AUTOQOS_BULK_DATA_CLASS
Switch(config-pmap-c)# set dscp af11
Switch(config-pmap-c)# police 10000000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)# class AUTOQOS_TRANSACTION_CLASS
Switch(config-pmap-c)# set dscp af21
Switch(config-pmap-c)# police 10000000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)# class AUTOQOS_SCAVANGER_CLASS
Switch(config-pmap-c)# set dscp cs1
Switch(config-pmap-c)# police 10000000 8000 exceed-action drop
Switch(config-pmap)# class AUTOQOS_SIGNALING_CLASS
Switch(config-pmap-c)# set dscp cs3
Switch(config-pmap-c)# police 32000 8000 exceed-action drop
Switch(config-pmap)# class AUTOQOS_DEFAULT_CLASS
Switch(config-pmap-c)# set dscp default
Switch(config-pmap-c)# police 10000000 8000 exceed-action policed-dscp-transmit
;
Switch(config-if)# service-policy input AUTOQOS-SRND4-CLASSIFY-POLICE-POLICY

This is the enhanced configuration for the auto qos voip cisco-phone command:

Switch(config)# mls qos map policed-dscp 0 10 18 24 26 46 to 8


Switch(config)# mls qos map cos-dscp 0 8 16 24 32 46 48 56
Switch(config)# class-map match-all AUTOQOS_VOIP_DATA_CLASS
Switch(config-cmap)# match ip dscp ef
Switch(config)# class-map match-all AUTOQOS_DEFAULT_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-DEFAULT
Switch(config)# class-map match-all AUTOQOS_VOIP_SIGNAL_CLASS
Switch(config-cmap)# match ip dscp cs3
Switch(config)# policy-map AUTOQOS-SRND4-CISCOPHONE-POLICY
Switch(config-pmap)# class AUTOQOS_VOIP_DATA_CLASS
Switch(config-pmap-c)# set dscp ef
Switch(config-pmap-c)# police 128000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)# class AUTOQOS_VOIP_SIGNAL_CLASS
Switch(config-pmap-c)# set dscp cs3
Switch(config-pmap-c)# police 32000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)# class AUTOQOS_DEFAULT_CLASS
Switch(config-pmap-c)# set dscp default
Switch(config-pmap-c)# police 10000000 8000 exceed-action policed-dscp-transmit
;
Switch(config-if)# service-policy input AUTOQOS-SRND4-CISCOPHONE-POLICY

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
132 OL-32578-01
Configuring Auto-QoS
Where to Go Next for Auto-QoS

This is the enhanced configuration for the auto qos voip cisco-softphone command:

Switch(config)# mls qos map policed-dscp 0 10 18 24 26 46 to 8


Switch(config)# mls qos map cos-dscp 0 8 16 24 32 46 48 56
Switch(config)# class-map match-all AUTOQOS_MULTIENHANCED_CONF_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-MULTIENHANCED-CONF
Switch(config)# class-map match-all AUTOQOS_VOIP_DATA_CLASS
Switch(config-cmap)# match ip dscp ef
Switch(config)# class-map match-all AUTOQOS_DEFAULT_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-DEFAULT
Switch(config)# class-map match-all AUTOQOS_TRANSACTION_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-TRANSACTIONAL-DATA
Switch(config)# class-map match-all AUTOQOS_VOIP_SIGNAL_CLASS
Switch(config-cmap)# match ip dscp cs3
Switch(config)# class-map match-all AUTOQOS_SIGNALING_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-SIGNALING
Switch(config)# class-map match-all AUTOQOS_BULK_DATA_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-BULK-DATA
Switch(config)# class-map match-all AUTOQOS_SCAVANGER_CLASS
Switch(config-cmap)# match access-group name AUTOQOS-ACL-SCAVANGER

Switch(config)# policy-map AUTOQOS-SRND4-SOFTPHONE-POLICY


Switch(config-pmap)# class AUTOQOS_VOIP_DATA_CLASS
Switch(config-pmap-c)# set dscp ef
Switch(config-pmap-c)# police 128000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)# class AUTOQOS_VOIP_SIGNAL_CLASS
Switch(config-pmap-c)# set dscp cs3
Switch(config-pmap-c)# police 32000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)#class AUTOQOS_MULTIENHANCED_CONF_CLASS
Switch(config-pmap-c)#set dscp af41
Switch(config-pmap-c)# police 5000000 8000 exceed-action drop
Switch(config-pmap)# class AUTOQOS_BULK_DATA_CLASS
Switch(config-pmap-c)# set dscp af11
Switch(config-pmap-c)# police 10000000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)# class AUTOQOS_TRANSACTION_CLASS
Switch(config-pmap-c)# set dscp af21
Switch(config-pmap-c)# police 10000000 8000 exceed-action policed-dscp-transmit
Switch(config-pmap)# class AUTOQOS_SCAVANGER_CLASS
Switch(config-pmap-c)# set dscp cs1
Switch(config-pmap-c)# police 10000000 8000 exceed-action drop
Switch(config-pmap)# class AUTOQOS_SIGNALING_CLASS
Switch(config-pmap-c)# set dscp cs3
Switch(config-pmap-c)# police 32000 8000 exceed-action drop
Switch(config-pmap)# class AUTOQOS_DEFAULT_CLASS
Switch(config-pmap-c)# set dscp default
;
Switch(config-if)# service-policy input AUTOQOS-SRND4-SOFTPHONE-POLICY

Related Topics
Enabling Auto-QoS, on page 122
Auto-QoS Overview, on page 119

Where to Go Next for Auto-QoS


Review the QoS documentation if you require any specific QoS changes to your auto-QoS configuration.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 133
Configuring Auto-QoS
Additional References

Additional References
Related Documents

Related Topic Document Title


For complete syntax and usage information for the Catalyst 2960-XR Switch Quality of Service Command
commands used in this book. Reference

Standards and RFCs

Standard/RFC Title
— —

MIBs

MIB MIBs Link


All supported MIBs for this release. To locate and download MIBs for selected platforms,
Cisco IOS releases, and feature sets, use Cisco MIB
Locator found at the following URL:
http://www.cisco.com/go/mibs

Technical Assistance

Description Link
The Cisco Support website provides extensive online http://www.cisco.com/support
resources, including documentation and tools for
troubleshooting and resolving technical issues with
Cisco products and technologies.
To receive security and technical information about
your products, you can subscribe to various services,
such as the Product Alert Tool (accessed from Field
Notices), the Cisco Technical Services Newsletter,
and Really Simple Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website
requires a Cisco.com user ID and password.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
134 OL-32578-01
Configuring Auto-QoS
Feature History and Information for Auto-QoS

Feature History and Information for Auto-QoS


Release Modification
Cisco IOS 15.0(2)EX1 This feature was introduced.

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 135
Configuring Auto-QoS
Feature History and Information for Auto-QoS

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
136 OL-32578-01
INDEX

A class maps for QoS 63, 66


configuring 63, 66
ACL 55, 57, 59, 61 classification overview 19
ACL 55 CoS 17
IPv4 55 in Layer 2 frames 17
IP extended 57 CoS output queue threshold map for QoS 33
IP standard 55 CoS-to-DSCP map for QoS 40, 83
IPv4 57
IPv6 59
Layer 2 MAC 61
ACLs 14, 22, 55 D
applying 22 default configuration 36, 120
to QoS 22 auto-QoS 120
classifying traffic for QoS 55 Differentiated Services (Diff-Serv) architecture 16
examples of 55 Differentiated Services Code Point 17
guidelines 14 DSCP 17
IP 14 DSCP maps 39
fragments and QoS guidelines 14 DSCP-to-CoS map for QoS 41
number per QoS class map 14 DSCP-to-DSCP-mutation map for QoS 89
QoS 22, 55
aggregate policers 80, 110, 111
auto-QoS 122
Auto-Qos 125 E
monitoring 125
Auto-QoS 126, 131 egress expedite queue 32
Generated Configuration For Enhanced Video, Trust, and egress queue 32, 33, 36
Classify Devices 131 egress queues 31, 34
Global Configuration 126 example 104, 105, 106, 107, 108, 113
automatic QoS 119 ACLs 105
See QoS 119 class maps 106
classifying, policing, marking traffic on physical ports 107
classifying, policing, marking traffic on SVI 108
configuring egress queue 113
B configuring port to DSCP-trusted state 104
modifying DSCP-DSCP mutation map 104
buffer allocation 32, 33 expedite queue 91
egress queues 91
SRR weights 91
C guidelines 91
expedite queue for QoS 100
CDP 49
and trusted boundary 49

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 IN-1
Index

H policers 25, 80
configuring 80
hierarchical policy maps 72 for more than one traffic class 80
configuring 72 types of 25
policing 25, 26
hierarchical 26
I See hierarchical policy maps 26
token-bucket algorithm 25
ingress queue 35 policy maps for QoS 68, 72
default configuration 35 hierarchical on SVIs 72
IP ACLs 22 configuring 72
for QoS classification 22 nonhierarchical on physical ports 68
IP phones 49 configuring 68
trusted boundary for QoS 49 prerequisites 13, 117
IP precedence 17 auto-QoS 117
IP-precedence-to-DSCP map for QoS 40, 85 QoS 13
prioritization 16

L
Q
Layer 3 packets, classification methods 17
QoS 18, 20, 22, 23, 25, 28, 29, 33, 34, 35, 40, 41, 43, 45, 47, 51, 53, 55, 63,
66, 68, 71, 72, 80, 83, 85, 86, 87, 89, 91, 94, 96, 98, 100, 102, 110,
111, 119, 120, 122, 125
M auto-QoS 120, 122, 125
mapping table 39 categorizing traffic 120
default configuration 39 disabling 125
mapping tables for QoS 28, 40, 41, 83, 85, 86, 89 effects on running configuration 122
configuring 40, 41, 83, 85, 86, 89 basic model 18
CoS-to-DSCP 40, 83 class maps 63, 66
DSCP 83 configuring 63, 66
DSCP-to-CoS 41 classification 18, 20, 22, 23, 51
DSCP-to-DSCP-mutation 89 DSCP transparency, described 51
IP-precedence-to-DSCP 40, 85 forwarding treatment 18
policed-DSCP 86 IP ACLs, described 22, 23
described 28 MAC ACLs, described 20, 23
marking 68, 80, 110, 111 options for IP traffic 20
action in policy map 68 trusted CoS, described 20
action with aggregate policers 80, 110, 111 configuring 45, 47, 53, 55, 68, 72, 80, 83, 91, 110, 111, 122
memory allocation 33 aggregate policers 80, 110, 111
monitoring 103 auto-QoS 122
default port CoS value 47
DSCP maps 83
DSCP trust states bordering another domain 53
N egress queue characteristics 91
nonhierarchical policy maps 68 IP standard ACLs 55
configuring 68 policy maps on physical ports 68
policy maps, hierarchical 72
port trust states within the domain 45
default auto configuration 120
P default configuration 35
egress queues 33, 94, 96, 98
packet modification, with QoS 34 configuring shaped weights for SRR 96
policed-DSCP map for QoS 86

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
IN-2 OL-32578-01
Index

QoS (continued) R
egress queues (continued)
configuring shared weights for SRR 98 references 133
displaying the threshold map 96 auto-QoS 133
mapping DSCP or CoS values 94
WTD, described 33
enabling globally 41 S
enabling VLAN-based on physical ports 43
implicit deny 23 scheduling 31
IP phones 119 shaped mode 34
automatic classification and queueing 119 shared mode 34
limiting bandwidth on egress interface 102 SRR 30
mapping tables 28, 40, 41, 83, 85, 86, 87, 89 described 30
CoS-to-DSCP 40, 83 shaped mode 30
DSCP-CoS 87 shared mode 30
DSCP-to-CoS 41
DSCP-to-DSCP-mutation 89
IP-precedence-to-DSCP 40, 85
policed-DSCP 86
T
types of 28 troubleshooting 125
marked-down actions 71 auto-QoS 125
packet modification 34 trust states 44
policers 25, 71 trusted boundary for QoS 49
configuring 71 trusted port states 19
types of 25 classification options 19
QoS 20
classification 20
trust DSCP, described 20
trust IP precedence, described 20 W
queues 29, 34, 100 WTD 91
high priority (expedite) 34, 100 setting thresholds 91
location of 29 egress queue sets 91
WTD, described 29
rewrites 34
QoS policy 55
queueing 31

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
OL-32578-01 IN-3
Index

QoS Configuration Guide, Cisco IOS Release 15.2(2)E (Catalyst 2960-XR Switch)
IN-4 OL-32578-01

You might also like