Guest

Cisco Catalyst 6500 Series Switches

Configuring Access Layer QoS for Voice on Cisco Catalyst 6500 with Cisco IOS SW

APPLICATION NOTE

This document creates a subset of the quality-of-service (QoS) configuration specific to deployment of a Cisco® Catalyst® 6500 running Cisco IOS® Software as an access switch in an IP Communications environment.

This information was gathered from several QoS guides available for voice and the Cisco Catalyst 6500. These guides assume that the Cisco Catalyst Operating System is running on a Cisco Catalyst 6500 used as an access switch. This document provides comparative QoS functionality for deployments using Cisco IOS® Software. The reader is encouraged to review as many other QoS documents as possible to gain a deeper understanding of how QoS pertains to a Cisco Catalyst 6500 as well as a greater understanding of Cisco Systems® recommendations for QoS in general. Note that the configuration contained herein should not be considered the only method to achieve a desired QoS result.

IMPORTANT INFORMATION REGARDING PORT QUEUING ON CISCO CATALYST 6500

Both the trust state and queue capabilities of a port are wholly module-dependent. Cisco Catalyst 6500 modules vary in their queue structures and trust support. To see the queue structure and trust capabilities of a port, issue the show interface capabilities module number command. To see how an interface is currently configured, use the show mls qos module number or show running-config commands.
The Cisco 10/100 Ethernet modules addressed herein are listed in Tables 1 and 2. These modules, while similar, differ with respect to trust capabilities and the resulting QoS configuration for voice. As of release 12.2(17d)SXB and later the 10/100 Ethernet modules in Table 1 support port trust while those in Table 2 do not. Since support for QoS functionality with these and other modules may change over time, always review the latest documentation available before deploying any configuration.

Table 1. Cisco Catalyst 6148 Series 10/100 Ethernet Modules

Module

Description

WS-X6148-RJ21

Catalyst 6500 48-Port 10/100 RJ-21 Module (Upgradable to Voice)

WS-X6148-RJ21V

Catalyst 6500 48-Port 10/100 Inline Power RJ-21 Module

WS-X6148-RJ45

Catalyst 6500 48-Port 10/100; RJ-45 Module (Upgradable to Voice)

WS-X6148-RJ45V

Catalyst 6500 48-Port 10/100 Inline Power RJ-45 Module

Table 2. Cisco Catalyst 6248 and 6348 Series 10/100 Ethernet Modules

Module

Description

WS-X6348-RJ-21

Catalyst 6000 48-Port 10/100 RJ-21 Module

WS-X6348-RJ21V

Catalyst 6000 48-Port 10/100 Inline Power RJ-21 Module

WS-X6348-RJ-45

Catalyst 6500 48-Port 10/100 RJ-45 Module (Upgradable to Voice)

WS-X6348-RJ45V

Catalyst 6500 48-Port 10/100 Inline Power RJ-45 Module

WS-X6248-RJ-45

Catalyst 6000 Family 48-port 10/100 RJ-45 module

WS-X6248-TEL

Catalyst 6000 Family 48-port 10/100 Telco (RJ-21) module

This document assumes, and is limited to, the following:

• Cisco IP Phones listed in Table 3.

Table 3. Required Cisco IP Phones with this Sample Configuration

Module

Description

CP-7910G+SW

Cisco IP Phone 7910G+SW, Global

CP-7940G

Cisco IP Phone 7940G, Global

CP-7960G

Cisco IP Phone 7960G, Global

CP-7970G

Cisco IP Phone 7970G, Global

• The Cisco IP Phone is connected to one of the 10/100 Ethernet modules in Tables 1 or 2.

• The supervisor is running Cisco IOS Software Release 12.2(17d)SXB or greater.

CONFIGURATION OVERVIEW

This sample configuration implements one of several methods to provide QoS at the access layer of an IP Communications deployment. Specifically this configuration is limited to a "full trust" policy on the switch interface. The "full trust" policy assumes a Cisco IP Phone (from Table 3) will be connected to the port to which this policy is applied, as the IP phone is responsible for remarking the PC traffic to CoS = 0. If a PC is instead directly connected to an interface with "full trust" policy, and its traffic is untagged, the switch marks the traffic CoS = 0. However, if the directly connected PC is marking its traffic with a CoS value, the switch accepts it because the port is configured to trust any received CoS. A "conditional trust" policy may be used as an alternative to reduce this possible risk. Though supported on several other Cisco Catalyst switch platforms, Cisco IOS Software for the Cisco Catalyst 6500 does not currently support the mls qos trust device cisco-phone command, which is the simplest method to implement a "conditional-trust" policy. Please see other Cisco documentation for more information regarding "conditional trust" policy configuration.
For the Cisco Catalyst 6500 to act as an access switch for a Cisco 7940/7960/7970 IP phone + PC, using a "full trust" policy, the following is required:
1. Enable switchwide QoS.
2. Configure interfaces used for IP phones:

• Enable trust so the switch accepts the phone class-of-service (CoS) markings.

• Extend the trust boundary to the access port on the IP phone and mark PC traffic as CoS = 0.

• Enable input queue scheduling.

• Configure CoS-to-queue mapping.

• Configure output scheduling.

• Configure CoS-to-differentiated services code point (DSCP) mapping.

• Optionally configure a policy for additional application traffic marking or policing (not covered).

3. Configure the uplink interfaces to the distribution switch:

• Enable trust to accept markings from the distribution switch. This can be either CoS or DSCP trust.

• Enable input queue scheduling.

• Configure CoS-to-queue mapping.

• Configure output scheduling.

• Verify and configure CoS-to-DSCP mapping.

• Optionally configure a policy for additional application traffic marking or policing (not covered).

ENABLING QoS ON THE SWITCH

To enable QoS on the access layer Cisco Catalyst 6500, do the following:
Enable switchwide QoS:
6509-Access(config)#mls qos

CONFIGURING AN INTERFACE FOR IP PHONE + PC

As stated previously, the access port configuration depends on the module in use. All of the 10/100 Ethernet series modules in Tables 1 and 2 have 1Q4T receive and 2Q2T transmit queue architectures. For modules in Table 1 the port is configured to trust the IP phone and not to trust the PC attached to the phone. For modules in Table 2 a workaround is used because these modules are unable to "trust" the CoS of incoming traffic. The workaround consists of using an access-control-list (ACL) policy to retain the CoS of the traffic. An access port also is configured to use output scheduling through multiple transmit queues.
To configure the interface for a module in Table 1,do the following:

Step 1. Select a port to configure.

6509-Access(config)#interface fastethernet 5/1

Step 2. Configure the port as a Layer 2 port in the access mode.

6509-Access(config-if)#switchport
6509-Access(config-if)#switchport mode access

Step 3. Define the voice VLAN.

6509-Access(config-if)#switchport voice vlan 111

Step 4. Define the data VLAN.

6509-Access(config-if)#switchport access vlan 11

Step 5. Configure the port as a host port.

6509-Access(config-if)#spanning-tree portfast

Step 6. Enable inline power.

6509-Access(config-if)#power inline auto

Step 7. Accept the incoming Layer 2 CoS. This lets the switch accept the phone marking of voice traffic at CoS = 5 and voice control traffic at CoS = 3 and enables input scheduling.

6509-Access(config-if)#mls qos trust cos

Step 8. Instruct the IP phone to rewrite the PC traffic to CoS = 0.

6509-Access(config-if)#mls qos trust extend cos 0

Step 9. Place CoS = 1 in queue 1 threshold 1.

6509-Access(config-if)#wrr-queue cos-map 1 1 1

Step 10. Place CoS = 0 in queue 1 threshold 2.

6509-Access(config-if)#wrr-queue cos-map 1 2 0

Step 11. Place CoS = 2, 3, 4, 6, and 7 in queue 2 threshold 1.

6509-Access(config-if)#wrr-queue cos-map 2 1 2 3 4 6 7

Step 12. Place CoS = 5 in queue 2 threshold 2.

6509-Access(config-if)#wrr-queue cos-map 2 2 5

Step 13. Modify the CoS-to-DSCP mapping. The recommended settings are DSCP = CS3 (24) for voice-over-IP (VoIP) control and DSCP = EF (46) for VoIP media traffic. To map the Layer 2 CoS correctly to these DSCP values, you must modify the switch default CoS-to-DSCP mappings. All CoS are shown though only 0, 3, and 5 are directly related to IPT.

6509-Access(config)#mls qos map cos-dscp 0 8 16 24 32 46 48 54

Note: CoS 3 and 5 are the 4th and 6th values, respectively.

To configure an interface on the modules listed in Table 2 do Steps 1 through 13 plus configure the following additional commands:

Step 1. Create an access list to match all traffic.

6509-Access(config)#access-list 100 permit ip any any

Step 2. Create a class for this traffic.

6509-Access(config)#class-map TRUST_COS_CLASS
6509-Access(config-cmap)#match access-group 100
6509-Access(config-cmap)#exit

Step 3. Create a policy to trust the CoS for the traffic in the class.

6509-Access(config)#policy-map TRUST_COS_POLICY
6509-Access(config-pmap)#class TRUST_COS_CLASS
6509-Access(config-pmap-c)#trust cos
6509-Access(config-pmap-c)#exit

Step 4. Apply the policy to the interface.

6509-Access(config)#int fa5/1
6509-Access(config-if)#service-policy input TRUST_COS_POLICY

CONFIGURING THE UPLINK TO THE DISTRIBUTION SWITCH

After you configure the access port queuing, you must also configure the uplink interfaces to the distribution, or core, switch. This involves enabling trust for Ethernet frames coming into the trunk port, enabling output scheduling, and manipulating the CoS-to-queue mapping entrance criteria, mapping the CoS values to the appropriate DSCP value.
This section includes information for two of the six types of queue structures: 1P2Q2T and 2Q2T.

Configuring an Uplink Port

Step 1. Accept incoming DSCP markings if incoming traffic is known to be properly marked at Layer 3. This is the preferred method.

6509-Access(config-if)#mls qos trust dscp
Alternate Step 1. Accept incoming CoS markings if incoming traffic is known to be properly marked at Layer 2 only.
6509-Access(config-if)#mls qos trust cos
Optional Step 2 (required when trusting CoS) Verify CoS-to-DSCP mapping. This should have been set in Step 10 in the interface configuration. Map CoS = 5 to DSCP = EF (46) and CoS = 3 to DSCP = CS3 (24).
6509-Access(config)#mls qos map cos-dscp 0 8 16 24 32 46 48 54

Configuring Transmit Queues

All CoS = 5 traffic (VoIP media) is placed into the egress interface priority queue on 1P2Q2T interfaces and queue 2 threshold 2 on 2Q2T interfaces by default upon enabling switchwide QoS. To follow QoS best practices, additional configuration of the CoS queue admission rules is needed to ensure that all other CoS traffic, and most importantly CoS = 3 (VoIP control), is placed into the correct queue. Separate configurations follow for 1P2Q2T and 2Q2T interfaces. For configuration of different interface queue structures, refer to other Cisco Catalyst 6500 QoS documentation.

Configuring 1P2Q2T Transmit Queue

Step 1. (for 1P2Q2T) Place CoS = 1 in queue 1 threshold 1.

6509-Access(config-if)#wrr-queue cos-map 1 1 1

Step 2. (for 1P2Q2T) Place CoS = 0 in queue 1 threshold 2.

6509-Access(config-if)#wrr-queue cos-map 1 2 0

Step 3. (for 1P2Q2T) Place CoS = 2, 3, and 4 in queue 2 threshold 1.

6509-Access(config-if)#wrr-queue cos-map 2 1 2 3 4

Step 4. (for 1P2Q2T) Place CoS = 6 and 7 in queue 2 threshold 2.

6509-Access(config-if)#wrr-queue cos-map 2 2 6 7

Step 5. (for 1P2Q2T) Place CoS = 5 in the priority queue.

6509-Access(config-if)#priority-queue cos-map 1 5

Step 6. (for 1P2Q2T) Set the buffer allocations to 40 percent for Q1 and 30 percent for Q2, a process that indirectly sets the priority queue (Q3) size to equal Q2.

6509-Access(config-if)#wrr-queue queue-limit 40 30

Step 7. (for 1P2Q2T) Set the weighted-round-robin (WRR) weights for 30:70 (Q1:Q2) bandwidth servicing.

6509-Access(config-if)#wrr-queue bandwidth 30 70

Step 8. (for 1P2Q2T) Set minimum Weighted Random Early Detection (WRED) thresholds for Q1T1 and Q1T2 to 40 and 80, respectively.

6509-Access(config-if)#wrr-queue random-detect min-threshold 1 40 80

Step 9. (for 1P2Q2T) Set maximum WRED thresholds for Q1T1 and Q1T2 to 80 and 100, respectively.

6509-Access(config-if)#wrr-queue random-detect max-threshold 1 80 100

Step 10. (for 1P2Q2T) Set minimum WRED thresholds for Q2T1 and Q2T2 to 70 and 80, respectively.

6509-Access(config-if)#wrr-queue random-detect min-threshold 2 70 80

Step 11. (for 1P2Q2T) Set maximum WRED thresholds for Q2T1 and Q2T2 to 80 and 100, respectively.

6509-Access(config-if)#wrr-queue random-detect max-threshold 2 80 100

Configuring 2Q2T Transmit Queue

Step 1. (for 2Q2T) Place CoS = 1 in queue 1 threshold 1.

6509-Access(config-if)#wrr-queue cos-map 1 1 1

Step 2. (for 2Q2T) Place CoS = 0 in queue 1 threshold 2.

6509-Access(config-if)#wrr-queue cos-map 1 2 0

Step 3. (for 2Q2T) Place CoS = 2, 3, 4, 6, and 7 in queue 2 threshold 1.

6509-Access(config-if)#wrr-queue cos-map 2 1 2 3 4 6 7

Step 4. (for 2Q2T) Place CoS = 5 in queue 2 threshold 2.

6509-Access(config-if)#wrr-queue cos-map 2 2 5

Step 5. (for 2Q2T) Set the queue 1 threshold 1 to a 40-percent limit.

6509-Access(config-if)#wrr-queue threshold 1 40 100

Step 6. (for 2Q2T) Set the queue 2 threshold 1 to an 80-percent limit.

6509-Access(config-if)#wrr-queue threshold 2 80 100

Step 7. (for 2Q2T) Set the buffer allocations to 30 percent for Q1 and 70 percent for Q2.

6509-Access(config-if)#wrr-queue queue-limit 30 70

Step 8. (for 2Q2T) Set the WRR weights for 30:70 (Q1:Q2) bandwidth servicing.

6509-Access(config-if)#wrr-queue bandwidth 30 70

SAMPLE CONFIGURATION

This section lists the commands discussed previously as a sample configuration. The IP phone is connected to a WS-X6148-RJ45V module and the uplink port is on a WS-X6408A module.
mls qos
mls qos map cos-dscp 0 8 16 24 32 46 48 54
interface fastethernet 5/1
switchport mode access
switchport voice vlan 111
switchport access vlan 11
spanning-tree portfast
power inline auto
mls qos trust cos
mls qos trust extend cos 0
wrr-queue cos-map 1 1 1
wrr-queue cos-map 1 2 0
wrr-queue cos-map 2 1 2 3 4 6 7
wrr-queue cos-map 2 2 5
interface gi1/1
mls qos trust dscp
wrr-queue cos-map 1 1 1
wrr-queue cos-map 1 2 0
wrr-queue cos-map 2 1 2 3 4
wrr-queue cos-map 2 2 6 7
priority-queue cos-map 1 5
wrr-queue queue-limit 40 30
wrr-queue bandwidth 30 70
wrr-queue random-detect min-threshold 1 40 80
wrr-queue random-detect max-threshold 1 80 100
wrr-queue random-detect min-threshold 2 70 80
wrr-queue random-detect max-threshold 2 80 100

ADDITIONAL RESOURCES

The following resources are instrumental to understanding and applying QoS in Cisco Catalyst 6500 switches:

• Quality of Service Solution Reference Network Design Guide (SRND) on Cisco.com: Go to http://www.cisco.com/go/srnd and select "Quality of Service SRND."

• "Configuring PFC QoS" chapter of the Cisco Catalyst 6500 with Cisco IOS Software Configuration Guide: http://www.cisco.com/univercd/cc/td/doc/product/lan/cat6000/122sx/swcg/qos.htm

• QoS Classification and Marking on Cisco Catalyst 6000 Family Switches Running in Cisco Integrated IOS Software (Native Mode): http://www.cisco.com/en/US/partner/products/hw/switches/ps700/products_tech_note09186a008014a29f.shtml (requires registered access)

• QoS Output Scheduling on Cisco Catalyst 6500/6000 Series Switches Running Cisco IOS System Software: http://www.cisco.com/en/US/partner/products/hw/switches/ps700/products_tech_note09186a008015bf98.shtml (requires registered access)

Text Box:  Corporate HeadquartersCisco Systems, Inc.170 West Tasman DriveSan Jose, CA 95134-1706USAwww.cisco.comTel:   408 526-4000    800 553-NETS (6387)Fax: 408 526-4100    European HeadquartersCisco Systems International BVHaarlerbergparkHaarlerbergweg 13-191101 CH AmsterdamThe Netherlandswww-europe.cisco.comTel:  31 0 20 357 1000Fax:    31 0 20 357 1100    Americas HeadquartersCisco Systems, Inc.170 West Tasman DriveSan Jose, CA 95134-1706USAwww.cisco.comTel:    408 526-7660Fax:    408 527-0883    Asia Pacific HeadquartersCisco Systems, Inc.168 Robinson Road#28-01 Capital TowerSingapore 068912www.cisco.comTel: +65 6317 7777Fax: +65 6317 7799Cisco Systems has more than 200 offices in the following countries and regions. Addresses, phone numbers, and fax numbers are listed onthe Cisco Website at www.cisco.com/go/offices.Argentina · Australia · Austria · Belgium · Brazil · Bulgaria · Canada · Chile · China PRC · Colombia · Costa Rica · Croatia · Cyprus · Czech Republic Denmark · Dubai, UAE · Finland · France · Germany · Greece · Hong Kong SAR · Hungary · India · Indonesia · Ireland · Israel · Italy · Japan · Korea Luxembourg · Malaysia · Mexico · The Netherlands · New Zealand · Norway · Peru · Philippines · Poland · Portugal · Puerto Rico · Romania · Russia Saudi Arabia · Scotland · Singapore · Slovakia · Slovenia · South Africa · Spain · Sweden · Switzerland · Taiwan · Thailand · Turkey · Ukraine United Kingdom · United States · Venezuela · Vietnam · ZimbabweCopyright  2005 Cisco Systems, Inc. All rights reserved. Cisco, Cisco Systems, and the Cisco Systems logo, and VCO are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.All other trademarks mentioned in this document or Website 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. (0501R) 204189.j_ETMG_JR_1.05Printed in the USA Text Box:  Corporate HeadquartersCisco Systems, Inc.170 West Tasman DriveSan Jose, CA 95134-1706USAwww.cisco.comTel:    408 526-4000    800 553-NETS (6387)Fax: 408 526-4100    European HeadquartersCisco Systems International BVHaarlerbergparkHaarlerbergweg 13-191101 CH AmsterdamThe Netherlandswww-europe.cisco.comTel:  31 0 20 357 1000Fax:    31 0 20 357 1100    Americas HeadquartersCisco Systems, Inc.170 West Tasman DriveSan Jose, CA 95134-1706USAwww.cisco.comTel:    408 526-7660Fax:    408 527-0883    Asia Pacific HeadquartersCisco Systems, Inc.168 Robinson Road#28-01 Capital TowerSingapore 068912www.cisco.comTel: +65 6317 7777Fax: +65 6317 7799Cisco Systems has more than 200 offices in the following countries and regions. Addresses, phone numbers, and fax numbers are listed onthe Cisco Website at www.cisco.com/go/offices.Argentina · Australia · Austria · Belgium · Brazil · Bulgaria · Canada · Chile · China PRC · Colombia · Costa Rica · Croatia · Cyprus · Czech Republic Denmark · Dubai, UAE · Finland · France · Germany · Greece · Hong Kong SAR · Hungary · India · Indonesia · Ireland · Israel · Italy · Japan · Korea Luxembourg · Malaysia · Mexico · The Netherlands · New Zealand · Norway · Peru · Philippines · Poland · Portugal · Puerto Rico · Romania · Russia Saudi Arabia · Scotland · Singapore · Slovakia · Slovenia · South Africa · Spain · Sweden · Switzerland · Taiwan · Thailand · Turkey · Ukraine United Kingdom · United States · Venezuela · Vietnam · ZimbabweCopyright  2005 Cisco Systems, Inc. All rights reserved. Cisco, Cisco Systems, and the Cisco Systems logo, and VCO are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.All other trademarks mentioned in this document or Website 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. (0501R) 204189.j_ETMG_JR_1.05Printed in the USA