Cisco6500series 3
Cisco6500series 3
Corporate 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 526-4100
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.
CCIP, the Cisco Arrow logo, the Cisco Powered Network mark, the Cisco Systems Verified logo, Cisco Unity, Follow Me Browsing, FormShare, iQ Breakthrough, iQ
Expertise, iQ FastTrack, the iQ Logo, iQ Net Readiness Scorecard, Networking Academy, ScriptShare, SMARTnet, TransPath, and Voice LAN are trademarks of Cisco
Systems, Inc.; Changing the Way We Work, Live, Play, and Learn, Discover All That’s Possible, The Fastest Way to Increase Your Internet Quotient, and iQuick Study are
service marks of Cisco Systems, Inc.; and Aironet, ASIST, BPX, Catalyst, CCDA, CCDP, CCIE, CCNA, CCNP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco
IOS, the Cisco IOS logo, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Empowering the Internet Generation, Enterprise/Solver, EtherChannel,
EtherSwitch, Fast Step, GigaStack, Internet Quotient, IOS, IP/TV, LightStream, MGX, MICA, the Networkers logo, Network Registrar, Packet, PIX, Post-Routing,
Pre-Routing, RateMUX, Registrar, SlideCast, StrataView Plus, Stratm, SwitchProbe, TeleRouter, and VCO are registered trademarks of Cisco Systems, Inc. and/or its
affiliates in the U.S. and certain other countries.
All other trademarks mentioned in this document or Web site 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. (0208R)
Preface 27
Audience 27
Organization 27
Related Documentation 29
Conventions 30
Obtaining Documentation 31
Cisco.com 31
Documentation CD-ROM 31
Ordering Documentation 31
Documentation Feedback 32
Obtaining Technical Assistance 32
Cisco.com 32
Technical Assistance Center 32
Obtaining Additional Publications and Information 34
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 3
Contents
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
4 78-13315-02
Contents
Configuring EtherChannel 5
Configuring an EtherChannel 5
Setting the EtherChannel Port Mode 5
Setting the EtherChannel Port Path Cost 6
Setting the EtherChannel VLAN Cost 6
Configuring EtherChannel Frame Distribution 8
Displaying EtherChannel Traffic Utilization 8
Displaying Outgoing Ports for a Specified Address or Layer 4 Port Number 8
Disabling an EtherChannel 9
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 5
Contents
Using PVST+ 15
Default PVST+ Configuration 15
Setting the PVST+ Bridge ID Priority 16
Configuring the PVST+ Port Cost 17
Configuring the PVST+ Port Priority 18
Configuring the PVST+ Default Port Cost Mode 18
Configuring the PVST+ Port Cost for a VLAN 19
Configuring the PVST+ Port Priority for a VLAN 20
Disabling the PVST+ Mode on a VLAN 20
Using MISTP-PVST+ or MISTP 22
Default MISTP and MISTP-PVST+ Configuration 23
Setting MISTP-PVST+ Mode or MISTP Mode 23
Configuring an MISTP Instance 25
Enabling an MISTP Instance 28
Mapping VLANs to an MISTP Instance 29
Disabling MISTP-PVST+ or MISTP 31
Configuring a Root Switch 31
Configuring a Primary Root Switch 31
Configuring a Secondary Root Switch 32
Configuring a Root Switch to Improve Convergence 33
Using Root Guard—Preventing Switches from Becoming Root 34
CHAPTER 9 Configuring Spanning Tree PortFast, UplinkFast, BackboneFast, and Loop Guard 1
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
6 78-13315-02
Contents
Configuring PortFast 7
Enabling PortFast 8
Disabling PortFast 8
Configuring PortFast BPDU Guard 9
Enabling PortFast BPDU Guard 9
Disabling PortFast BPDU Guard 10
Configuring PortFast BPDU Filter 11
Enabling PortFast BPDU Filter 11
Disabling PortFast BPDU Filter 12
Configuring UplinkFast 13
Enabling UplinkFast 13
Disabling UplinkFast 14
Configuring BackboneFast 15
Enabling BackboneFast 15
Displaying BackboneFast Statistics 16
Disabling BackboneFast 16
Configuring Loop Guard 17
Enabling Loop Guard 17
Disabling Loop Guard 17
Configuring VTP 6
Configuring a VTP Server 6
Configuring a VTP Client 6
Disabling VTP (VTP Transparent Mode) 7
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 7
Contents
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
8 78-13315-02
Contents
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 9
Contents
Configuring NDE 3
Usage Guidelines 4
Specifying an NDE Collector 4
Specifying an NDE Destination Address on the MSFC 5
Specifying an NDE Source Address on the MSFC 5
Enabling NDE 6
Specifying a Destination Host Filter 6
Specifying a Destination and Source Subnet Filter 6
Specifying a Destination TCP/UDP Port Filter 7
Specifying a Source Host and Destination TCP/UDP Port Filter 7
Specifying a Protocol Filter 8
Specifying Protocols for Statistics Collection 8
Removing Protocols for Statistics Collection 8
Clearing the NDE Flow Filter 9
Disabling NDE 9
Removing the NDE IP Address 9
Displaying the NDE Configuration 10
Hardware Requirements 2
Supported ACLs 2
QoS ACLs 2
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
10 78-13315-02
Contents
Configuring VACLs 28
VACL Configuration Guidelines 28
VACL Configuration Summary 29
Configuring VACLs From the CLI 29
Configuring and Storing VACLs and QoS ACLs in Flash Memory 42
Automatically Moving the VACL and QoS ACL Configuration to Flash Memory 43
Manually Moving the VACL and QoS ACL Configuration to Flash Memory 44
Running with the VACL and QoS ACL Configuration in Flash Memory 45
Moving the VACL and QoS ACL Configuration Back to NVRAM 46
Redundancy Synchronization Support 46
Interacting with High Availability 46
Configuring Policy-Based Forwarding 46
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 11
Contents
Configuring GVRP 2
Enabling GVRP Globally 3
Enabling GVRP on Individual 802.1Q Trunk Ports 3
Enabling GVRP Dynamic VLAN Creation 4
Configuring GVRP Registration 5
Configuring GVRP VLAN Declarations from Blocking Ports 6
Setting the GARP Timers 7
Displaying GVRP Statistics 8
Clearing GVRP Statistics 8
Disabling GVRP on Individual 802.1Q Trunk Ports 8
Disabling GVRP Globally 9
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
12 78-13315-02
Contents
Using Telnet 4
Using Ping 7
Understanding How Ping Works 7
Executing Ping 8
Using Layer 2 Traceroute 9
Layer 2 Traceroute Usage Guidelines 9
Identifying a Layer 2 Path 10
Using IP Traceroute 10
Understanding How IP Traceroute Works 10
Executing IP Traceroute 11
Defining IP Aliases 6
Power Management 11
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 13
Contents
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
14 78-13315-02
Contents
Authorization Example 55
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 15
Contents
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
16 78-13315-02
Contents
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 17
Contents
Configuring DNS 2
Setting Up and Enabling DNS 2
Clearing a DNS Server 3
Clearing the DNS Domain Name 3
Disabling DNS 3
Configuring CDP 2
Setting the CDP Global Enable and Disable States 2
Setting the CDP Enable and Disable States on a Port 3
Setting the CDP Message Interval 4
Setting the CDP Holdtime 4
Displaying CDP Neighbor Information 5
Configuring UDLD 3
Enabling UDLD Globally 3
Enabling UDLD on Individual Ports 3
Disabling UDLD on Individual Ports 4
Disabling UDLD Globally 4
Specifying the UDLD Message Interval 4
Enabling UDLD Aggressive Mode 5
Displaying the UDLD Configuration 5
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
18 78-13315-02
Contents
Configuring NTP 2
Enabling NTP in Broadcast-Client Mode 3
Configuring NTP in Client Mode 3
Configuring Authentication in Client Mode 4
Setting the Time Zone 5
Enabling the Daylight Saving Time Adjustment 5
Disabling the Daylight Saving Time Adjustment 7
Clearing the Time Zone 7
Clearing NTP Servers 7
Disabling NTP 8
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 19
Contents
SNMP Terminology 1
Understanding SNMP 3
Security Models and Levels 4
SNMP ifindex Persistence Feature 5
Enabling RMON 2
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
20 78-13315-02
Contents
Configuring SPAN 5
SPAN Hardware Requirements 5
Understanding How SPAN Works 5
SPAN Configuration Guidelines 6
Configuring SPAN from the CLI 7
Configuring RSPAN 8
RSPAN Hardware Requirements 9
Understanding How RSPAN Works 9
RSPAN Configuration Guidelines 10
Configuring RSPAN 11
RSPAN Configuration Examples 14
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 21
Contents
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
22 78-13315-02
Contents
Configuring QoS 30
Enabling QoS 31
Enabling Port-Based or VLAN-Based QoS 32
Configuring the Trust State of a Port 32
Configuring the CoS Value for a Port 33
Creating Policing Rules 34
Deleting Policing Rules 36
Creating or Modifying ACLs 37
Attaching ACLs to Interfaces 46
Detaching ACLs from Interfaces 46
Mapping a CoS Value to a Host Destination MAC Address/VLAN Pair 47
Deleting a CoS Value to a Host Destination MAC Address/VLAN Pair 47
Enabling or Disabling Microflow Policing of Bridged Traffic 48
Configuring Standard Receive-Queue Tail-Drop Thresholds 48
Configuring 2q2t Port Standard Transmit-Queue Tail-Drop Thresholds 49
Configuring Standard Transmit-Queue WRED-Drop Thresholds 49
Allocating Bandwidth Between Standard Transmit Queues 50
Configuring the Receive-Queue Size Ratio 51
Configuring the Transmit-Queue Size Ratio 51
Mapping CoS Values to Drop Thresholds 52
Configuring DSCP Value Maps 55
Displaying QoS Information 58
Displaying QoS Statistics 59
Reverting to QoS Defaults 60
Disabling QoS 60
Configuring COPS Support 60
Configuring RSVP Support 66
Configuring QoS Statistics Data Export 70
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 23
Contents
Cabling Guidelines 7
Configuring ASLB 7
Configuring the LocalDirector Interfaces 7
ASLB Configuration Guidelines 8
Configuring ASLB from the CLI 11
ASLB Configuration Example 19
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
24 78-13315-02
Contents
INDEX
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
78-13315-02 25
Contents
Catalyst 6000 Family Software Configuration Guide, Releases 6.3 and 6.4
26 78-13315-02
Preface
This preface describes who should read the Catalyst 6000 Family Software Configuration Guide, how it
is organized, and its document conventions.
Audience
This publication is for experienced network administrators who are responsible for configuring and
maintaining Catalyst 6000 family switches.
Organization
Note This publication includes the information that previously was in the Catalyst 6000 Family Multilayer
Switch Feature Card (12.x) and Policy Feature Card Configuration Guide.
Related Documentation
The following publications are available for the Catalyst 6000 family switches:
• Catalyst 6000 Family Module Installation Guide
• Catalyst 6000 Family Command Reference
• ATM Software Configuration and Command Reference—Catalyst 5000 Family and
Catalyst 6000 Family Switches
• System Message Guide—Catalyst 6000 Family, Catalyst 5000 Family, and Catalyst 4000 Family,
Catalyst 2948G, and Catalyst 2980G
• Release Notes for Catalyst 6000 Family Software Release 6.x
• Cisco IOS Configuration Guides and Command References—Use these publications to help you
configure the Cisco IOS software that runs on the MSFC, MSM, and ATM modules.
• For information about MIBs, refer to
http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml
Conventions
Note Throughout this publication, except where noted, the term supervisor engine is used to refer to both
Supervisor Engine 1 and Supervisor Engine 2.
Convention Description
boldface font Commands, command options, and keywords are in
boldface.
italic font Arguments for which you supply values are in italics.
[ ] Elements in square brackets are optional.
{x|y|z} Alternative keywords are grouped in braces and separated by
vertical bars.
[x|y|z] Optional alternative keywords are grouped in brackets and
separated by vertical bars.
string A nonquoted set of characters. Do not use quotation marks
around the string or the string will include the quotation
marks.
screen font Terminal sessions and information the system displays are in
screenfont.
boldface screen Information you must enter is in boldface screen font.
font
italic screen font Arguments for which you supply values are in italic screen
font.
This pointer highlights an important line of text in
an example.
Note Means reader take note. Notes contain helpful suggestions or references to material not covered in
the publication.
Caution Means reader be careful. In this situation, you might do something that could result in equipment
damage or loss of data.
Obtaining Documentation
Cisco provides several ways to obtain documentation, technical assistance, and other technical
resources. These sections explain how to obtain technical information from Cisco Systems.
Cisco.com
You can access the most current Cisco documentation on the World Wide Web at this URL:
http://www.cisco.com/univercd/home/home.htm
You can access the Cisco website at this URL:
http://www.cisco.com
International Cisco web sites can be accessed from this URL:
http://www.cisco.com/public/countries_languages.shtml
Documentation CD-ROM
Cisco documentation and additional literature are available in a Cisco Documentation CD-ROM
package, which may have shipped with your product. The Documentation CD-ROM is updated monthly
and may be more current than printed documentation. The CD-ROM package is available as a single unit
or through an annual subscription.
Registered Cisco.com users can order the Documentation CD-ROM (product number
DOC-CONDOCCD=) through the online Subscription Store:
http://www.cisco.com/go/subscription
Ordering Documentation
You can find instructions for ordering documentation at this URL:
http://www.cisco.com/univercd/cc/td/doc/es_inpck/pdi.htm
You can order Cisco documentation in these ways:
• Registered Cisco.com users (Cisco direct customers) can order Cisco product documentation from
the Networking Products MarketPlace:
http://www.cisco.com/en/US/partner/ordering/index.shtml
• Registered Cisco.com users can order the Documentation CD-ROM (Customer Order Number
DOC-CONDOCCD=) through the online Subscription Store:
http://www.cisco.com/go/subscription
• Nonregistered Cisco.com users can order documentation through a local account representative by
calling Cisco Systems Corporate Headquarters (California, U.S.A.) at 408 526-7208 or, elsewhere
in North America, by calling 800 553-NETS (6387).
Documentation Feedback
You can submit comments electronically on Cisco.com. On the Cisco Documentation home page, click
Feedback at the top of the page.
You can e-mail your comments to [email protected].
You can submit your comments by mail by using the response card behind the front cover of your
document or by writing to the following address:
Cisco Systems
Attn: Customer Document Ordering
170 West Tasman Drive
San Jose, CA 95134-9883
We appreciate your comments.
Cisco.com
Cisco.com offers a suite of interactive, networked services that let you access Cisco information,
networking solutions, services, programs, and resources at any time, from anywhere in the world.
Cisco.com provides a broad range of features and services to help you with these tasks:
• Streamline business processes and improve productivity
• Resolve technical issues with online support
• Download and test software packages
• Order Cisco learning materials and merchandise
• Register for online skill assessment, training, and certification programs
To obtain customized information and service, you can self-register on Cisco.com at this URL:
http://www.cisco.com
Note The Switch Fabric Module is supported only in Catalyst 6500 series switches.
Refer to the Release Notes for Catalyst 6000 Family Software Release 6.x publication for complete
information about the chassis, modules, software features, protocols, and MIBs supported by the
Catalyst 6000 family switches.
Note This publication includes the information that previously was in the Catalyst 6000 Family Multilayer
Switch Feature Card (12.x) and Policy Feature Card Configuration Guide.
This chapter describes the command-line interface (CLI) you use to configure the Catalyst 6000 family
switches and Ethernet modules. For descriptions of all switch and ROM monitor commands, refer to the
Catalyst 6000 Family Command Reference publication.
Note For a description of the ATM Cisco IOS CLI and commands, refer to the ATM Software
Configuration Guide and Command Reference—Catalyst 5000 Family and 6000 Family Switches
publication. For a description of the Multilayer Switch Module (MSM) IOS CLI and commands,
refer to the Multilayer Switch Module Installation and Configuration Note.
Note The Break key is always enabled for 60 seconds after rebooting the system, regardless of whether the
Break key is configured to be off by configuration register settings.
To access the ROM monitor through a terminal server, you can escape to the Telnet prompt and enter
the send break command for your terminal emulation program to break into ROM-monitor mode.
Once you are in ROM-monitor mode, the prompt changes to rommon>. Use the ? command to see the
available ROM-monitor commands.
To access the switch CLI through the console port, you must connect a console terminal to the console
port through an EIA/TIA-232 (RS-232) cable.
Note For complete information on how to connect to the supervisor engine console port, refer to the
hardware documentation for your switch.
To access the switch through the console port, perform this task:
Task Command
Step 1 Initiate a connection from the terminal to the —
switch console prompt and press Return.
Step 2 At the prompt, enter the system password. The —
Console> prompt appears, indicating that you
have accessed the CLI in normal mode.
Step 3 If necessary, enter privileged mode (you must enable
enter privileged mode to change the switch
configuration).
Step 4 Enter the necessary commands to complete the —
desired tasks.
Step 5 When finished, exit the session. exit
After accessing the switch through the console port, you see this display:
Cisco Systems Console
Enter password:
Console>
Before you can open a Telnet session to the switch, you must first set the IP address for the switch. For
information about setting the IP address, see the “Assigning the In-Band (sc0) Interface IP Address”
section on page 3-5. Up to eight simultaneous Telnet sessions are supported. Telnet sessions disconnect
automatically after remaining idle for a set time period.
To access the switch CLI from a remote host using Telnet, perform this task:
Task Command
Step 1 From the remote host, enter the telnet command telnet {hostname | ip_addr}
and the name or IP address of the switch you want
to access.
Step 2 At the prompt, enter the password for the CLI. If —
no password has been configured, press Return.
Step 3 Enter the necessary commands to complete your —
desired tasks.
Step 4 When finished, exit the Telnet session. exit
Enter password:
Catalyst_1>
You can enter the switch console command to access the MSFC from the switch CLI directly connected
to the supervisor engine console port. To exit from the MSFC CLI and return to the switch CLI, enter
^C^C^C at the Router> prompt.
To access the MSFC from the switch CLI, perform this task:
Task Command
Access the MSFC from the switch CLI. switch console [mod]1
1. The mod keyword specifies the module number of the MSFC; either 15 (if the MSFC is installed on the supervisor engine in
slot 1) or 16 (if the MSFC is installed on the supervisor engine in slot 2). If no module number is specified, the console will
switch to the MSFC on the active supervisor engine.
Note To access the Cisco IOS CLI on the standby MSFC, connect to the console port of the standby
supervisor engine.
This example shows how to access the active MSFC from the switch CLI from the active supervisor
engine, and how to exit the MSFC CLI and return to the switch CLI:
Console> (enable) switch console 15
Trying Router-15...
Connected to Router-15.
Type ^C^C^C to switch back...
Router> ^C^C^C
Console> (enable)
You can enter the session mod command to access the MSFC from the switch CLI using a Telnet session.
To exit from the MSFC CLI back to the switch CLI, enter the exit command at the Router> prompt.
Note The supervisor engine software sees the MSFC as module 15 (when installed on a supervisor engine
in slot 1) or module 16 (when installed on a supervisor engine in slot 2).
This example shows how to access the MSFC from the switch CLI, and how to exit the MSFC CLI and
return to the switch CLI:
Console> (enable) session 15
Router> exit
Console> (enable)
The switch CLI supports two modes of operation: normal and privileged. Both modes are password
protected. Enter normal-mode commands for everyday system monitoring. Enter privileged-mode
commands to configure the system and perform basic troubleshooting.
After you log in, the system enters normal mode automatically, which gives you access to normal-mode
commands only. You can access privileged mode by entering the enable command followed by the
privileged-mode password. To return to normal mode, enter the disable command at the prompt.
This example shows how to enter privileged mode:
Console> enable
Enter Password: <password>
Console> (enable)
Switch commands are not case sensitive. You can abbreviate commands and parameters as long as they
contain enough letters to be distinguished from any other currently available commands or parameters.
Catalyst 6000 family switches are multimodule systems. Commands you enter from the CLI might apply
to the entire system or to a specific module, port, or VLAN.
Modules, ports, and VLANs are numbered starting with 1. The supervisor engine is module 1, residing
in slot 1. If your switch has a redundant supervisor engine, the supervisor engines reside in slots 1 and 2.
To designate a specific module, use the module number.
Port 1 is always the left-most port. To designate a specific port on a specific module, the command
syntax is mod/port. For example, 3/1 denotes module 3, port 1. In some commands, such as set trunk
and set port channel, you can enter lists of ports.
To specify a range of ports, use a comma-separated list (do not insert spaces) to specify individual ports
or a hyphen (-) between the port numbers to specify a range of ports. Hyphens take precedence over
commas.
Table 2-1 shows examples of how to designate ports and port ranges.
Example Function
2/1 Specifies port 1 on module 2
3/4-8 Specifies ports 4, 5, 6, 7, and 8 on module 3
Example Function
5/2,5/4,6/10 Specifies ports 2 and 4 on module 5 and port 10 on module 6
3/1-2,4/8 Specifies ports 1 and 2 on module 3 and port 8 on module 4
VLANs are identified using the VLAN ID, a single number associated with the VLAN. To specify a list
of VLANs, use a comma-separated list (do not insert spaces) to specify individual VLANs or a hyphen
(-) between the VLAN numbers to specify a range of VLANs.
Table 2-2 shows examples of how to designate VLANs and VLAN ranges.
Example Function
10 Specifies VLAN 10
5,10,15 Specifies VLANs 5, 10, and 15
10-50,500 Specifies VLANs 10 through 50, inclusive, and VLAN 500
Some commands require a MAC address, IP address, or IP alias, which must be designated in a standard
format. The MAC address format must be six hexadecimal numbers separated by hyphens, as shown in
the following example:
00-00-0c-24-d2-fe
The IP address format is 32 bits, written as 4 octets separated by periods (dotted decimal format) that
are made up of a network section, an optional subnet section, and a host section, as shown in the
following example:
126.2.54.1
If you have configured IP aliases on the switch, you can use IP aliases in place of the dotted decimal IP
address. This is true for most commands that use an IP address, except for commands that define the IP
address or IP alias. For information on using IP aliases, see the “Defining IP Aliases” section on
page 20-6.
If DNS is configured on the switch, you can use DNS host names in place of IP addresses. For
information on configuring DNS, see Chapter 28, “Configuring DNS.”
You can scroll through the last 20 commands stored in the history buffer, and enter or edit the command
at the prompt. Table 2-3 lists the keyboard shortcuts to use when entering and editing switch commands.
Keystroke Function
Ctrl-A Jumps to the first character of the command line.
Ctrl-B or the left arrow key Moves the cursor back one character.
Ctrl-C Escapes and terminates prompts and tasks.
Keystroke Function
Ctrl-D Deletes the character at the cursor.
Ctrl-E Jumps to the end of the current command line.
Ctrl-F or the right arrow key1 Moves the cursor forward one character.
Ctrl-K Deletes from the cursor to the end of the command line.
Ctrl-L; Ctrl-R Repeats current command line on a new line.
1
Ctrl-N or the down arrow key Enters next command line in the history buffer.
1
Ctrl-P or the up arrow key Enters previous command line in the history buffer.
Ctrl-U; Ctrl-X Deletes from the cursor to the beginning of the command line.
Ctrl-W Deletes last word typed.
Esc B Moves the cursor back one word.
Esc D Deletes from the cursor to the end of the word.
Esc F Moves the cursor forward one word.
Delete key or Backspace key Erases mistake when entering a command; reenter command after
using this key.
1. The arrow keys function only on ANSI-compatible terminals such as VT100s.
History Substitution
The history buffer stores the last 20 commands you entered during a terminal session. History
substitution allows you to access these commands without retyping them, by using special abbreviated
commands. Table 2-4 lists the history substitution commands.
Command Function
Repeating recent commands:
!! Repeat the most recent command.
!-nn Repeat the nnth most recent command.
!n Repeat command n.
!aaa Repeat the command beginning with string aaa.
!?aaa Repeat the command containing the string aaa.
To modify and repeat the most recent command:
^aaa^bbb Replace the string aaa with the string bbb in the most recent command.
To add a string to the end of a previous command and repeat it:
!!aaa Add string aaa to the end of the most recent command.
!n aaa Add string aaa to the end of command n.
!aaa bbb Add string bbb to the end of the command beginning with string aaa.
!?aaa bbb Add string bbb to the end of the command containing the string aaa.
Enter help or ? in normal or privileged mode to see the commands available in those modes. On selected
commands, entering help or ? after a command provides additional information, such as a command
usage description. Command usage, the help menu, and when appropriate, parameter ranges are
provided if you enter a command using the wrong number of arguments or inappropriate arguments.
Additionally, appending help or ? to a command category displays a list of commands in that category.
Note In addition to the methods described in the “Accessing the MSFC from the Switch” section on
page 2-3, you can configure IOS to support direct Telnet access to the MSFC. Refer to “Configuring
Authentication” in the Cisco IOS Security Configuration Guide:
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/secur_c/scprt1/scdathen.htm
The Cisco IOS command interpreter, called the EXEC, interprets and executes the commands you enter.
You can abbreviate commands and keywords by entering just enough characters to make the command
unique from other commands. For example, you can abbreviate the show command to sh and the
configure terminal command to config t.
When you type exit, the switch backs out one level. To exit configuration mode completely and return
to privileged EXEC mode, press Ctrl-Z.
To obtain a list of commands that begin with a particular character sequence, type in those characters
followed by the question mark (?). Do not include a space. This form of help is called word help, because
it completes a word for you.
Router# co?
configure
To list keywords or arguments, enter a question mark in place of a keyword or argument. Include a space
before the question mark. This form of help is called command syntax help, because it reminds you
which keywords or arguments are applicable based on the command, keywords, and arguments you have
already entered.
Router# configure ?
memory Configure from NV memory
network Configure from a TFTP network host
overwrite-network Overwrite NV memory from TFTP network host
terminal Configure from the terminal
To redisplay a command you previously entered, press the up-arrow key or Ctrl-P. You can continue to
press the up-arrow key to see the last 20 commands you entered.
Tip If you are having trouble entering a command, check the system prompt, and enter the question mark
(?) for a list of available commands. You might be in the wrong command mode or using incorrect
syntax.
Press Ctrl-Z in any mode to immediately return to privileged EXEC mode. Enter exit to return to the
previous mode.
Note Enter the switch console command to access the MSFC from the switch CLI when directly connected
to the supervisor engine console port. To access the MSFC from a Telnet session, see the “Accessing
the MSFC from a Telnet Session” section on page 2-4.
Task Command
Step 1 If you are in the switch CLI, enter Console> switch console [mod]
the MSFC CLI.
Step 2 At the EXEC prompt, enter enable Router> enable
mode.
Step 3 At the privileged EXEC prompt, Router# configure terminal
enter global configuration mode.
Task Command
Step 4 Enter the commands to configure (Refer to the appropriate configuration tasks later in this chapter.)
routing.
Step 5 Exit configuration mode. Router(config)# Ctrl-Z
Task Command
Step 1 View the current operating Router# show running-config
configuration at the privileged
EXEC prompt.
Step 2 View the configuration in Router# show startup-config
NVRAM.
Step 3 Save the current configuration to Router# copy running-config startup-config
NVRAM.
Note In a redundant supervisor engine setup, if an interface on one MSFC is shut down, the matching
VLAN interface on the redundant MSFC will stop forwarding packets. Therefore, you should
manually shut down the matching interface on the redundant MSFC.
To bring up an MSFC interface that is administratively shut down, perform this task in privileged mode:
Task Command
Step 1 Specify the interface to bring up. Router(config)# interface interface_type interface_num
Step 2 Bring the interface up. Router(config-if)# no shutdown
Step 3 Exit configuration mode. Router(config-if)# Ctrl-Z
This chapter describes how to configure the IP address, subnet mask, and default gateway on the
Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
When you configure the IP address, subnet mask, broadcast address, and VLAN membership of the sc0
interface, you can access the switch through Telnet or Simple Network Management Protocol (SNMP).
When you configure the SLIP (sl0) interface, you can open a point-to-point connection to the switch
through the console port from a workstation.
All IP traffic generated by the switch itself (for example, a Telnet session opened from the switch to a
host) is forwarded according to the entries in the switch IP routing table. For intersubnetwork
communication to occur, you must configure at least one default gateway for the sc0 interface. The
switch IP routing table is used to forward traffic originating on the switch only, not for forwarding traffic
sent by devices connected to the switch.
Note If the CONFIG_FILE environment variable is set, all configuration files are processed before the
switch determines whether to broadcast BOOTP, DHCP, and RARP requests. For more information
about the CONFIG_FILE environment variable, see Chapter 23, “Modifying the Switch Boot
Configuration.”
In addition to the sc0 interface IP address, the switch can obtain the subnet mask, broadcast address, and
default gateway address. DHCP-learned values are not used if user-configured values are present.
The switch broadcasts a DHCPDISCOVER message one to ten seconds after all of the switch ports are
online. The switch always requests an infinite lease time in the DHCPDISCOVER message.
If a DHCP or Bootstrap Protocol (BOOTP) server responds to the request, the switch takes appropriate
action. If a DHCPOFFER message is received from a DCHP server, the switch processes all supported
options contained in the message. Table 3-1 shows the supported DHCP options. Other options specified
in the DHCPOFFER message are ignored.
Code Option
1 Subnet mask
2 Time offset
3 Router
6 Domain name server
12 Host name
15 Domain name
28 Broadcast address
33 Static route
42 NTP servers
51 IP address lease time
52 Option overload
61 Client-identifier
66 TFTP server name
If a BOOTP response is received from a BOOTP server, the switch sets the in-band (sc0) interface IP
address to the address specified in the BOOTP response.
If no DHCPOFFER message or BOOTP response is received in reply, the switch rebroadcasts the
request using an exponential backoff algorithm (the amount of time between requests increases
exponentially). If no response is received after ten minutes, the sc0 interface IP address remains set to
0.0.0.0 (provided that BOOTP and RARP requests fail as well).
If you reset or power cycle a switch with a DHCP- or BOOTP-obtained IP address, the information
learned from DHCP or BOOTP is retained. At bootup, the switch attempts to renew the lease on the IP
address. If no reply is received, the switch retains the current IP address.
If no reply is received, the sc0 interface IP address remains set to 0.0.0.0 (provided that DHCP requests
fail as well).
If you reset or power cycle a switch with a BOOTP or RARP-obtained IP address, the information
learned from BOOTP or RARP is retained.
Caution Do not erase the boot loader image; this image must always remain as the first image on the MSFC
bootflash as it is always used as the first image to boot.
Note Before you can use a system image stored on the supervisor engine Flash PC card, you must set the
BOOTLDR environment variable. In privileged mode, enter the boot bootldr
bootflash:boot_loader_image command.
To store the system image on the supervisor Flash PC card, you need to change the configuration on the
MSFC to boot the MSFC from the appropriate image on the Flash PC card by adding the following
command to the MSFC configuration:
boot sup-slot0:system_image
In the above example, system_image is the name of the desired image on the supervisor Flash PC card.
Note To boot a system image stored on the supervisor engine Flash PC card, at least one VLAN interface
must be configured and active.
By following this recommendation, there is really no need to store new system images on the bootflash.
If desired, you can update the system image on the bootflash from an image on the supervisor engine
Flash PC card by entering these commands:
delete bootflash:old_system_image
squeeze bootflash:
copy sup-slot0:new_system_image bootflash:
Task Command
Step 1 Assign an IP address, subnet mask (or number of set interface sc0 [ip_addr[/netmask] [broadcast]]
subnet bits), and (optional) broadcast address to
the in-band (sc0) interface.
Step 2 Assign the in-band interface to the proper VLAN set interface sc0 [vlan]
(make sure the VLAN is associated with the
network to which the IP address belongs).
Step 3 If necessary, bring the interface up. set interface sc0 up
Step 4 Verify the interface configuration. show interface
This example shows how to assign an IP address, specify the number of subnet bits, and specify the
VLAN assignment for the in-band (sc0) interface:
Console> (enable) set interface sc0 172.20.52.124/29
Interface sc0 IP address and netmask set.
Console> (enable) set interface sc0 5
Interface sc0 vlan set.
Console> (enable)
This example shows how to specify the VLAN assignment, assign an IP address, specify the subnet mask
in dotted decimal format, and verify the configuration:
Console> (enable) set interface sc0 5 172.20.52.124/255.255.255.248
Interface sc0 vlan set, IP address and netmask set.
Console> (enable) show interface
sl0: flags=51<UP,POINTOPOINT,RUNNING>
slip 0.0.0.0 dest 0.0.0.0
sc0: flags=63<UP,BROADCAST,RUNNING>
vlan 5 inet 172.20.52.124 netmask 255.255.255.248 broadcast 172.20.52.17
Console> (enable)
Note In some cases, you might want to configure static IP routes in addition to default gateways. For
information on configuring static routes, see the “Configuring Static Routes” section on page 20-7.
You can define up to three default IP gateways. Use the primary keyword to make a gateway the
primary gateway. If you do not specify a primary default gateway, the first gateway configured is the
primary gateway. If more than one gateway is designated as primary, the last primary gateway
configured is the primary default gateway.
The switch sends all off-network IP traffic to the primary default gateway. If connectivity to the primary
gateway is lost, the switch attempts to use the backup gateways in the order they were configured. The
switch sends periodic ping messages to determine whether each default gateway is up or down. If
connectivity to the primary gateway is restored, the switch resumes sending traffic to the primary
gateway.
To configure one or more default gateways, perform this task in privileged mode:
Task Command
Step 1 Configure a default IP gateway address for the set ip route default gateway [metric] [primary]
switch.
Step 2 (Optional) Configure additional default gateways set ip route default gateway [metric] [primary]
for the switch.
Step 3 Verify that the default gateways appear correctly show ip route
in the IP routing table.
To remove default gateway entries, perform one of these tasks in privileged mode:
Task Command
Clear an individual default gateway entry. clear ip route default gateway
Clear all default gateways and static routes. clear ip route all
This example shows how to configure three default gateways on the switch and how to verify the default
gateway configuration:
Console> (enable) set ip route default 10.1.1.10
Route added.
Console> (enable) set ip route default 10.1.1.20
Route added.
Console> (enable) set ip route default 10.1.1.1 primary
Route added.
Console> (enable) show ip route
Fragmentation Redirect Unreachable
------------- -------- -----------
enabled enabled enabled
Caution You must use the console port for the SLIP connection. When the SLIP connection is enabled and
SLIP is attached on the console port, an EIA/TIA-232 terminal cannot connect through the console
port. If you are connected to the switch CLI through the console port and you enter the slip attach
command, you will lose the console port connection. Use Telnet to access the switch, enter privileged
mode, and enter the slip detach command to restore the console port connection.
To enable and attach SLIP on the console port, perform this task:
Task Command
Step 1 Access the switch from a remote host with Telnet. telnet {host_name | ip_addr}
Step 2 Enter privileged mode on the switch. enable
Step 3 Set the console port SLIP address and the set interface sl0 slip_addr dest_addr
destination address of the attached host.
Step 4 Verify the SLIP interface configuration. show interface
Step 5 Enable SLIP for the console port. slip attach
Task Command
Step 1 Access the switch from a remote host with Telnet. telnet {host_name | ip_addr}
Step 2 Enter privileged mode on the switch. enable
Step 3 Disable SLIP for the console port. slip detach
This example shows how to configure SLIP on the console port and verify the configuration:
sparc20% telnet 172.20.52.38
Trying 172.20.52.38 ...
Connected to 172.20.52.38.
Escape character is '^]'.
Enter password:
Console> enable
Enter password:
Console> (enable) set interface sl0 10.1.1.1 10.1.1.2
Interface sl0 slip and destination address set.
Console> (enable) show interface
sl0: flags=51<UP,POINTOPOINT,RUNNING>
slip 10.1.1.1 dest 10.1.1.2
sc0: flags=63<UP,BROADCAST,RUNNING>
vlan 522 inet 172.20.52.38 netmask 255.255.255.240 broadcast 172.20.52.7
Console> (enable) slip attach
Console Port now running SLIP.
To use BOOTP, DHCP, or RARP to obtain an IP address for the switch, perform this task:
Task Command
Step 1 Make sure that there is a DHCP, BOOTP, or —
RARP server on the network.
Step 2 Obtain the last address in the MAC address range show module
for module 1 (the supervisor engine). This address
is displayed under the MAC-Address(es) heading.
(With DHCP, this step is necessary only if using
the manual allocation method.)
Step 3 Add an entry for each switch in the DHCP, —
BOOTP, or RARP server configuration, mapping
the MAC address of the switch to the IP
configuration information for the switch. (With
DHCP, this step is necessary only if using the
manual or automatic allocation methods.)
Step 4 Set the sc0 interface IP address to 0.0.0.0. set interface sc0 0.0.0.0
Step 5 Reset the switch. The switch broadcasts DHCP reset system
and RARP requests only when the switch boots
up.
Step 6 When the switch reboots, confirm that the sc0 show interface
interface IP address, subnet mask, and broadcast
address are set correctly.
Step 7 For DHCP, confirm that other options (such as the show ip route
default gateway address) are set correctly.
This example shows the switch broadcasting a DHCP request, receiving a DHCP offer, and configuring
the IP address and other IP parameters according to the contents of the DHCP offer:
Console> (enable)
Sending RARP request with address 00:90:0c:5a:8f:ff
Sending DHCP packet with address: 00:90:0c:5a:8f:ff
dhcpoffer
Sending DHCP packet with address: 00:90:0c:5a:8f:ff
Timezone set to '', offset from UTC is 7 hours 58 minutes
Timezone set to '', offset from UTC is 7 hours 58 minutes
172.16.30.32 added to DNS server table as primary server.
172.16.31.32 added to DNS server table as backup server.
172.16.32.32 added to DNS server table as backup server.
NTP server 172.16.25.253 added
NTP server 172.16.25.252 added
%MGMT-5-DHCP_S:Assigned IP address 172.20.25.244 from DHCP Server 172.20.25.254
Task Command
Renew the lease on a DHCP-assigned IP address. set interface sc0 dhcp renew
Release the lease on a DHCP-assigned IP address. set interface sc0 dhcp release
Console> (enable)
This chapter describes how to use the command-line interface (CLI) to configure Ethernet, Fast
Ethernet, and Gigabit Ethernet switching on the Catalyst 6000 family switches. The configuration tasks
in this chapter apply to Ethernet, Fast Ethernet, and Gigabit Ethernet switching modules, as well as to
the uplink ports on the supervisor engine.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note Port negotiation does not involve negotiating port speed. You cannot disable port negotiation with
the set port speed command.
Port negotiation exchanges flow-control parameters, remote fault information, and duplex information.
Configure port negotiation with the set port negotiation command. Port negotiation is enabled by
default.
The ports on both ends of a link must have the same setting. The link will not come up if the ports at
each end of the link are set inconsistently (port negotiation enabled on one port and disabled on the
other).
Table 4-1 shows the four possible port negotiation configurations and the resulting link status for each
configuration.
Task Command
Step 1 Set a port name. set port name mod/port [name_string]
Step 2 Verify the port name is configured. show port [mod[/port]]
This example shows how to set the name for ports 1/1 and 1/2 and how to verify that the port names are
configured correctly:
Console> (enable) set port name 1/1 Router Connection
Port 1/1 name set.
Console> (enable) set port name 1/2 Server Link
Port 1/2 name set.
Console> (enable) show port 1
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
1/1 Router Connection connected trunk full 1000 1000BaseSX
1/2 Server Link connected trunk full 1000 1000BaseSX
<...output truncated...>
Last-Time-Cleared
--------------------------
Wed Jun 16 1999, 16:25:57
Console> (enable)
Note If the port speed is set to auto on a 10/100-Mbps Ethernet port, both speed and duplex are
autonegotiated.
To set the port speed for a 10/100-Mbps port, perform this task in privileged mode:
Task Command
Step 1 Set the port speed of a 10/100-Mbps Fast Ethernet set port speed mod/port {10 | 100 | auto}
port.
Step 2 Verify that the speed of the port is configured show port [mod[/port]]
correctly.
This example shows how to set the port speed to 100 Mbps on port 2/2:
Console> (enable) set port speed 2/2 100
Port 2/2 speed set to 100 Mbps.
Console> (enable)
This example shows how to make port 2/1 autonegotiate speed and duplex with the neighboring port:
Console> (enable) set port speed 2/1 auto
Port 2/1 speed set to auto-sensing mode.
Console> (enable)
Note Gigabit Ethernet is full duplex only. You cannot change the duplex mode on Gigabit Ethernet ports.
Note If the port speed is set to auto on a 10/100-Mbps Ethernet port, both speed and duplex are
autonegotiated. You cannot change the duplex mode of autonegotiation ports.
To set the duplex mode of a port, perform this task in privileged mode:
Task Command
Step 1 Set the duplex mode of a port. set port duplex mod/port {full | half}
Step 2 Verify that the duplex mode of the port is show port [mod[/port]]
configured correctly.
This example shows how to set the duplex mode to half duplex on port 2/1:
Console> (enable) set port duplex 2/1 half
Port 2/1 set to half-duplex.
Console> (enable)
Keywords Function
receive on The port uses flow control dictated by the neighboring port.
receive desired The port uses flow control if the neighboring port uses it and does not
use flow control if the neighboring port does not use it.
receive off The port does not use flow control, regardless of whether flow control is
requested by the neighboring port.
send on1 The port sends flow-control frames to the neighboring port.
1
send desired The port sends flow-control frames to the port if the neighboring port
asks to use flow control.
send off1 The port does not send flow-control frames to the neighboring port.
1. Supported only on Gigabit Ethernet ports.
Task Command
Step 1 Set the flow-control parameters. set port flowcontrol mod/port {receive | send}
{off | on | desired}
Step 2 Verify the flow-control configuration. show port flowcontrol
This example shows how to turn transmit and receive flow control on and how to verify the flow-control
configuration:
Console> (enable) set port flowcontrol 3/1 send on
Port 3/1 will send flowcontrol to far end.
Console> (enable) set port flowcontrol 3/1 receive on
Port 3/1 will require far end to send flow control
Task Command
Step 1 Enable port negotiation. set port negotiation mod/port enable
Step 2 Verify the port negotiation configuration. show port negotiation [mod/port]
This example shows how to enable port negotiation and verify the configuration:
Console> (enable) set port negotiation 2/1 enable
Port 2/1 negotiation enabled
Console> (enable) show port negotiation 2/1
Port Link Negotiation
----- ----------------
2/1 enabled
Console> (enable)
Task Command
Step 1 Disable port negotiation. set port negotiation mod/port disable
Step 2 Verify the port negotiation configuration. show port negotiation [mod/port]
This example shows how to disable port negotiation and verify the configuration:
Console> (enable) set port negotiation 2/1 disable
Port 2/1 negotiation disabled
Console> (enable) show port negotiation 2/1
Port Link Negotiation
----- ----------------
2/1 disabled
Console> (enable)
Note Changing the default port enable state applies to all port types, not just Ethernet.
Note This feature is not supported on systems that do not have a chassis ID PROM.
When you enter the clear config all command or in the event of a configuration loss, all ports collapse
into VLAN 1. This might cause a security and network instability problem. Entering the set default
portstatus command puts all ports into a disable state and blocks the traffic flowing through the ports
during a configuration loss. You can then manually configure the ports back to the enable state.
The default port status configuration is stored on the chassis. This means it is tied to a chassis and not
the supervisor engine. The clear config all command uses this setting to determine whether ports should
be enabled or disabled when returning to default configuration. The clear config all command does not
change the default port status setting on the chassis. The output of the show config command shows the
current default port status configuration.
To change the port enable state, perform this task in privileged mode:
Task Command
Step 1 Change the port enable state. set default portstatus {enable | disable}
Step 2 Display the port enable state. show default
This example shows how to change the default port enable state from enabled to disabled:
Console> (enable) set default portstatus disable
Default port status set to disable.
Console> (enable)
Caution Enabling the port debounce timer causes link up and link down detections to be delayed, resulting in
loss of data traffic during the debouncing period. This situation might affect the convergence and
reconvergence of various Layer 2 and Layer 3 protocols.
Table 4-4 lists the time delay that occurs before the switch notifies the main processor of a link change
before and after the switch enables the debounce timer.
To set the debounce timer on a port, perform this task in privileged mode:
Task Command
Step 1 Enable the debounce timer for a port. set port debounce
mod num/port num {enable | disable}
Step 2 Verify that the debounce timer of the port is show port debounce [mod | mod_num/port_num]
configured correctly.
This example shows how to enable the debounce timer on port 2/1:
Console> (enable) set port debounce 2/1 enable
Link debounce enabled on port 2/1
Console> (enable)
This example shows how to display the per-port debounce timer settings:
Console> (enable) show port debounce
Port Link debounce
----- ---------------
2/1 enable
2/2 disable
Console> (enable)
A port enters errdisable state for the following reasons (these reasons appear as configuration options
with the set errdisable-timeout enable command):
• Channel misconfiguration
• Duplex mismatch
• BPDU port-guard
• UDLD
• Other (reasons other than the above)
• All (apply errdisable timeout to all reasons)
You can enable or disable errdisable timeout for each of the above listed reasons. The ports in errdisable
state for reasons other than the first four reasons are considered “other.” If you specify “other,” all ports
errdisabled by causes other than the first four reasons are enabled for errdisable timeout. If you specify
“all,” all ports errdisabled for any reason are enabled for errdisable timeout.
The errdisable feature is disabled by default. The default interval for enabling a port is 300 seconds. The
allowable interval range is 30 to 86400 seconds (30 seconds to 24 hours).
This example shows how to enable errdisable timeout for BPDU guard causes:
Console> (enable) set errdisable-timeout enable bpdu-guard
Successfully enabled errdisable-timeout for bpdu-guard.
Console> (enable)
This example shows how to enable errdisable timeout for all causes:
Console> (enable) set errdisable-timeout enable all
Successfully enabled errdisable-timeout for all.
Console> (enable)
This example shows how to set the errdisable timeout interval to 450 seconds:
Console> (enable) set errdisable-timeout interval 450
Successfully set errdisable timeout to 450 seconds.
Console> (enable)
Note The following modules only support a maximum of 8092 bytes: WS-X6148-RJ-45V,
WS-X6148-RJ21V, WS-X6248-RJ-45, WS-X6248A-RJ-45, WS-X6248-TEL,
WS-X6248A-TEL, WS-X6348-RJ-45, WS-X6348-RJ45V, WS-X6348-RJ-21, and
WX-X6348-RJ21V.
Note The WS-X6516-GE-TX (10/100/1000) module only supports a maximum of 8092 bytes
at the 100 Mbps speed. At 10 Mbps and 1000 Mbps the module supports the jumbo frame
default of 9216 bytes.
– Trunk ports
– EtherChannels
• Jumbo frames are supported on all Optical Services Modules (OSMs).
• Jumbo frames are not supported on ATM modules (WS-X6101-OC12-SMF/MMF).
• The Multilayer Switching Feature Card 2 (MSFC2) supports routing of jumbo frames.
• The Gigabit Switch Router (GSR) supports routing of jumbo frames.
• The Multilayer Switching Feature Card (MSFC) and Multilayer Switch Module (MSM) do not
support jumbo frame routing; if jumbo frames are sent to these routers, router performance is
significantly degraded.
Note Occasionally, you might see a “Jumbo frames inconsistent state” message for a port or multiple ports
after entering the show port jumbo command. If this occurs, enter the set port jumbo command to
reenable the ports.
To enable the jumbo frames feature on an Ethernet port, perform this task in privileged mode:
Task Command
Step 1 Enable jumbo frames. set port jumbo mod/port enable
Step 2 Verify the port configuration. show port jumbo
This example shows how to enable the jumbo frames feature on a port and verify the configuration:
Console> (enable) set port jumbo 2/1 enable
Jumbo frames enabled on port 2/1
Console> (enable) show port jumbo
Jumbo frames MTU size is 9216 bytes
Jumbo frames enabled on port(s) 2/1
To disable the jumbo frames feature on an Ethernet port, perform this task in privileged mode:
Task Command
Step 1 Disable jumbo frames. set port jumbo mod/port disable
Step 2 Verify the port configuration. show port jumbo
This example shows how to disable the jumbo frames feature on a port:
Console> (enable) set port jumbo 2/1 disable
Jumbo frames disabled on port 2/1
Console> (enable)
Task Command
Step 1 Access VLAN interface configuration mode. Router(config)# interface vlan vlan_ID
Step 2 Set the MTU size. Valid values are from 64 to Router(config-if)# mtu mtu_size
17952 bytes.1
Step 3 Verify the configuration. Router# show interface vlan 111
1. Set the MTU size no larger than 9216, which is the size supported by the supervisor engine.
This example shows how to set the MTU size on a VLAN interface and verify the configuration:
Router(config)# interface vlan 111
Router(config-if)# mtu 9216
Router(config-if)# end
Router# show interface vlan 111
<...Output Truncated...>
MTU 9216 bytes, BW 1000000 Kbit, DLY 10 usec,
<...Output Truncated...>
Router#
Checking Connectivity
Use the ping and traceroute commands to test connectivity.
To check connectivity out a port, perform this task in privileged mode:
Task Command
Step 1 Ping a remote host that is located out the port you ping [-s] host [packet_size] [packet_count]
want to test.
Step 2 Trace the hop-by-hop route of packets from the traceroute host
switch to a remote host located out the port you
want to test.
Step 3 If the host is unresponsive, check the IP address show interface
and default gateway configured on the switch. show ip route
This example shows how to ping a remote host and how to trace the hop-by-hop path of packets through
the network using traceroute:
Console> (enable) ping somehost
somehost is alive
Console> (enable) traceroute somehost
traceroute to somehost.company.com (10.1.2.3), 30 hops max, 40 byte packets
1 engineering-1.company.com (173.31.192.206) 2 ms 1 ms 1 ms
2 engineering-2.company.com (173.31.196.204) 2 ms 3 ms 2 ms
3 gateway_a.company.com (173.16.1.201) 6 ms 3 ms 3 ms
4 somehost.company.com (10.1.2.3) 3 ms * 2 ms
Console> (enable)
This chapter describes how to configure Ethernet VLAN trunks on the Catalyst 6000 family switches.
Note For complete information on configuring VLANs, see Chapter 11, “Configuring VLANs.”
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Trunking Overview
A trunk is a point-to-point link between one or more Ethernet switch ports and another networking
device such as a router or a switch. Trunks carry the traffic of multiple VLANs over a single link and
allow you to extend VLANs across an entire network.
Two trunking encapsulations are available on all Ethernet ports:
• Inter-Switch Link (ISL)—ISL is a Cisco-proprietary trunking encapsulation
• IEEE 802.1Q—802.1Q is an industry-standard trunking encapsulation
You can configure a trunk on a single Ethernet port or on an EtherChannel bundle. For more information
about EtherChannel, see Chapter 6, “Configuring EtherChannel.”
Ethernet trunk ports support five different trunking modes (see Table 5-1). In addition, you can specify
whether the trunk will use ISL encapsulation, 802.1Q encapsulation, or whether the encapsulation type
will be autonegotiated.
For trunking to be autonegotiated, the ports must be in the same VLAN Trunking Protocol (VTP)
domain. However, you can use the on or nonegotiate mode to force a port to become a trunk, even if it
is in a different domain. For more information on VTP domains, see Chapter 10, “Configuring VTP.”
Trunk negotiation is managed by the Dynamic Trunking Protocol (DTP). DTP supports autonegotiation
of both ISL and 802.1Q trunks.
Mode Function
on Puts the port into permanent trunking mode and negotiates to convert the link into a trunk link. The port
becomes a trunk port even if the neighboring port does not agree to the change.
off Puts the port into permanent nontrunking mode and negotiates to convert the link into a nontrunk link. The
port becomes a nontrunk port even if the neighboring port does not agree to the change.
desirable Makes the port actively attempt to convert the link to a trunk link. The port becomes a trunk port if the
neighboring port is set to on, desirable, or auto mode.
auto Makes the port willing to convert the link to a trunk link. The port becomes a trunk port if the neighboring
port is set to on or desirable mode. This is the default mode for all Ethernet ports.
nonegotiate Puts the port into permanent trunking mode but prevents the port from generating DTP frames. You must
configure the neighboring port manually as a trunk port to establish a trunk link.
Table 5-2 lists the encapsulation types used with the set trunk command and describes how they
function on Ethernet ports. You can use the show port capabilities command to determine which
encapsulation types a particular port supports.
Encapsulation Function
isl Specifies ISL encapsulation on the trunk link.
dot1q Specifies 802.1Q encapsulation on the trunk link.
negotiate Specifies that the port negotiate with the neighboring port to become an ISL (preferred) or 802.1Q trunk,
depending on the configuration and capabilities of the neighboring port.
The trunking mode, the trunk encapsulation type, and the hardware capabilities of the two connected
ports determine whether a trunk link comes up and the type of trunk the link becomes. Table 5-3 shows
the result of the possible trunking configurations.
Table 5-3 Results of Possible Fast Ethernet and Gigabit Ethernet Trunk Configurations
Note DTP is a point-to-point protocol. However, some internetworking devices might forward DTP frames
improperly. To avoid this problem, ensure that trunking is turned off on ports connected to
non-switch devices if you do not intend to trunk across those links. When manually enabling trunking
on a link to a Cisco router, use the nonegotiate keyword to cause the port to become a trunk but not
generate DTP frames.
Task Command
Step 1 Configure an ISL trunk. set trunk mod/port [on | desirable | auto |
nonegotiate] isl
Step 2 Verify the trunking configuration. show trunk [mod/port]
This example shows how to configure a port as a trunk and how to verify the trunk configuration. This
example assumes that the neighboring port is in auto mode:
Console> (enable) set trunk 1/1 on
Port(s) 1/1 trunk mode set to on.
Console> (enable) 06/16/1998,22:16:39:DTP-5:Port 1/1 has become isl trunk
06/16/1998,22:16:40:PAGP-5:Port 1/1 left bridge port 1/1.
06/16/1998,22:16:40:PAGP-5:Port 1/1 joined bridge port 1/1.
Console> (enable) show trunk
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
1/1 on isl trunking 1
Port Vlans allowed on trunk
-------- ---------------------------------------------------------------------
1/1 1-1005, 1025-4094
This example shows how to place a port in desirable mode and how to verify the trunk configuration.
This example assumes that the neighboring port is in auto mode:
Console> (enable) set trunk 1/2 desirable
Port(s) 1/2 trunk mode set to desirable.
Console> (enable) 06/16/1998,22:20:16:DTP-5:Port 1/2 has become isl trunk
06/16/1998,22:20:16:PAGP-5:Port 1/2 left bridge port 1/2.
06/16/1998,22:20:16:PAGP-5:Port 1/2 joined bridge port 1/2.
Console> (enable) show trunk 1/2
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
1/2 desirable isl trunking 1
Port Vlans allowed on trunk
-------- ---------------------------------------------------------------------
1/2 1-1005, 1025-4094
Port Vlans allowed and active in management domain
-------- ---------------------------------------------------------------------
1/2 1,521-524
Port Vlans in spanning tree forwarding state and not pruned
-------- ---------------------------------------------------------------------
1/2
Console> (enable)
Task Command
Step 1 Configure an 802.1Q trunk. set trunk mod/port [on | desirable | auto |
nonegotiate] dot1q
Step 2 Verify the trunking configuration. show trunk [mod/port]
This example shows how to configure an 802.1Q trunk and how to verify the trunk configuration:
Console> (enable) set trunk 2/9 desirable dot1q
Port(s) 2/9 trunk mode set to desirable.
Port(s) 2/9 trunk type set to dot1q.
Console> (enable) 07/02/1998,18:22:25:DTP-5:Port 2/9 has become dot1q trunk
Task Command
Step 1 Configure a port to negotiate the trunk set trunk mod/port [on | desirable | auto |
encapsulation type. nonegotiate] negotiate
Step 2 Verify the trunking configuration. show trunk [mod/port]
This example shows how to configure a port to negotiate the encapsulation type and how to verify the
trunk configuration. This example assumes that the neighboring port is in auto mode with encapsulation
set to isl or negotiate.
Console> (enable) set trunk 4/11 desirable negotiate
Port(s) 4/11 trunk mode set to desirable.
Port(s) 4/11 trunk type set to negotiate.
Console> (enable) show trunk 4/11
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
4/11 desirable n-isl trunking 1
Note When you first configure a port as a trunk, entering the set trunk command always adds all VLANs
to the allowed VLAN list for the trunk, even if you specify a VLAN range (any specified VLAN
range is ignored). To modify the allowed VLANs list, use a combination of the clear trunk and set
trunk commands to specify the allowed VLANs.
To define the allowed VLAN list for a trunk port, perform this task in privileged mode:
Task Command
Step 1 Remove VLANs from the allowed VLANs list for clear trunk mod/port vlans
a trunk.
Step 2 (Optional) Add specific VLANs to the allowed set trunk mod/port vlans
VLANs list for a trunk.
Step 3 Verify the allowed VLAN list for the trunk. show trunk [mod/port]
This example shows how to define the allowed VLANs list to allow VLANs 1–100, VLANs 500–1005,
and VLAN 2500 on trunk port 1/1 and how to verify the allowed VLAN list for the trunk:
Console> (enable) clear trunk 1/1 101-499
Removing Vlan(s) 101-499 from allowed list.
Port 1/1 allowed vlans modified to 1-100,500-1005.
Console> (enable) set trunk 1/1 2500
Adding vlans 2500 to allowed list.
Port(s) 1/1 allowed vlans modified to 1-100,500-1005,2500.
Console> (enable) show trunk 1/1
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
1/1 desirable isl trunking 1
Port Vlans allowed on trunk
-------- ---------------------------------------------------------------------
1/1 1-100, 500-1005,2500
Port Vlans allowed and active in management domain
-------- ---------------------------------------------------------------------
1/1 1,521-524
Port Vlans in spanning tree forwarding state and not pruned
-------- ---------------------------------------------------------------------
1/1 1,521-524
Console> (enable)
Task Command
Step 1 Turn off trunking on a port. set trunk mod/port off
Step 2 Verify the trunking configuration. show trunk [mod/port]
To return a port to the default trunk type and mode for that port type, perform this task in privileged
mode:
Task Command
Step 1 Return the port to the default trunking type and clear trunk mod/port
mode for that port type.
Step 2 Verify the trunking configuration. show trunk [mod/port]
Step 1 Configure port 1/1 on Switch 1 as an ISL trunk port by entering the set trunk command. By specifying
the desirable keyword, the trunk is automatically negotiated with the neighboring port (port 1/2 on
Switch 2). ISL encapsulation is assumed based on the hardware type.
Switch1> (enable) set trunk 1/1 desirable
Port(s) 1/1 trunk mode set to desirable.
Switch1> (enable) 06/18/1998,12:20:23:DTP-5:Port 1/1 has become isl trunk
06/18/1998,12:20:23:PAGP-5:Port 1/1 left bridge port 1/1.
06/18/1998,12:20:23:PAGP-5:Port 1/1 joined bridge port 1/1.
Switch1> (enable)
Step 2 Check the configuration by entering the show trunk command. The Status field in the screen output
indicates that port 1/1 is trunking.
Switch1> (enable) show trunk 1/1
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
1/1 desirable isl trunking 1
Port Vlans allowed on trunk
-------- ---------------------------------------------------------------------
1/1 1-1005, 1025-4094
Port Vlans allowed and active in management domain
-------- ---------------------------------------------------------------------
1/1 1,521-524
Step 3 Define the allowed VLAN list for the trunk by entering the clear trunk command to remove the VLANs
that should not pass traffic over the trunk link.
Switch1> (enable) clear trunk 1/1 2-519
Removing Vlan(s) 2-519 from allowed list.
Port 1/1 allowed vlans modified to 1,520-1005.
Switch1> (enable) clear trunk 1/1 531-1005
Removing Vlan(s) 531-1005 from allowed list.
Port 1/1 allowed vlans modified to 1,520-530.
Switch1> (enable) show trunk 1/1
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
1/1 desirable isl trunking 1
Port Vlans allowed on trunk
-------- ---------------------------------------------------------------------
1/1 1,520-530
Port Vlans allowed and active in management domain
-------- ---------------------------------------------------------------------
1/1 1,521-524
Port Vlans in spanning tree forwarding state and not pruned
-------- ---------------------------------------------------------------------
1/1 1,521-524
Switch1> (enable)
Step 4 Verify connectivity across the trunk by entering the ping command.
Switch1> (enable) ping switch2
switch2 is alive
Switch1> (enable)
Switch A Switch B
1/1 3/1
1/2 3/2
23925
Fast EtherChannel
ISL trunk link
This example shows how to configure the switches to form a two-port EtherChannel bundle and then
configure the EtherChannel bundle as an ISL trunk link.
Step 1 Confirm the channeling and trunking status of the switches by entering the show port channel and show
trunk commands.
Switch_A> (enable) show port channel
No ports channelling
Switch_A> (enable) show trunk
No ports trunking.
Switch_A> (enable)
Step 2 Configure the ports on Switch A to negotiate an EtherChannel bundle with the neighboring switch by
entering the set port channel command. This example assumes that the neighboring ports on Switch B
are in EtherChannel auto mode. The system logging messages provide information about the formation
of the EtherChannel bundle.
Switch_A> (enable) set port channel 1/1-2 desirable
Port(s) 1/1-2 channel mode set to desirable.
Switch_A> (enable) %PAGP-5-PORTFROMSTP:Port 1/1 left bridge port 1/1
%PAGP-5-PORTFROMSTP:Port 1/2 left bridge port 1/2
%PAGP-5-PORTFROMSTP:Port 1/2 left bridge port 1/2
%PAGP-5-PORTTOSTP:Port 1/1 joined bridge port 1/1-2
%PAGP-5-PORTTOSTP:Port 1/2 joined bridge port 1/1-2
Step 3 After the EtherChannel bundle is negotiated, verify the configuration by entering the show port channel
command.
Switch_A> (enable) show port channel
Port Status Channel Channel Neighbor Neighbor
mode status device port
----- ---------- --------- ----------- ------------------------- ----------
1/1 connected desirable channel WS-C5000 009979082(Sw 3/1
1/2 connected desirable channel WS-C5000 009979082(Sw 3/2
----- ---------- --------- ----------- ------------------------- ----------
Switch_A> (enable)
Step 4 Configure one of the ports in the EtherChannel bundle to negotiate an ISL trunk by entering the set
trunk command.
The configuration is applied to all of the ports in the bundle. This example assumes that the neighboring
ports on Switch B are configured to use isl or negotiate encapsulation and are in auto trunk mode. The
system logging messages provide information about the formation of the ISL trunk.
Step 5 After the ISL trunk link is negotiated, verify the configuration by entering the show trunk command.
Switch_A> (enable) show trunk
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
1/1 desirable isl trunking 1
1/2 desirable isl trunking 1
2/3 3/3
Switch A Switch B
2/4 3/4
2/5 3/5
2/6 3/6
Gigabit EtherChannel
23848
IEEE 802.1Q trunk link
This example shows how to configure the switches to form a four-port EtherChannel bundle and then
configure the EtherChannel bundle as an 802.1Q trunk link.
Step 1 Make sure all ports on both Switch A and Switch B are assigned to the same VLAN by entering the set
vlan command. This VLAN is used as the 802.1Q native VLAN for the trunk. In this example, all ports
are configured as members of VLAN 1.
Switch_A> (enable) set vlan 1 2/3-6
VLAN Mod/Ports
---- -----------------------
1 2/1-6
Switch_A> (enable)
Switch_B> (enable)
Step 2 Confirm the channeling and trunking status of the switches by entering the show port channel and show
trunk commands.
Switch_A> (enable) show port channel
No ports channelling
Switch_A> (enable) show trunk
No ports trunking.
Switch_A> (enable)
Step 3 Configure the ports on Switch A to negotiate an EtherChannel bundle with the neighboring switch by
entering the set port channel command. This example assumes that the neighboring ports on Switch B
are in EtherChannel auto mode. The system logging messages provide information about the formation
of the EtherChannel bundle.
Step 4 After the EtherChannel bundle is negotiated, verify the configuration by entering the show port channel
command.
Switch_A> (enable) show port channel
Port Status Channel Channel Neighbor Neighbor
mode status device port
----- ---------- --------- ----------- ------------------------- ----------
2/3 connected desirable channel WS-C4003 JAB023806(Sw 2/3
2/4 connected desirable channel WS-C4003 JAB023806(Sw 2/4
2/5 connected desirable channel WS-C4003 JAB023806(Sw 2/5
2/6 connected desirable channel WS-C4003 JAB023806(Sw 2/6
----- ---------- --------- ----------- ------------------------- ----------
Switch_A> (enable)
Step 5 Configure one of the ports in the EtherChannel bundle to negotiate an 802.1Q trunk by entering the set
trunk command. The configuration is applied to all of the ports in the bundle. This example assumes
that the neighboring ports on Switch B are configured to use dot1q or negotiate encapsulation and are
in auto trunk mode. The system logging messages provide information about the formation of the
802.1Q trunk.
Switch_A> (enable) set trunk 2/3 desirable dot1q
Port(s) 2/3-6 trunk mode set to desirable.
Port(s) 2/3-6 trunk type set to dot1q.
Switch_A> (enable) %DTP-5-TRUNKPORTON:Port 2/3 has become dot1q trunk
Step 6 After the 802.1Q trunk link is negotiated, verify the configuration by entering the show trunk command.
Switch_A> (enable) show trunk
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
2/3 desirable dot1q trunking 1
2/4 desirable dot1q trunking 1
2/5 desirable dot1q trunking 1
2/6 desirable dot1q trunking 1
Figure 5-3 Parallel Trunk Configuration Before Configuring VLAN-Traffic Load Sharing
Trunk 2
VLANs 10, 20, 30, 40, 50, and 60: port-VLAN priority 32 (blocking)
Switch 1 Switch 2
1/1 1/1
1/2 1/2
Trunk 1
16750
VLANs 10, 20, 30, 40, 50, and 60: port-VLAN priority 32 (forwarding)
By default, the port-VLAN priority for both trunks is equal (a value of 32). STP blocks port 1/2
(Trunk 2) for each VLAN on Switch 1 to prevent forwarding loops. Trunk 2 is not used to forward traffic
unless Trunk 1 fails.
This example shows how to configure the switches so that traffic from multiple VLANs is load balanced
over the parallel trunks.
Step 1 Configure a VTP domain on both Switch 1 and Switch 2 by entering the set vtp command so that the
VLAN information configured on Switch 1 is learned by Switch 2. Make sure Switch 1 is a VTP server.
You can configure Switch 2 as a VTP client or as a VTP server.
Switch_1> (enable) set vtp domain BigCorp mode server
VTP domain BigCorp modified
Switch_1> (enable)
Step 2 Create the VLANs on Switch 1 by entering the set vlan command. In this example, you see VLANs 10,
20, 30, 40, 50, and 60.
Switch_1> (enable) set vlan 10
Vlan 10 configuration successful
Switch_1> (enable) set vlan 20
Vlan 20 configuration successful
Switch_1> (enable) set vlan 30
Vlan 30 configuration successful
Switch_1> (enable) set vlan 40
Vlan 40 configuration successful
Switch_1> (enable) set vlan 50
Vlan 50 configuration successful
Switch_1> (enable) set vlan 60
Vlan 60 configuration successful
Switch_1> (enable)
Step 3 Verify the VTP and VLAN configuration on Switch 1 by entering the show vtp domain and show vlan
commands.
Switch_1> (enable)
Step 4 Configure the supervisor engine uplinks on Switch 1 as ISL trunk ports by entering the set trunk
command. Specifying the desirable mode on the Switch 1 ports causes the ports on Switch 2 to negotiate
to become trunk links (assuming that the Switch 2 uplinks are in the default auto mode).
Switch_1> (enable) set trunk 1/1 desirable
Port(s) 1/1 trunk mode set to desirable.
Switch_1> (enable) 04/21/1998,03:05:05:DISL-5:Port 1/1 has become isl trunk
Step 5 Verify that the trunk links are up by entering the show trunk command.
Switch_1> (enable) show trunk 1
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
1/1 desirable isl trunking 1
1/2 desirable isl trunking 1
Step 6 Note that when the trunk links come up, VTP passes the VTP and VLAN configuration to Switch 2.
Verify that Switch 2 has learned the VLAN configuration by entering the show vlan command on
Switch 2.
Switch_2> (enable) show vlan
VLAN Name Status Mod/Ports, Vlans
---- -------------------------------- --------- ----------------------------
1 default active
10 VLAN0010 active
20 VLAN0020 active
30 VLAN0030 active
40 VLAN0040 active
50 VLAN0050 active
60 VLAN0060 active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
<...output truncated...>
Switch_2> (enable)
Step 7 Note that spanning tree takes one to two minutes to converge. After the network stabilizes, check the
spanning tree state of each trunk port on Switch 1 by entering the show spantree command.
Trunk 1 is forwarding for all VLANs. Trunk 2 is blocking for all VLANs. On Switch 2, both trunks are
forwarding for all VLANs, but no traffic passes over Trunk 2 because port 1/2 on Switch 1 is blocking.
Switch_1> (enable) show spantree 1/1
Port Vlan Port-State Cost Priority Fast-Start Group-method
--------- ---- ------------- ----- -------- ---------- ------------
1/1 1 forwarding 19 32 disabled
1/1 10 forwarding 19 32 disabled
1/1 20 forwarding 19 32 disabled
1/1 30 forwarding 19 32 disabled
1/1 40 forwarding 19 32 disabled
1/1 50 forwarding 19 32 disabled
1/1 60 forwarding 19 32 disabled
1/1 1003 not-connected 19 32 disabled
1/1 1005 not-connected 19 4 disabled
Switch_1> (enable) show spantree 1/2
Port Vlan Port-State Cost Priority Fast-Start Group-method
--------- ---- ------------- ----- -------- ---------- ------------
1/2 1 blocking 19 32 disabled
1/2 10 blocking 19 32 disabled
1/2 20 blocking 19 32 disabled
1/2 30 blocking 19 32 disabled
1/2 40 blocking 19 32 disabled
1/2 50 blocking 19 32 disabled
1/2 60 blocking 19 32 disabled
1/2 1003 not-connected 19 32 disabled
1/2 1005 not-connected 19 4 disabled
Switch_1> (enable)
Step 8 Divide the configured VLANs into two groups. You might want traffic from half of the VLANs to go
over one trunk link and half over the other, or if one VLAN has heavier traffic than the others, you can
forward traffic from that VLAN over one trunk and traffic from the other VLANs over the other trunk
link.
Note In the following steps, VLANs 10, 20, and 30 (Group 1) are forwarded over Trunk 1, and
VLANs 40, 50, and 60 (Group 2) are forwarded over Trunk 2.
Step 9 On Switch 1, change the port-VLAN priority for the Group 1 VLANs on Trunk 1 (port 1/1) to an integer
value lower than the default of 32 by entering the set spantree portvlanpri command.
Switch_1> (enable) set spantree portvlanpri 1/1 1 10
Port 1/1 vlans 1-9,11-1004 using portpri 32.
Port 1/1 vlans 10 using portpri 1.
Port 1/1 vlans 1005 using portpri 4.
Switch_1> (enable) set spantree portvlanpri 1/1 1 20
Port 1/1 vlans 1-9,11-19,21-1004 using portpri 32.
Port 1/1 vlans 10,20 using portpri 1.
Port 1/1 vlans 1005 using portpri 4.
Switch_1> (enable) set spantree portvlanpri 1/1 1 30
Port 1/1 vlans 1-9,11-19,21-29,31-1004 using portpri 32.
Port 1/1 vlans 10,20,30 using portpri 1.
Port 1/1 vlans 1005 using portpri 4.
Switch_1> (enable)
Step 10 On Switch 1, change the port-VLAN priority for the Group 2 VLANs on Trunk 2 (port 1/2) to an integer
value lower than the default of 32 by entering the set spantree portvlanpri command.
Switch_1> (enable) set spantree portvlanpri 1/2 1 40
Port 1/2 vlans 1-39,41-1004 using portpri 32.
Port 1/2 vlans 40 using portpri 1.
Port 1/2 vlans 1005 using portpri 4.
Switch_1> (enable) set spantree portvlanpri 1/2 1 50
Port 1/2 vlans 1-39,41-49,51-1004 using portpri 32.
Port 1/2 vlans 40,50 using portpri 1.
Port 1/2 vlans 1005 using portpri 4.
Switch_1> (enable) set spantree portvlanpri 1/2 1 60
Port 1/2 vlans 1-39,41-49,51-59,61-1004 using portpri 32.
Port 1/2 vlans 40,50,60 using portpri 1.
Port 1/2 vlans 1005 using portpri 4.
Switch_1> (enable)
Step 11 On Switch 2, change the port-VLAN priority for the Group 1 VLANs on Trunk 1 (port 1/1) to the same
value you configured for those VLANs on Switch 1 by entering the set spantree portvlanpri command.
Caution The port-VLAN priority for each VLAN must be equal on both ends of the link.
Switch_2> (enable) set spantree portvlanpri 1/1 1 10
Port 1/1 vlans 1-9,11-1004 using portpri 32.
Port 1/1 vlans 10 using portpri 1.
Port 1/1 vlans 1005 using portpri 4.
Switch_2> (enable) set spantree portvlanpri 1/1 1 20
Port 1/1 vlans 1-9,11-19,21-1004 using portpri 32.
Port 1/1 vlans 10,20 using portpri 1.
Port 1/1 vlans 1005 using portpri 4.
Switch_2> (enable) set spantree portvlanpri 1/1 1 30
Port 1/1 vlans 1-9,11-19,21-29,31-1004 using portpri 32.
Port 1/1 vlans 10,20,30 using portpri 1.
Port 1/1 vlans 1005 using portpri 4.
Switch_2> (enable)
Step 12 On Switch 2, change the port-VLAN priority for the Group 2 VLANs on Trunk 2 (port 1/2) to the same
value you configured for those VLANs on Switch 1 by entering the set spantree portvlanpri command.
Switch_2> (enable) set spantree portvlanpri 1/2 1 40
Port 1/2 vlans 1-39,41-1004 using portpri 32.
Port 1/2 vlans 40 using portpri 1.
Port 1/2 vlans 1005 using portpri 4.
Switch_2> (enable) set spantree portvlanpri 1/2 1 50
Port 1/2 vlans 1-39,41-49,51-1004 using portpri 32.
Port 1/2 vlans 40,50 using portpri 1.
Port 1/2 vlans 1005 using portpri 4.
Switch_2> (enable) set spantree portvlanpri 1/2 1 60
Port 1/2 vlans 1-39,41-49,51-59,61-1004 using portpri 32.
Port 1/2 vlans 40,50,60 using portpri 1.
Port 1/2 vlans 1005 using portpri 4.
Switch_2> (enable)
Note When you have configured the port-VLAN priorities on both ends of the link, the spanning
tree converges to use the new configuration.
Step 13 Check the spanning tree port states on Switch 1 by entering the show spantree command. The Group 1
VLANs should forward on Trunk 1 and block on Trunk 2. The Group 2 VLANs should block on Trunk 1
and forward on Trunk 2.
Switch_1> (enable) show spantree 1/1
Port Vlan Port-State Cost Priority Fast-Start Group-method
--------- ---- ------------- ----- -------- ---------- ------------
1/1 1 forwarding 19 32 disabled
1/1 10 forwarding 19 1 disabled
1/1 20 forwarding 19 1 disabled
1/1 30 forwarding 19 1 disabled
1/1 40 blocking 19 32 disabled
1/1 50 blocking 19 32 disabled
1/1 60 blocking 19 32 disabled
1/1 1003 not-connected 19 32 disabled
1/1 1005 not-connected 19 4 disabled
Switch_1> (enable) show spantree 1/2
Port Vlan Port-State Cost Priority Fast-Start Group-method
--------- ---- ------------- ----- -------- ---------- ------------
1/2 1 blocking 19 32 disabled
1/2 10 blocking 19 32 disabled
1/2 20 blocking 19 32 disabled
1/2 30 blocking 19 32 disabled
1/2 40 forwarding 19 1 disabled
1/2 50 forwarding 19 1 disabled
1/2 60 forwarding 19 1 disabled
1/2 1003 not-connected 19 32 disabled
1/2 1005 not-connected 19 4 disabled
Switch_1> (enable)
Figure 5-4 shows the network after you configure VLAN traffic load sharing.
Figure 5-4 Parallel Trunk Configuration After Configuring VLAN-Traffic Load Sharing
Trunk 2
VLANs 10, 20, and 30: port-VLAN priority 32 (blocking)
VLANs 40, 50, and 60: port-VLAN priority 1 (forwarding)
Switch 1 Switch 2
1/1 1/1
1/2 1/2
Trunk 1
VLANs 10, 20, and 30: port-VLAN priority 1 (forwarding)
16749
VLANs 40, 50, and 60: port-VLAN priority 32 (blocking)
Figure 5-4 shows that both trunks are utilized when the network is operating normally; if one trunk link
fails, the other trunk link acts as an alternate forwarding path for the traffic previously traveling over the
failed link.
If Trunk 1 fails in the network shown in Figure 5-4, STP reconverges to use Trunk 2 to forward traffic
from all the VLANs, as shown in this example:
Switch_1> (enable) 04/21/1998,03:15:40:DISL-5:Port 1/1 has become non-trunk
Task Command
Step 1 Disable VLAN 1 on the trunk interface. clear trunk mod/port [vlan-range]
Step 2 Verify the allowed VLAN list for the trunk. show trunk [mod/port]
This example shows how to disable VLAN 1 on a trunk link and verify the configuration:
Console> (enable) clear trunk 8/1 1
Removing Vlan(s) 1 from allowed list.
Port 8/1 allowed vlans modified to 2-1005.
Console> (enable) show trunk 8/1
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
8/1 on isl trunking 1
This chapter describes how to use the command-line interface (CLI) to configure EtherChannel on the
Catalyst 6000 family switches. The configuration tasks in this chapter apply to Ethernet, Fast Ethernet,
and Gigabit Ethernet switching modules, as well as to the uplink ports on the supervisor engine.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note The commands in the following sections can be used on all Ethernet ports in the Catalyst 6000 family
switches.
Note With software release 6.2(1) and earlier releases, the 6- and 9-slot Catalyst 6000 family switches
support a maximum of 128 EtherChannels.
With software release 6.2(2) and later releases, due to the port ID handling by the spanning tree
feature, the maximum supported number of EtherChannels is 126 for a 6- or 9-slot chassis and 63
for a 13-slot chassis. Note that the 13-slot chassis was first supported in software release 6.2(2).
Note The network device to which a Catalyst 6000 family switch is connected may impose its own limits
on the number of ports in an EtherChannel.
If a segment within an EtherChannel fails, traffic previously carried over the failed link switches to the
remaining segments within the EtherChannel. A trap is sent upon a failure identifying the switch, the
EtherChannel, and the failed link. Inbound broadcast and multicast packets on one segment in an
EtherChannel are blocked from returning on any other segment of the EtherChannel.
You can configure EtherChannels as trunks. After a channel is formed, configuring any port in the
channel as a trunk applies the configuration to all ports in the channel. Identically configured trunk ports
can be configured as an EtherChannel.
These sections describe EtherChannel:
• Understanding Administrative Groups, page 6-2
• Understanding EtherChannel IDs, page 6-2
• Understanding Port Aggregation Protocol, page 6-2
• Understanding Frame Distribution, page 6-3
Mode Description
on Mode that forces the port to channel without PAgP. With the on mode, a usable
EtherChannel exists only when a port group in on mode is connected to another port group
in on mode.
off Mode that prevents the port from channeling.
auto PAgP mode that places a port into a passive negotiating state, in which the port responds
to PAgP packets it receives but does not initiate PAgP packet negotiation. (Default)
desirable PAgP mode that places a port into an active negotiating state, in which the port initiates
negotiations with other ports by sending PAgP packets.
silent Keyword that is used with the auto or desirable mode when no traffic is expected from
the other device to prevent the link from being reported to the Spanning Tree Protocol as
down. (Default)
non-silent Keyword that is used with the auto or desirable mode when traffic is expected from the
other device.
Both the auto and desirable modes allow ports to negotiate with connected ports to determine if they
can form an EtherChannel, based on criteria such as port speed, trunking state, and VLAN numbers.
Ports can form an EtherChannel when they are in different PAgP modes as long as the modes are
compatible:
• A port in desirable mode can form an EtherChannel successfully with another port that is in
desirable or auto mode.
• A port in auto mode can form an EtherChannel with another port in desirable mode.
• A port in auto mode cannot form an EtherChannel with another port that is also in auto mode,
because neither port will initiate negotiation.
When configurable, EtherChannel frame distribution can use MAC addresses, IP addresses, and Layer 4
port numbers. You can specify either source or destination address or both source and destination
addresses and Layer 4 port numbers. The mode you select applies to all EtherChannels configured on
the switch. Use the option that provides the greatest variety in your configuration. For example, if the
traffic on a channel is going to a single MAC address only, using source addresses or IP addresses or
Layer 4 port numbers as the basis for frame distribution may provide better frame distribution than
selecting MAC addresses as the basis.
Note To configure the EtherChannel across different modules, you must put the ports in the
same administrative group using the set port channel port_list admin_group command.
• Assign all ports in an EtherChannel to the same VLAN, or configure them as trunk ports.
• If you configure the EtherChannel as a trunk, configure the same trunk mode on all the ports in the
EtherChannel. Configuring ports in an EtherChannel in different trunk modes can have unexpected
results.
• An EtherChannel supports the same allowed range of VLANs on all the ports in a trunking
EtherChannel. If the allowed range of VLANs is not the same for a port list, the ports do not form
an EtherChannel even when set to the auto or desirable mode with the set port channel command.
• Ports with different port path costs, set by the set spantree portcost command, can form an
EtherChannel as long they are otherwise compatibly configured. Setting different port path costs
does not, by itself, make ports incompatible for the formation of an EtherChannel.
• Do not configure the ports in an EtherChannel as dynamic VLAN ports. Doing so can adversely
affect switch performance.
• An EtherChannel will not form with ports that have different GARP VLAN Registration Protocol
(GVRP), GARP Multicast Registration Protocol (GMRP), and quality of service (QoS)
configurations.
• Configure all ports in an EtherChannel to operate at the same speed and duplex mode.
• An EtherChannel will not form with ports where the port security feature is enabled.
• You cannot enable the port security feature for ports in an EtherChannel.
• An EtherChannel will not form if one of the ports is a SPAN destination port.
• An EtherChannel will not form if protocol filtering is set differently on the ports.
• Enable all ports in an EtherChannel. If you disable a port in an EtherChannel, it is treated as a link
failure and its traffic is transferred to one of the remaining ports in the EtherChannel.
• With software release 6.3(1) and later releases, an EtherChannel is preserved even if it contains only
one port. In software releases prior to 6.3(1), traffic was disrupted when you removed a 1-port
channel from spanning tree and then added it to spanning tree as an individual port.
Configuring EtherChannel
These sections describe how to configure EtherChannel:
• Configuring an EtherChannel, page 6-5
• Setting the EtherChannel Port Mode, page 6-5
• Setting the EtherChannel Port Path Cost, page 6-6
• Setting the EtherChannel VLAN Cost, page 6-6
• Configuring EtherChannel Frame Distribution, page 6-8
• Displaying EtherChannel Traffic Utilization, page 6-8
• Displaying Outgoing Ports for a Specified Address or Layer 4 Port Number, page 6-8
• Disabling an EtherChannel, page 6-9
Configuring an EtherChannel
To configure EtherChannel on a group of Ethernet ports, perform this task in privileged mode:
Task Command
Configure the EtherChannel on the desired ports. set port channel mod/ports... [admin_group]
set port channel mod/port mode
{on | off | desirable | auto} [silent | non-silent]
This example shows how to configure a seven-port EtherChannel in a new administrative group:
Console> (enable) set port channel 2/2-8 mode desirable
Ports 2/2-8 left admin_group 1.
Ports 2/2-8 joined admin_group 2.
Console> (enable)
Task Command
Set a port’s EtherChannel mode. set port channel mod/ports... [admin_group]
set port channel mod/port mode
{on | off | desirable | auto} [silent | non-silent]
Task Command
Step 1 Use the administrative group number to display show channel group admin_group
the EtherChannel ID.
Step 2 Use the EtherChannel ID to set the EtherChannel set channel cost {channel_id | all} cost
port path cost.
Note When you enter the set channel cost command, it does not appear in the configuration file.
The command causes a “set spantree portcost” entry to be created for each port in the
channel. See the “Configuring the PVST+ Port Cost” section in Chapter 8, “Configuring
Spanning Tree,” for information on using the set spantree portcost command.
This example shows how to set the EtherChannel port path cost for channel ID 768:
Console> (enable) show channel group 20
Admin Port Status Channel Channel
group Mode id
----- ----- ---------- --------- --------
20 1/1 notconnect on 768
20 1/2 connected on 768
The set channel vlancost command creates a “set spantree portvlancost” entry to the configuration file
for each port in the channel. Once you have entered the set channel vlancost command, you must enter
the set spantree portvlancost command for at least one port in the channel, specifying the VLAN or
VLANs that you want associated with each port. The following examples show what occurs when each
command is entered:
Console> (enable) set channel vlancost 856 10
Port(s) 3/47-48 vlan cost are updated to 16.
Channel 856 vlancost is set to 10.
To set the EtherChannel VLAN cost, perform this task in privileged mode:
Task Command
Step 1 Use the administrative group number to display show channel group admin_group
the EtherChannel ID.
Step 2 Use the EtherChannel ID to set the EtherChannel set channel vlancost channel_id cost
VLAN cost.
Step 3 Configure the port cost for the desired VLANs on set spantree portvlancost {mod/port} [cost cost]
each port. [vlan_list]
This example shows how to set the EtherChannel VLAN cost for channel ID 856:
Console> (enable) show channel group 22
Admin Port Status Channel Channel
group Mode id
----- ----- ---------- --------- --------
22 1/1 notconnect on 856
22 1/2 connected on 856
Task Command
Configure EtherChannel frame set port channel all distribution {ip | mac}
distribution. [source | destination | both]
set port channel all distribution {session} [both]
Note The set port channel all distribution session command option is supported on Supervisor Engine 2
only.
This example shows how to configure EtherChannel to use MAC source addresses:
Console> (enable) set port channel all distribution mac source
Channel distribution is set to mac source.
Console> (enable)
Task Command
Display traffic utilization. show channel traffic
Task Command
Display the outgoing port for a specified show channel hash channel_id src_ip_addr
address or Layer 4 port number. [dest_ip_addr] | dest_ip_address | src_mac_addr
[dest_mac_addr] | dest_mac_addr | src_port
dest_port
This example shows how to display the outgoing port for the specified source and destination IP
addresses:
Console> (enable) show channel hash 808 172.20.32.10 172.20.32.66
Selected channel port:2/17
Console> (enable)
Disabling an EtherChannel
To disable an EtherChannel, perform this task in privileged mode:
Task Command
Disable an EtherChannel. set port channel mod/port mode off
This chapter describes how to configure IEEE 802.1Q tunneling on the Catalyst 6000 family switches.
This chapter consists of these sections:
• Understanding How 802.1Q Tunneling Works, page 7-1
• 802.1Q Tunneling Configuration Guidelines, page 7-2
• Configuring Support for 802.1Q Tunneling, page 7-3
• VLAN Trunk Protocol (VTP) does not work between the following devices:
– Devices connected by an asymmetrical link
– Devices communicating through a tunnel
Note To configure an EtherChannel as an asymmetrical link, all ports in the EtherChannel must have the
same tunneling configuration. Since the Layer 3 packet within the Layer 2 frame cannot be identified,
configure the EtherChannel to use MAC-address-based frame distribution.
• Generic Attribute Registration Protocol (GARP) VLAN Registration Protocol (GVRP) works
between devices communicating through a tunnel, but does not work between devices connected by
an asymmetrical link.
• An interconnected network cannot have redundant paths to two different edge switches in an ISP.
An interconnected network may have redundant paths to the same edge switch in an ISP, but the
customer network must use Per VLAN Spanning Tree + (PVST+) and cannot be configured for
Multi-Instance Spanning Tree Protocol (MISTP). The ISP infrastructure must use either PVST+ or
MISTP-PVST+.
Caution Ensure that only the appropriate tunnel ports are in any VLAN used for tunneling and that one VLAN
is used for each tunnel. Incorrect assignment of tunnel ports to VLANs can forward traffic
inappropriately.
Task Command
Step 1 Configure tunneling support on the switch. set dot1q-all-tagged enable [all]
Step 2 Verify the configuration. show dot1q-all-tagged
This example shows how to configure tunneling on the switch and verify the configuration:
Console> (enable) set dot1q-all-tagged enable
Dot1q tagging is enabled
Console> (enable) show dot1q-all-tagged
Dot1q all tagged mode enabled
Console> (enable)
Task Command
Step 1 Configure tunneling on a port. set port dot1qtunnel {mod/port} access
Step 2 Verify the configuration. show port dot1qtunnel [mod[/port]]
This example shows how to configure tunneling on port 4/1 and verify the configuration:
Console> (enable) set port dot1qtunnel 4/1 access
Dot1q tunnel feature set to access mode on port 4/1.
Port 4/1 trunk mode set to off.
Console> (enable) show port dot1qtunnel 4/1
Port Dot1q tunnel mode
----- -----------------
4/1 access
Task Command
Step 1 Clear tunneling from a port. set port dot1qtunnel {mod/port} disable
Step 2 Verify the configuration. show port dot1qtunnel [mod[/port]]
This example shows how to clear tunneling on port 4/1 and verify the configuration:
Console> (enable) set port dot1qtunnel 4/1 disable
Dot1q tunnel feature disabled on port 4/1.
Console> (enable) show port dot1qtunnel 4/1
Port Dot1q tunnel mode
----- -----------------
4/1 disabled
To remove global support for 802.1Q tunneling on the switch, perform this task in privileged mode:
Task Command
Step 1 Remove tunneling support on the switch. set dot1q-all-tagged disable [all]
Step 2 Verify the configuration. show dot1q-all-tagged
This example shows how to remove tunneling support on the switch and verify the configuration:
Console> (enable) set dot1q-all-tagged disable
Dot1q tagging is disabled
Console> (enable) show dot1q-all-tagged
Dot1q all tagged mode disabled
Console> (enable)
This chapter describes the IEEE 802.1D bridge Spanning Tree Protocol (STP) and how to use and
configure Cisco’s proprietary spanning tree protocols, Per VLAN Spanning Tree + (PVST+) and
Multi-Instance Spanning Tree Protocol (MISTP), on the Catalyst 6000 family switches.
Note For information on configuring the spanning tree PortFast, UplinkFast, and BackboneFast features,
see Chapter 9, “Configuring Spanning Tree PortFast, UplinkFast, BackboneFast, and Loop Guard.”
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
The Spanning Tree Protocol (STP) uses a distributed algorithm that selects one bridge of a redundantly
connected network as the root of a spanning tree connected active topology. STP assigns roles to each
port depending on what the port’s function is in the active topology. Port roles are as follows:
• Root—A unique forwarding port elected for the spanning tree topology
• Designated—A forwarding port elected for every switched LAN segment
• Alternate—A blocked port providing an alternate path to the root port in the spanning tree
• Backup—A blocked port in a loopback configuration
Switches that have ports with these assigned roles are called root or designated switches. For more
information, see the “Understanding How a Switch Becomes the Root Switch” section on page 8-3.
In Ethernet networks, only one active path may exist between any two stations. Multiple active paths
between stations can cause loops in the network. When loops occur, some switches recognize stations
on both sides of the switch. This situation causes the forwarding algorithm to malfunction allowing
duplicate frames to be forwarded.
Spanning tree algorithms provide path redundancy by defining a tree that spans all of the switches in an
extended network and then forces certain redundant data paths into a standby (blocked) state. At regular
intervals, the switches in the network send and receive spanning tree packets that they use to identify the
path. If one network segment becomes unreachable, or if spanning tree costs change, the spanning tree
algorithm reconfigures the spanning tree topology and reestablishes the link by activating the standby
path.
Spanning tree operation is transparent to end stations, which do not detect whether they are connected
to a single LAN segment or a switched LAN of multiple segments.
These sections describe the STP:
• Understanding How a Topology is Created, page 8-2
• Understanding How a Switch Becomes the Root Switch, page 8-3
• Understanding How Bridge Protocol Data Units Work, page 8-3
• Calculating and Assigning Port Costs, page 8-4
• Spanning Tree Port States, page 8-5
In a switched network, the root switch is the logical center of the spanning tree topology. A spanning
tree protocol uses BPDUs to elect the root switch and root port for the switched network, as well as the
root port and designated port for each switched segment.
DP
DP DP
A D
DP RP DP DP
RP RP DP S5688
B C
RP = Root Port
DP = Designated Port
You can change the priority of a port to make it the root port. When the spanning tree topology is based
on default parameters, the path between source and destination stations in a switched network might not
be ideal. Connecting higher-speed links to a port that has a higher number than the current root port can
cause a root-port change. The goal is to make the fastest link the root port.
For example, assume that a port on Switch B is a fiber-optic link. Also, another port on Switch B (an
unshielded twisted-pair [UTP] link) is the root port. Network traffic might be more efficient over the
high-speed fiber-optic link. By changing the Port Priority parameter for the fiber-optic port to a higher
priority (lower numerical value) than the UTP port, the fiber-optic port becomes the root port. You could
also accomplish this scenario by changing the Port Cost parameter for the fiber-optic port to a lower value
than that of the UTP port.
The switch sends configuration BPDUs to communicate and compute the spanning tree topology. A
MAC frame conveying a BPDU sends the switch group address to the destination address field. All
switches connected to the LAN on which the frame is transmitted receive the BPDU. BPDUs are not
directly forwarded by the switch, but the receiving switch uses the information in the frame to calculate
a BPDU, and if the topology changes, initiates a BPDU transmission.
A BPDU exchange results in the following:
• One switch is elected as the root switch.
• The shortest distance to the root switch is calculated for each switch.
• A designated switch is selected. This is the switch that is closest to the root switch through which
frames will be forwarded to the root.
• A port for each switch is selected. This is the port that provides the best path from the switch to the
root switch.
• Ports included in the STP are selected.
Note You should configure all switches in your network to use the same method for calculating port cost. The
short method is used to calculate the port cost unless you specify that the long method be used. You can
specify the calculation method using the CLI.
Note With IOS Release 12.1.(1)E or later releases on the Multilayer Switch Feature Card (MSFC), the
Address Resolution Protocol (ARP) on the STP Topology Change Notification feature ensures that
excessive flooding does not occur when the MSFC receives a topology change notification (TCN)
from the supervisor engine. The feature causes the MSFC to send ARP requests for all the ARP
entries belonging to the VLAN interface where the TCN is received. When the ARP replies come
back, the Policy Feature Card (PFC) learns the MAC entries, which were lost as a result of the
topology change. Learning the entries immediately following a topology change prevents excessive
flooding later. There is no configuration required on the MSFC. This feature works with supervisor
engine software release 5.4(2) or later releases.
At any given time, each port on a switch using a spanning tree protocol is in one of these states:
• Blocking
• Listening
• Learning
• Forwarding
• Disabled
A port moves through these states as follows:
• From initialization to blocking
• From blocking to listening or to disabled
• From listening to learning or to disabled
• From learning to forwarding or to disabled
• From forwarding to disabled
Figure 8-2 illustrates how a port moves through the states.
Boot-up
initialization
Blocking
state
Listening Disabled
state state
Learning
state
Forwarding
S5691
state
You can modify each port state by using management software, for example, VLAN Trunking Protocol
(VTP). When you enable spanning tree, every switch in the network goes through the blocking state and
the transitory states of listening and learning at power up. If properly configured, each port stabilizes
into the forwarding or blocking state.
When the spanning tree algorithm places a port in the forwarding state, the following occurs:
• The port is put into the listening state while it waits for protocol information that suggests it should
go to the blocking state.
• The port waits for the expiration of a protocol timer that moves the port to the learning state.
• In the learning state, the port continues to block frame forwarding as it learns station location
information for the forwarding database.
• The expiration of a protocol timer moves the port to the forwarding state, where both learning and
forwarding are enabled.
Blocking State
A port in the blocking state does not participate in frame forwarding (see Figure 8-3). After
initialization, a BPDU is sent to each port in the switch. A switch initially assumes it is the root until it
exchanges BPDUs with other switches. This exchange establishes which switch in the network is really
the root. If only one switch resides in the network, no exchange occurs, the forward delay timer expires,
and the ports move to the listening state. A switch always enters the blocking state following switch
initialization.
Segment Forwarding
frames
Port 1
Network
Station
management
addresses BPDUs and data frames
BPDUs
Network
management
frames
Data
S5692
frames
Port 2
Blocking Segment
frames
Listening State
The listening state is the first transitional state a port enters after the blocking state. The port enters this
state when the spanning tree determines that the port should participate in frame forwarding. Learning
is disabled in the listening state. Figure 8-4 shows a port in the listening state.
Port 1
Network
Station
management
addresses BPDUs and data frames
BPDUs
Network
management
frames
Data
frames
S5693
Port 2
Learning State
A port in the learning state prepares to participate in frame forwarding. The port enters the learning state
from the listening state. Figure 8-5 shows a port in the learning state.
A port in the learning state performs as follows:
• Discards frames received from the attached segment.
• Discards frames switched from another port for forwarding.
• Incorporates station location into its address database.
• Receives BPDUs and directs them to the system module.
• Receives, processes, and transmits BPDUs received from the system module.
• Receives and responds to network management messages.
Port 1
Network
Station
management
addresses BPDUs and data frames
Station
addresses BPDUs Network
management
frames
Data
frames
S5694
Port 2
Forwarding State
A port in the forwarding state forwards frames, as shown in Figure 8-6. The port enters the forwarding
state from the learning state.
Port 1
Network
Station
management
addresses BPDUs and data frames
BPDUs Network
Station
addresses management
and data frames
S5695
Port 2
Caution Use spanning tree PortFast mode only on ports directly connected to individual workstations to allow
these ports to come up and go directly to the forwarding state, instead of having to go through the
entire spanning tree initialization process. To prevent illegal topologies, enable spanning tree on ports
connected to switches or other devices that forward messages. For more information about PortFast,
see Chapter 9, “Configuring Spanning Tree PortFast, UplinkFast, BackboneFast, and Loop Guard.”
Disabled State
A port in the disabled state does not participate in frame forwarding or STP, as shown in Figure 8-7. A
port in the disabled state is virtually nonoperational.
Port 1
Network
Station
management
addresses BPDUs and data frames
Network
management
frames
Data
S5696
frames
Port 2
An overview of each mode is provided in this section. Each mode is described in detail in these sections:
• Using PVST+, page 8-15
• Using MISTP-PVST+ or MISTP, page 8-22
Caution If your network currently uses PVST+ and you plan to use MISTP on any switch, you must first
enable MISTP-PVST+ on the switch and configure an MISTP instance to avoid causing loops in the
network.
PVST+ Mode
PVST+ is the default spanning tree protocol used on all Ethernet, Fast Ethernet, and Gigabit Ethernet
port-based VLANs on Catalyst 6000 family switches. PVST+ runs on each VLAN on the switch,
ensuring that each VLAN has a loop-free path through the network.
PVST+ provides Layer 2 load balancing for the VLAN on which it runs; you can create different logical
topologies using the VLANs on your network to ensure that all the links are used and no link is
oversubscribed.
Each PVST+ instance on a VLAN has a single root switch. This root switch propagates the spanning tree
information associated with that VLAN to all other switches in the network. This process ensures that
the network topology is maintained because each switch has the same knowledge about the network.
MISTP Mode
MISTP is an optional spanning tree protocol that runs on Catalyst 6000 family switches. MISTP allows
you to group multiple VLANs under a single instance of spanning tree (an MISTP instance). MISTP
combines the Layer 2 load-balancing benefits of PVST+ with the lower CPU load of IEEE 802.1Q.
An MISTP instance is a virtual logical topology defined by a set of bridge and port parameters. When
you map VLANs to an MISTP instance, this virtual logical topology becomes a physical topology. Each
MISTP instance has its own root switch and a different set of forwarding links, that is, different bridge
and port parameters.
Each MISTP instance root switch propagates the information associated with it to all other switches in
the network. This process maintains the network topology because it ensures that each switch has the
same information about the network.
MISTP builds MISTP instances by exchanging MISTP BPDUs with peer entities in the network. MISTP
uses one BPDU for each MISTP instance, rather than one for each VLAN, as in PVST+. Because there
are fewer BPDUs in an MISTP network, MISTP networks converge faster with less overhead. MISTP
discards PVST+ BPDUs.
An MISTP instance can have any number of VLANs mapped to it, but a VLAN can be mapped only to
a single MISTP instance. You can easily move a VLAN (or VLANs) in an MISTP topology to another
MISTP instance if it has converged. (However, if ports are added at the same time the VLAN is moved,
convergence time is required.)
MISTP-PVST+ Mode
MISTP-PVST+ is a transition spanning tree mode that allows you to use the MISTP functionality on
Catalyst 6000 family switches while continuing to communicate with Catalyst 5000 and 6000 switches
in your network that use PVST+. A switch using PVST+ mode that is connected to a switch using MISTP
mode cannot see the BPDUs of the other switch, a condition that can cause loops in the network.
MISTP-PVST+ allows interoperability between PVST+ and pure MISTP because it sees the BPDUs of
both modes. To convert your network to MISTP, use MISTP-PVST+ to transition the network from
PVST+ to MISTP.
Because MISTP-PVST+ conforms to the limits of PVST+, you cannot configure more VLAN ports on
your MISTP-PVST+ switches than on your PVST+ switches.
Bridge Identifiers
These sections explain how MAC addresses are used in PVST+ and MISTP as unique bridge identifiers:
• MAC Address Allocation, page 8-13
• MAC Address Reduction, page 8-13
Figure 8-8 shows the bridge identifier when you do not enable MAC address reduction. The bridge
identifier consists of the bridge priority and the MAC address.
43841
2 bytes 6 bytes
Figure 8-9 shows the bridge identifier when you enable MAC address reduction. The bridge identifier
consists of the bridge priority, the system ID extension, and the MAC address. The bridge priority and
the system ID extension combined are known as the bridge ID priority. The bridge ID priority is the
unique identifier for the VLAN or the MISTP instance.
Bridge ID Priority
43842
4 bits 12 bits 6 bytes
When you enter a show spantree command, you can see the bridge ID priority for a VLAN in PVST+
or for an MISTP instance in MISTP or MISTP-PVST+ mode.
This example shows the bridge ID priority for VLAN 1 when you enable MAC address reduction in
PVST+ mode. The unique identifier for this VLAN is 32769.
Console> (enable) show spantree 1
VLAN 1
Spanning tree mode PVST+
Spanning tree type ieee
.
.
.
Bridge ID MAC ADDR 00-d0-00-4c-18-00
Bridge ID Priority 32769 (bridge priority: 32768, sys ID ext: 1)
Bridge Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec
If you have a Catalyst switch in your network with MAC address reduction enabled, you should also
enable MAC address reduction on all other Layer-2 connected switches to avoid undesirable root
election and spanning tree topology issues.
When MAC address reduction is enabled, the root bridge priority becomes a multiple of 4096 plus the
VLAN ID. With MAC address reduction enabled, a switch bridge ID (used by the spanning-tree
algorithm to determine the identity of the root bridge, the lowest being preferred) can only be specified
as a multiple of 4096. Only the following values are possible: 0, 4096, 8192, 12288, 16384, 20480,
24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, and 61440.
Therefore, if another bridge in the same spanning-tree domain does not run the MAC address reduction
feature, it could claim and win root bridge ownership because of the finer granularity in the selection of
its bridge ID.
Note The MAC address reduction feature is enabled by default on Cisco switches that have 64 MAC addresses
(Cisco 7606, CISCO7603, WS-C6503, and WS-C6513).
Using PVST+
PVST+ is the default spanning tree mode for Catalyst 6000 family switches. These sections describe how
to configure PVST+ on Ethernet VLANs:
• Default PVST+ Configuration, page 8-15
• Setting the PVST+ Bridge ID Priority, page 8-16
• Configuring the PVST+ Port Cost, page 8-17
• Configuring the PVST+ Port Priority, page 8-18
• Configuring the PVST+ Default Port Cost Mode, page 8-18
• Configuring the PVST+ Port Cost for a VLAN, page 8-19
• Configuring the PVST+ Port Priority for a VLAN, page 8-20
• Disabling the PVST+ Mode on a VLAN, page 8-20
Task Command
Step 1 Set the PVST+ bridge ID priority for a VLAN. set spantree priority bridge_ID_priority [vlan]
Step 2 Verify the bridge ID priority. show spantree [vlan] [active]
This example shows how to set the PVST+ bridge ID priority when MAC address reduction is not
enabled (default):
Console> (enable) set spantree priority 30000 1
Spantree 1 bridge priority set to 30000.
Console> (enable) show spantree 1
VLAN 1
Spanning tree mode PVST+
Spanning tree type ieee
Spanning tree enabled
This example shows how to set the PVST+ bridge ID priority when MAC reduction is enabled:
Console> (enable) set spantree priority 32768 1
Spantree 1 bridge ID priority set to 32769
(bridge priority: 32768 + sys ID extension: 1)
Console> (enable) show spantree 1/1 1
VLAN 1
Spanning tree mode PVST+
Spanning tree type ieee
Spanning tree enabled
Task Command
Step 1 Configure the PVST+ port cost for a switch set spantree portcost {mod/port} cost
port.
Step 2 Verify the port cost setting. show spantree mod/port
Note When you enter the set channel cost command, it does not appear in the configuration file.
The command causes a “set spantree portcost” entry to be created for each port in the
channel. See the “Setting the EtherChannel Port Path Cost” section in Chapter 6,
“Configuring EtherChannel,” for information on using the set channel cost command.
This example shows how to configure the PVST+ port cost on a port and verify the configuration:
Console> (enable) set spantree portcost 2/3 12
Spantree port 2/3 path cost set to 12.
Console> (enable) show spantree 2/3
VLAN 1
.
.
.
Port Vlan Port-State Cost Prio Portfast Channel_id
------------------------ ---- ------------- --------- ---- -------- ----------
1/1 1 not-connected 4 32 disabled 0
1/2 1 not-connected 4 32 disabled 0
2/1 1 not-connected 100 32 disabled 0
2/2 1 not-connected 100 32 disabled 0
2/3 1 forwarding 12 32 disabled 0
Task Command
Step 1 Configure the PVST+ port priority for a set spantree portpri mod/port priority
switch port.
Step 2 Verify the port priority setting. show spantree mod/port
This example shows how to configure the PVST+ port priority for a port:
Console> (enable) set spantree portpri 2/3 16
Bridge port 2/3 port priority set to 16.
Console> (enable) show spantree 2/3
VLAN 1
.
.
.
Port Vlan Port-State Cost Prio Portfast Channel_id
------------------------ ---- ------------- --------- ---- -------- ----------
1/1 1 not-connected 4 32 disabled 0
1/2 1 not-connected 4 32 disabled 0
2/1 1 not-connected 100 32 disabled 0
2/2 1 not-connected 100 32 disabled 0
2/3 1 forwarding 19 16 disabled 0
2/4 1 not-connected 100 32 disabled 0
Task Command
Configure the PVST+ default port cost mode. set spantree defaultcostmode {short | long}
This example shows how to configure the PVST+ default port cost mode:
Console> (enable) set spantree defaultcostmode long
Portcost and portvlancost set to use long format default values.
Console> (enable)
Task Command
Configure the PVST+ port cost for a set spantree portvlancost {mod/port} [cost cost]
VLAN on a port. [vlan_list]
Note When you use the set channel cost command, it does not appear in the configuration file. The
command causes a “set spantree portcost” entry to be created for each port in the channel. See the
“Setting the EtherChannel Port Path Cost” section in Chapter 6, “Configuring EtherChannel,” for
information on using the set channel cost command.
This example shows how to configure the PVST+ port VLAN cost on port 2/3 for VLANs 1 through 5:
Console> (enable) set spantree portvlancost 2/3 cost 20000 1-5
Port 2/3 VLANs 6-11,13-1005,1025-4094 have path cost 12.
Port 2/3 VLANs 1-5,12 have path cost 20000.
This parameter applies to trunking ports only.
Console> (enable
Task Command
Step 1 Configure the PVST+ port priority for a VLAN on set spantree portvlanpri mod/port priority
a port. [vlans]
Step 2 Verify the port VLAN priority. show config all
This example shows how to configure the port priority for VLAN 6 on port 2/3:
Console> (enable) set spantree portvlanpri 2/3 16 6
Port 2/3 vlans 6 using portpri 16.
Port 2/3 vlans 1-5,7-800,802-1004,1006-4094 using portpri 32.
Port 2/3 vlans 801,1005 using portpri 4.
This parameter applies to trunking ports only.
Console> (enable) show config all
.
.
.
set spantree portcost 2/12,2/15 19
set spantree portcost 2/1-2,2/4-11,2/13-14,2/16-48 100
set spantree portcost 2/3 12
set spantree portpri 2/1-48 32
set spantree portvlanpri 2/1 0
set spantree portvlanpri 2/2 0
.
.
.
set spantree portvlanpri 2/48 0
set spantree portvlancost 2/1 cost 99
set spantree portvlancost 2/2 cost 99
set spantree portvlancost 2/3 cost 20000 1-5,12
Caution We do not recommend disabling spanning tree, even in a topology that is free of physical loops.
Spanning tree serves as a safeguard against misconfigurations and cabling errors. Do not disable
spanning tree in a VLAN without ensuring that there are no physical loops present in the VLAN.
Caution Do not disable spanning tree on a VLAN unless all switches or routers in the VLAN have spanning
tree disabled. You cannot disable spanning tree on some switches or routers in a VLAN and leave
spanning tree enabled on other switches or routers in the VLAN. If spanning tree remains enabled on
the switches and routers, they will have incomplete information about the physical topology of the
network which may cause unexpected results.
Task Command
Disable PVST+ mode on a VLAN. set spantree disable vlans [all]
Note We recommend that if you use MISTP mode, you should configure all of your Catalyst 6000 family
switches to run MISTP.
To use MISTP mode, you first enable an MISTP instance, then map at least one VLAN to the instance.
You must have at least one forwarding port in the VLAN in order for the MISTP instance to be active.
Note Map VLANs to MISTP instances on Catalyst 6000 family switches that are either in VTP server
mode or transparent mode only. You cannot map VLANs to MISTP instances on switches that are in
VTP client mode.
If you are changing a switch from PVST+ mode to MISTP mode and you have other switches in the
network that are using PVST+, you must first enable MISTP-PVST+ mode on each switch on which you
intend to use MISTP so that PVST+ BPDUs can flow through the switches while you configure them.
When all switches in the network are configured in MISTP-PVST+, you can then enable MISTP on all
of the switches.
These sections describe how to use MISTP-PVST+ or MISTP:
• Default MISTP and MISTP-PVST+ Configuration, page 8-23
• Setting MISTP-PVST+ Mode or MISTP Mode, page 8-23
• Configuring an MISTP Instance, page 8-25
• Mapping VLANs to an MISTP Instance, page 8-29
• Disabling MISTP-PVST+ or MISTP, page 8-31
Caution If you have more than 6000 VLAN ports configured on your switch, changing from MISTP to either
PVST+ or MISTP-PVST+ mode could bring down your network. Reduce the number of configured
VLAN ports on your switch to no more than 6000 to avoid losing connectivity.
Caution If you are working from a Telnet connection to your switch, the first time you enable MISTP-PVST+
or MISTP mode, you must do so from the switch console; do not use a Telnet connection through the
data port or you will lose your connection to the switch. After you map a VLAN to an MISTP
instance, you can Telnet to the switch.
To change from PVST+ to MISTP-PVST+ or MISTP, perform this task in privileged mode:
Task Command
Set a spanning tree mode. set spantree mode {mistp | pvst+ | mistp-pvst+}
You can display VLAN-to-MISTP instance mapping information propagated from the root switch at
runtime. This display is available only in the MISTP or MISTP-PVST+ mode. When in the PVST+
mode, use the optional keyword config to display the list of mappings configured on the local switch.
Note MAC addresses are not displayed when you specify the keyword config.
Task Command
Step 1 Set the spanning tree mode to MISTP. set spantree mode mistp
Step 2 Show the spanning tree mapping. show spantree mapping [config]
This example shows how to display the spanning tree VLAN instance mapping in MISTP mode:
MISTP/MISTP-PVST+
Console> (enable) set spantree mode mistp
PVST+ database cleaned up.
Spantree mode set to MISTP.
Console> (enable) show spantree mapping
Inst Root Mac Vlans
---- ----------------- --------------------------
1 00-50-3e-78-70-00 1
2 00-50-3e-78-70-00 -
3 00-50-3e-78-70-00 -
4 00-50-3e-78-70-00 -
5 00-50-3e-78-70-00 -
6 00-50-3e-78-70-00 -
7 00-50-3e-78-70-00 -
8 00-50-3e-78-70-00 -
9 00-50-3e-78-70-00 -
10 00-50-3e-78-70-00 -
11 00-50-3e-78-70-00 -
12 00-50-3e-78-70-00 -
13 00-50-3e-78-70-00 -
14 00-50-3e-78-70-00 -
15 00-50-3e-78-70-00 -
16 00-50-3e-78-70-00 -
Task Command
Step 1 Configure the bridge ID priority for an set spantree priority bridge_ID_priority [mistp-instance
MISTP instance. instance]
Step 2 Verify the bridge ID priority. show spantree mistp-instance instance [mod/port] active
The example shows how to configure the bridge ID priority for an MISTP instance:
Console> (enable) set spantree priority 8192 mistpinstance 1
Spantree 1 bridge ID priority set to 8193
(bridge priority: 8192 + sys ID extension: 1)
Console> (enable) show spantree mistp-instance 1
VLAN 1
Spanning tree mode MISTP
Spanning tree type ieee
Spanning tree enabled
VLAN mapped to MISTP Instance: 1
Task Command
Step 1 Configure the MISTP port cost for a switch port. set spantree portcost mod/port cost
Step 2 Verify the port cost setting. show spantree mistp-instance instance
[mod/port] active
This example shows how to configure the port cost on a MISTP instance and verify the configuration:
Console> (enable) set spantree portcost 2/12 22222222
Spantree port 2/12 path cost set to 22222222.
Console> (enable) show spantree mistp-instance active
Instance 1
Spanning tree mode MISTP-PVST+
Spanning tree type ieee
Spanning tree instance enabled
Task Command
Step 1 Configure the MISTP port priority for a port. set spantree portpri mod/port priority [instance]
Step 2 Verify the port priority setting. show spantree mistp-instance instance [mod/port]
active
This example shows how to configure the port priority and verify the configuration:
Console> (enable) set spantree portpri 2/12 40
Bridge port 2/12 port priority set to 40.
Console> (enable) show spantree mistp-instance 1
Instance 1
Spanning tree mode MISTP-PVST+
Spanning tree type ieee
Spanning tree instance enabled
Task Command
Configure the MISTP port instance cost on set spantree portinstancecost {mod/port} [cost cost]
a port. [instances]
This example shows how to configure the MISTP port instance cost on a port:
Console> (enable) set spantree portinstancecost 2/12 cost 110110 2
Port 2/12 instances 1,3-16 have path cost 22222222.
Port 2/12 instances 2 have path cost 110110.
Console> (enable)
To configure the port instance priority on an MISTP instance, perform this task in privileged mode:
Task Command
Configure the port instance priority on an MISTP set spantree portinstancepri {mod/port}
instance. priority [instances]
This example shows how to configure the port instance priority on an MISTP instance and verify the
configuration:
Console> (enable) set spantree portinstancepri 2/12 10 2
Port 2/12 instances 2 using portpri 10.
Port 2/12 mistp-instance 1,3-16 using portpri 40.
Console> (enable)
Note The software does not display the status of an MISTP instance until it has a VLAN with an active
port mapped to it.
Task Command
Step 1 Enable an MISTP instance. set spantree enable mistp-instance instance [all]
Step 2 Verify the instance is enabled. show spantree mistp-instance [instance] [active]
mod/port
Note See Chapter 11, “Configuring VLANs” for details on using and configuring VLANs.
Note To use VLANs 1025–4094, you must enable MAC address reduction. See the “Creating
Extended-Range VLANs” section on page 11-7 in Chapter 11, “Configuring VLANs” for details on
using extended-range VLANs.
Task Command
Step 1 Map a VLAN to an MISTP instance. set vlan vlan mistp-instance instance
Step 2 Verify the VLAN is mapped. show spantree mistp-instance [instance] [active]
mod/port
This example shows how to map a VLAN to MISTP instance 1 and verify the mapping:
Console> (enable) set vlan 6 mistp-instance 1
Vlan 6 configuration successful
Console> (enable) show spantree mist-instance 1
Instance 1
Spanning tree mode MISTP-PVST+
Spanning tree type ieee
Spanning tree instance enabled
Task Command
Determine VLAN mapping conflicts. show spantree conflicts vlan
This example shows there is an attempt to map VLAN 2 to MISTP instance 1 and to MISTP instance 3
on two different switches as seen from a third switch in the topology:
Console> (enable) show spantree conflicts 2
Inst MAC Delay Time left
---- ----------------- --------- ---------
1 00-30-a3-4a-0c-00 inactive 20
3 00-30-f1-e5-00-01 inactive 10
The Delay timer shows the time in seconds remaining before the VLAN joins the instance. The field
displays inactive if the VLAN is already mapped to an instance (the timer has expired), or if the VLAN
is in conflict between instances.
The Time Left timer shows the time in seconds left before the entry expires and is removed from the
table. The timer is restarted every time an incoming BPDU confirms the mapping. Entries pertaining to
the root switch show inactive on the root switch itself.
Task Command
Unmap a VLAN from an MISTP instance. set vlan vlan mistp-instance none
Task Command
Disable an MISTP instance. set spantree disable mistp-instance instance [all]
Caution Enter the set spantree root command on backbone switches or distribution switches only, not on
access switches.
To configure a switch as the primary root switch, perform this task in privileged mode:
Task Command
Configure a switch as the primary root switch. set spantree root [vlans] [dia network_diameter]
[hello hello_time]
This example shows how to configure the primary root switch for VLANs 1–10:
Console> (enable) set spantree root 1-10 dia 4
VLANs 1-10 bridge priority set to 8192
VLANs 1-10 bridge max aging time set to 14 seconds.
VLANs 1-10 bridge hello time set to 2 seconds.
VLANs 1-10 bridge forward delay set to 9 seconds.
Switch is now the root switch for active VLANs 1-6.
Console> (enable)
To configure a switch as the primary root switch for an instance, perform this task in privileged mode:
Task Command
Configure a switch as the primary root switch for set spantree root mistp-instance instance [dia
an instance. network_diameter] [hello hello_time]
This example shows how to configure the primary root switch for an instance:
Console> (enable) set spantree root mistp-instance 2-4 dia 4
Instances 2-4 bridge priority set to 8192
VLInstances 2-4 bridge max aging time set to 14 seconds.
Instances 2-4 bridge hello time set to 2 seconds.
Instances 2-4 bridge forward delay set to 9 seconds.
Switch is now the root switch for active Instances 1-6.
Console> (enable)
Task Command
Configure a switch as the secondary root switch. set spantree root [secondary] vlans [dia
network_diameter] [hello hello_time]
This example shows how to configure the secondary root switch for VLANs 22 and 24:
Console> (enable) set spantree root secondary 22,24 dia 5 hello 1
VLANs 22,24 bridge priority set to 16384.
VLANs 22,24 bridge max aging time set to 10 seconds.
VLANs 22,24 bridge hello time set to 1 second.
VLANs 22,24 bridge forward delay set to 7 seconds.
Console> (enable)
To configure a switch as the secondary root switch for an instance, perform this task in privileged mode:
Task Command
Configure a switch as the secondary root switch set spantree root [secondary] mistp-instance
for an instance. instance [dia network_diameter]
[hello hello_time]
This example shows how to configure the secondary root for an instance:
Console> (enable) set spantree root secondary mistp-instance 2-4 dia 4
Instances 2-4 bridge priority set to 8192
VLInstances 2-4 bridge max aging time set to 14 seconds.
Instances 2-4 bridge hello time set to 2 seconds.
Instances 2-4 bridge forward delay set to 9 seconds.
Switch is now the root switch for active Instances 1-6.
Console> (enable)
Note Reducing the timer parameters values is possible only if your network has LAN links of 10 Mbps or
faster. In a network with links of 10 Mbps or faster, the network diameter can reach the maximum
value of 7. With WAN connections, you cannot reduce the parameters.
When a link failure occurs in a bridged network, the network reconfiguration is not immediate.
Reconfiguring the default parameters (specified by IEEE 802.1D) for the Hello Time, Forward Delay
Timer, and Maximum Age Timer requires a 50-second delay. This reconfiguration time depends on the
network diameter, which is the maximum number of bridges between any two end stations.
To speed up convergence, use nondefault parameter values permitted by the 802.1D standard. See
Table 8-5 for the nondefault parameters for a reconvergence of 14 seconds.
Parameter Time
Network Diameter (dia) 2
Hello Time 2 seconds
Forward Delay Timer 4 seconds
Maximum Age Timer 6 seconds
Note You can set switch ports in PortFast mode for improved convergence. PortFast mode affects only the
transition from disable (link down) to enable (link up) by moving the port immediately to the
forwarding state. If a port in the PortFast mode begins blocking, it then goes through listening and
learning before reaching the forwarding state. For information about PortFast, see the
“Understanding How PortFast Works” section on page 9-2 in Chapter 9, “Configuring Spanning Tree
PortFast, UplinkFast, BackboneFast, and Loop Guard.”
To configure the spanning tree parameters to improve convergence, perform this task in privileged
mode:
Task Command
Step 1 Configure the hello time for a VLAN or an set spantree hello interval [vlan] mistp-instance
MISTP instance. [instances]
Step 2 Verify the configuration. show spantree [vlan | mistp-instance instances]
Step 3 Configure the forward delay time for a set spantree fwddelay delay [vlan] mistp-instance
VLAN or an MISTP instance. [instances]
Step 4 Verify the configuration. show spantree [mod/port] mistp-instance [instances]
[active]
Step 5 Configure the maximum aging time for a set spantree maxage agingtime [vlans] mistp-instance
VLAN or an MISTP instance. instances
Step 6 Verify the configuration. show spantree [mod/port] mistp-instance [instances]
[active]
This example shows how to configure the spanning tree Hello Time, Forward Delay Timer, and
Maximum Age Timer to 2, 4, and 4 seconds respectively:
Console> (enable) set spantree hello 2 100
Spantree 100 hello time set to 7 seconds.
Console> (enable)
Console> (enable) set spantree fwddelay 4 100
Spantree 100 forward delay set to 21 seconds.
Console> (enable)
Console> (enable) set spantree maxage 6 100
Spantree 100 max aging time set to 36 seconds.
Console> (enable)
Console> (enable) set spantree root 1-10 dia 4
VLANs 1-10 bridge priority set to 8192
VLANs 1-10 bridge max aging time set to 14 seconds.
VLANs 1-10 bridge hello time set to 2 seconds.
VLANs 1-10 bridge forward delay set to 9 seconds.
Switch is now the root switch for active VLANs 1-6.
Console> (enable)
To prevent switches from becoming root, perform this task in privileged mode:
Task Command
Step 1 Enable root guard on a port. set spantree guard {root | none} mod/port
Step 2 Verify that root guard is enabled. show spantree guard {mod/port | vlan} {mistp-instance
instance | mod/port}
Caution Exercise care using these commands. For most situations, we recommend that you use the set
spantree root and set spantree root secondary commands to modify the spanning tree performance
parameters.
Table 8-6 describes the switch variables that affect spanning tree performance.
To configure the spanning tree bridge hello time for a VLAN or an MISTP instance, perform this task
in privileged mode:
Task Command
Step 1 Configure the hello time for a VLAN or an set spantree hello interval [vlan] mistp-instance
MISTP instance. [instances]
Step 2 Verify the configuration. show spantree [vlan | mistp-instance instances]
This example shows how to configure the spanning tree hello time for VLAN 100 to 7 seconds:
Console> (enable) set spantree hello 7 100
Spantree 100 hello time set to 7 seconds.
Console> (enable)
This example shows how to configure the spanning tree hello time for an instance to 3 seconds:
Console> (enable) set spantree hello 3 mistp-instance 1
Spantree 1 hello time set to 3 seconds.
Console> (enable)
Task Command
Step 1 Configure the forward delay time for a VLAN or set spantree fwddelay delay [vlan]
an MISTP instance. mistp-instance [instances]
Step 2 Verify the configuration. show spantree [mod/port] mistp-instance
[instances] [active]
This example shows how to configure the spanning tree forward delay time for VLAN 100 to
21 seconds:
Console> (enable) set spantree fwddelay 21 100
Spantree 100 forward delay set to 21 seconds.
Console> (enable)
This example shows how to set the bridge forward delay for an instance to 16 seconds:
Console> (enable) set spantree fwddelay 16 mistp-instance 1
Instance 1 forward delay set to 16 seconds.
Console> (enable)
To configure the spanning tree maximum aging time for a VLAN or an instance, perform this task in
privileged mode:
Task Command
Step 1 Configure the maximum aging time for a VLAN set spantree maxage agingtime [vlans]
or an MISTP instance. mistp-instance instances
Step 2 Verify the configuration. show spantree [mod/port] mistp-instance
[instances] [active]
This example shows how to configure the spanning tree maximum aging time for VLAN 100 to
36 seconds:
Console> (enable) set spantree maxage 36 100
Spantree 100 max aging time set to 36 seconds.
Console> (enable)
This example shows how to set the maximum aging time for an instance to 25 seconds:
Console> (enable) set spantree maxage 25 mistp-instance 1
Instance 1 max aging time set to 25 seconds.
Console> (enable)
Task Command
Step 1 Configure BPDU skewing. set spantree bpdu-skewing [enable | disable]
Step 2 Verify the configuration. show spantree bpdu-skewing vlan [mod/port]
show spantree bpdu-skewing mistp-instance
[instance] [mod/port]
This example shows how to configure BPDU skewing and view the skewing statistics:
Console> (enable) set spantree bpdu-skewing
Usage:set spantree bpdu-skewing <enable|disable>
Console> (enable) set spantree bpdu-skewing enable
Spantree bpdu-skewing enabled on this switch.
Console> (enable)
This example shows how to configure BPDU skewing for VLAN 1 on module 8, port 2 and view the
skewing statistics:
Console> (enable) show spantree bpdu-skewing 1 8/4
Bpdu skewing statistics for vlan 1
Port Last Skew ms Worst Skew ms Worst Skew Time
------ ------------- ------------- -------------------------
8/4 5869 108370 Tue Nov 21 2000, 06:25:59
This chapter describes how to configure the spanning tree PortFast, UplinkFast, BackboneFast, and loop
guard features on the Catalyst 6000 family switches.
Note For information on configuring the Spanning Tree Protocol (STP), see Chapter 8, “Configuring
Spanning Tree.”
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Caution Use PortFast only when connecting a single end station to a switch port. Otherwise, you might create
a network loop.
To prevent loops in a network, you can enable PortFast on nontrunking access ports only because these
ports typically do not transmit or receive bridge protocol data units (BPDUs). If you enable PortFast on
nontrunking ports that connect two switches, spanning tree loops can occur if BPDUs are being
transmitted and received on those ports. The most secure implementation of PortFast occurs when you
enable it on ports that connect end stations to switches.
Note When enabled on the switch, spanning tree applies the PortFast BPDU guard feature to all
PortFast-configured interfaces.
Note UplinkFast is most useful in wiring-closet switches. This feature may not be useful for other types
of applications.
Figure 9-1 shows an example topology with no link failures. Switch A, the root switch, is connected
directly to Switch B over link L1 and to Switch C over link L2. The port on Switch C that is connected
directly to Switch B is in blocking state.
Switch A
(Root) Switch B
L1
L2 L3
Blocked port
11241
Switch C
If Switch C detects a link failure on the currently active link L2 (a direct link failure), UplinkFast
unblocks the blocked port on Switch C and transitions it to the forwarding state without going through
the listening and learning states, as shown in Figure 9-2. This switchover takes approximately 1 to
5 seconds.
Switch A
(Root) Switch B
L1
L2 L3
Link failure
UplinkFast transitions port
directly to forwarding state
11242
Switch C
Switch A
(Root) Switch B
L1
L2 L3
Blocked port
11241
Switch C
If link L1 fails, Switch C detects this failure as an indirect failure, since it is not connected directly to
link L1. Switch B no longer has a path to the root switch. BackboneFast allows the blocked port on
Switch C to move immediately to the listening state without waiting for the maximum aging time for the
port to expire. BackboneFast then transitions the port on Switch C to the forwarding state, providing a
path from Switch B to Switch A. This switchover takes approximately 30 seconds. Figure 9-4 shows
how BackboneFast reconfigures the topology to account for the failure of link L1.
Switch A
(Root) Switch B
L1
Link failure
L2 L3
11244
states to forwarding state
Switch C
If a new switch is introduced into a shared-medium topology, BackboneFast is not activated. Figure 9-5
shows a shared-medium topology in which a new switch is added. The new switch begins sending
inferior BPDUs that say it is the root switch. However, the other switches ignore these inferior BPDUs
and the new switch learns that Switch B is the designated bridge to Switch A, the root switch.
Switch A
(Root)
Switch C Switch B
(Designated Bridge)
Blocked port
Added switch
11245
You can enable loop guard on a per-port basis. When you enable loop guard, it is automatically applied
to all of the active instances or VLANs to which that port belongs. When you disable loop guard, it is
disabled for the specified ports. Disabling loop guard moves all loop-inconsistent ports to the listening
state.
If you enable loop guard on a channel and the first link becomes unidirectional, loop guard blocks the
entire channel until the affected port is removed from the channel. Figure 9-6 shows loop guard in a
triangle switch configuration.
A B
3/1 3/1
3/2 3/2
3/1 3/2
Designated port
Root port
55772
Alternate port
Note We recommend that you enable loop guard on root ports and alternate root ports on access
switches.
• Root guard forces a port to be always designated as the root port. Loop guard is effective only if the
port is a root port or an alternate port. You cannot enable loop guard and root guard on a port at the
same time.
• PortFast transitions a port into a forwarding state immediately when a link is established. Because a
PortFast-enabled port will not be a root port or alternate port, loop guard and PortFast cannot be
configured on the same port. Assigning dynamic VLAN membership for the port requires that the port
is PortFast enabled. You cannot configure a loop guard-enabled port with dynamic VLAN membership.
• If your network has a type-inconsistent port or a PVID-inconsistent port, all BPDUs are dropped
until the misconfiguration is corrected. The port transitions out of the inconsistent state after the
message age expires. Loop guard ignores the message age expiration on type-inconsistent ports and
PVID-inconsistent ports. If the port is already blocked by loop guard, misconfigured BPDUs
received on the port make loop guard recover, but the port is moved into the type-inconsistent state
or PVID-inconsistent state.
• In high-availability switch configurations, if a port is put into the blocked state by loop guard, it
remains blocked even after switchover to the redundant supervisor engine. The newly activated
supervisor engine recovers the port only after receiving a BPDU on that port.
• Loop guard uses the ports known to spanning tree. Loop guard can take advantage of logical ports
provided by the Port Aggregation Protocol (PAgP). However, to form a channel, all the physical
ports grouped in the channel must have compatible configurations. PAgP enforces uniform
configurations of root guard or loop guard on all the physical ports to form a channel.
These caveats apply to loop guard:
– Spanning tree always chooses the first operational port in the channel to send the BPDUs. If that
link becomes unidirectional, loop guard blocks the channel, even if other links in the channel
are functioning properly.
– If a set of ports that are already blocked by loop guard are grouped together to form a channel,
spanning tree loses all the state information for those ports and the new channel port may obtain
the forwarding state with a designated role.
– If a channel is blocked by loop guard and the channel breaks, spanning tree loses all the state
information. The individual physical ports may obtain the forwarding state with the designated
role, even if one or more of the links that formed the channel are unidirectional.
Note You can enable UniDirectional Link Detection (UDLD) to help isolate the link failure. A loop may
occur until UDLD detects the failure, but loop guard will not be able to detect it.
Configuring PortFast
These sections describe how to configure PortFast on the switch:
• Enabling PortFast, page 9-8
• Disabling PortFast, page 9-8
Enabling PortFast
Caution Use PortFast only when you connect a single end station to a switch port; otherwise, you might create
a network loop.
Task Command
Step 1 Enable PortFast on a switch port connected to a set spantree portfast mod/port enable
single workstation or server.
Step 2 Verify the PortFast setting. show spantree mod/port
This example shows how to enable PortFast on a port and verify the configuration (the PortFast status
is shown in the “Fast-Start” column):
Console> (enable) set spantree portfast 4/1 enable
Warning: Spantree port fast start should only be enabled on ports connected
to a single host. Connecting hubs, concentrators, switches, bridges, etc. to
a fast start port can cause temporary spanning tree loops. Use with caution.
Spantree port 4/1 fast start enabled.
Disabling PortFast
To disable PortFast on a switch port, perform this task in privileged mode:
Task Command
Step 1 Disable PortFast on a switch port. set spantree portfast mod/port disable
Step 2 Verify the PortFast setting. show spantree mod/port
Note Although the PortFast feature is configured on an individual port, the PortFast BPDU guard option
is configured globally. When you disable PortFast on a port, PortFast BPDU guard becomes inactive.
To enable PortFast BPDU guard on a nontrunking switch port, perform this task in privileged mode:
Task Command
Step 1 Enable PortFast BPDU guard on the switch. set spantree portfast bpdu-guard enable
Step 2 Verify the PortFast BPDU guard setting. show spantree summary
This example shows how to enable PortFast BPDU guard on the switch and verify the configuration in
the Per VLAN Spanning Tree + (PVST+) mode:
Note For additional PVST+ information, see Chapter 8, “Configuring Spanning Tree.”
802 0 0 0 0 0
850 0 0 0 4 4
917 0 0 0 4 4
999 0 0 0 4 4
1003 0 0 0 0 0
1005 0 0 0 0 0
Task Command
Step 1 Disable PortFast BPDU guard on the switch. set spantree portfast bpdu-guard disable
Step 2 Verify the PortFast BPDU guard setting. show spantree
This example shows how to disable PortFast BPDU guard on the switch and verify the configuration:
Console> (enable) set spantree portfast bpdu-guard disable
Spantree portfast bpdu-guard disabled on this switch.
Console> (enable) show spantree summary
Summary of connected spanning tree ports by vlan
1003 0 0 0 0 0
1005 0 0 0 0 0
Task Command
Step 1 Enable PortFast BPDU filtering on the port. set spantree portfast bpdu-filter enable
Step 2 Verify the PortFast BPDU filter setting. show spantree summary
show spantree portfast
This example shows how to enable PortFast BPDU filtering on the port and verify the configuration in
PVST+ mode:
Task Command
Step 1 Disable PortFast BPDU filtering on the switch. set spantree portfast bpdu-filter disable
Step 2 Verify the PortFast BPDU filter setting. show spantree
show portfast
This example shows how to disable PortFast BPDU filtering on the switch and verify the configuration:
Console> (enable) set spantree portfast bpdu-filter disable
Spantree portfast bpdu-filter disabled on this switch.
Console> (enable) show spantree summary
Summary of connected spanning tree ports by vlan
1003 0 0 0 0 0
1005 0 0 0 0 0
Configuring UplinkFast
You can configure UplinkFast for PVST+ or for Multi-Instance Spanning Tree Protocol (MISTP). The
command is the same but the output may be slightly different.
Note For additional MISTP information, see Chapter 8, “Configuring Spanning Tree.”
Enabling UplinkFast
The set spantree uplinkfast enable command increases the path cost of all ports on the switch, making
it unlikely that the switch will become the root switch. The station_update_rate value represents the
number of multicast packets transmitted per 100 milliseconds (the default is 15 packets per millisecond).
Note When you enable the set spantree uplinkfast command, it affects all VLANs on the switch. You
cannot configure UplinkFast on an individual VLAN.
Task Command
Step 1 Enable UplinkFast on the switch. set spantree uplinkfast enable [rate station_update_rate]
[all-protocols off | on]
Step 2 Verify that UplinkFast is enabled. show spantree uplinkfast [{mistp-instance [instances]}|
vlans]
With PVST+ mode enabled, this example shows how to enable UplinkFast with a station-update rate of
40 packets per 100 milliseconds and how to verify that UplinkFast is enabled:
Console> (enable) set spantree uplinkfast enable
VLANs 1-4094 bridge priority set to 49152.
The port cost and portvlancost of all ports set to above 3000.
Station update rate set to 15 packets/100ms.
uplinkfast all-protocols field set to off.
uplinkfast enabled for bridge.
This example shows how to display the UplinkFast feature settings for all VLANs:
Console> show spantree uplinkfast
Station update rate set to 15 packets/100ms.
uplinkfast all-protocols field set to off.
VLAN port list
------------------------------------------------
1-20 1/1(fwd),1/2-1/5
21-50 1/9(fwd), 1/6-1/8, 1/10-1/12
51-100 2/1(fwd), 2/12
Console>
With MISTP mode enabled, this example shows the output when you enable UplinkFast:
Console> (enable) set spantree uplinkfast enable
Instances 1-16 bridge priority set to 49152.
The port cost and portinstancecost of all ports set to above 10000000.
Station update rate set to 15 packets/100ms.
uplinkfast all-protocols field set to off.
uplinkfast enabled for bridge.
Console> (enable)
This example shows how to display the UplinkFast feature settings for a specific instance:
Console> show spantree uplinkfast mistp-instance 1
Station update rate set to 15 packets/100ms.
uplinkfast all-protocols field set to off.
Inst port list
------------------------------------------------
1 4/1(fwd)
Console>
Disabling UplinkFast
The set spantree uplinkfast disable command disables UplinkFast on the switch, but the switch priority
and port cost values are not reset to the factory defaults.
Note When you enter the set spantree uplinkfast disable command, it affects all VLANs on the switch.
You cannot disable UplinkFast on an individual VLAN.
Task Command
Step 1 Disable UplinkFast on the switch. set spantree uplinkfast disable
Step 2 Verify that UplinkFast is disabled. show spantree uplinkfast
With PVST+ mode enabled, this example shows how to disable UplinkFast on the switch and verify the
configuration:
Console> (enable) set spantree uplinkfast disable
Uplinkfast disabled for switch.
Use clear spantree uplinkfast to return stp parameters to default.
Console> (enable) show spantree uplinkfast
Station update rate set to 15 packets/100ms.
uplinkfast all-protocols field set to off.
VLAN port list
-----------------------------------------------
1 1/1(fwd),1/2
100 1/2(fwd)
521 1/1(fwd),1/2
522 1/1(fwd),1/2
523 1/1(fwd),1/2
524 1/1(fwd),1/2
Console> (enable)
Configuring BackboneFast
These sections describe how to configure BackboneFast:
• Enabling BackboneFast, page 9-15
• Displaying BackboneFast Statistics, page 9-16
• Disabling BackboneFast, page 9-16
Enabling BackboneFast
Note For BackboneFast to work, you must enable it on all switches in the network. BackboneFast is not
supported on Token Ring VLANs. This feature is supported for use with third-party switches.
Task Command
Step 1 Enable BackboneFast on the switch. set spantree backbonefast enable
Step 2 Verify that BackboneFast is enabled. show spantree backbonefast
This example shows how to enable BackboneFast on the switch and how to verify the configuration:
Console> (enable) set spantree backbonefast enable
Backbonefast enabled for all VLANs
Console> (enable) show spantree backbonefast
Backbonefast is enabled.
Console> (enable)
Task Command
Display BackboneFast statistics. show spantree summary
BackboneFast statistics
-----------------------
Number of inferior BPDUs received (all VLANs) : 0
Number of RLQ req PDUs received (all VLANs) : 0
Number of RLQ res PDUs received (all VLANs) : 0
Number of RLQ req PDUs transmitted (all VLANs) : 0
Number of RLQ res PDUs transmitted (all VLANs) : 0
Console> (enable)
Disabling BackboneFast
To disable BackboneFast on the switch, perform this task in privileged mode:
Task Command
Step 1 Disable BackboneFast on the switch. set spantree backbonefast disable
Step 2 Verify that BackboneFast is disabled. show spantree backbonefast
This example shows how to disable BackboneFast on the switch and how to verify the configuration:
Console> (enable) set spantree backbonefast disable
Backbonefast enabled for all VLANs
Console> (enable) show spantree backbonefast
Backbonefast is disable.
Console> (enable)
Task Command
Step 1 Enable loop guard on a port. set spantree guard loop mod/port
Step 2 Verify that loop guard is enabled. show spantree guard {mod/port | vlan} mistp-instance
instance
Task Command
Step 1 Disable loop guard on a port. set spantree guard none mod/port
Step 2 Verify that loop guard is disabled. show spantree guard {mod/port | vlan} mistp-instance
instance
This chapter describes how to configure the VLAN Trunking Protocol (VTP) on the Catalyst 6000 family
switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note For complete information on configuring VLANs, see Chapter 11, “Configuring VLANs.”
Note If you are using VTP in a Token Ring environment, you must use version 2.
Note If you are using routers to route between emulated LANS, you should disable VTP pruning in the VTP
management domain that contains the switches with ATM LANE modules installed (VTP pruning
messages are sent over the ATM LANE module because it is a trunk). Another solution is to disable
pruning for the LANE VLANs using the clear vtp pruneeligible command on all switches with ATM
LANE modules.
Figure 10-1 shows a switched network without VTP pruning enabled. Port 1 on Switch 1 and port 2 on
Switch 4 are assigned to the Red VLAN. A broadcast is sent from the host connected to Switch 1.
Switch 1 floods the broadcast and every switch in the network receives it, even though Switches 3, 5,
and 6 have no ports in the Red VLAN.
Switch 4
Port 2
Switch 5 Switch 2
Red
VLAN
Port 1
S5812
Switch 6 Switch 3 Switch 1
Figure 10-2 shows the same switched network with VTP pruning enabled. The broadcast traffic from
Switch 1 is not forwarded to Switches 3, 5, and 6 because traffic for the Red VLAN has been pruned on
the links indicated (port 5 on Switch 2 and port 4 on Switch 4).
Switch 4
Port 2
Flooded traffic
is pruned. Port
4 Switch 2
Red
VLAN
Switch 5
Port
5
Port 1
24511
Enabling VTP pruning on a VTP server enables pruning for the entire management domain. VTP pruning
takes effect several seconds after you enable it. By default, VLANs 2 through 1000 are pruning eligible.
VTP pruning does not prune traffic from VLANs that are pruning ineligible. VLAN 1 is always pruning
ineligible; traffic from VLAN 1 cannot be pruned.
To make a VLAN pruning ineligible, enter the clear vtp pruneeligible command. To make a VLAN
pruning eligible again, enter the set vtp pruneeligible command. You can set VLAN pruning eligibility
regardless of whether VTP pruning is enabled or disabled for the domain. Pruning eligibility always
applies to the local device only, not for the entire VTP domain.
Caution If you configure VTP in secure mode, the management domain will not function properly if you do
not assign a management domain password to each switch in the domain.
• A VTP version 2-capable switch can operate in the same VTP domain as a switch running VTP
version 1 provided VTP version 2 is disabled on the VTP version 2-capable switch (VTP version 2
is disabled by default).
• Do not enable VTP version 2 on a switch unless all of the switches in the same VTP domain are
version 2 capable. When you enable VTP version 2 on a switch, all of the version 2-capable
switches in the domain enable VTP version 2.
• In a Token Ring environment, you must enable VTP version 2 for Token Ring VLAN switching to
function properly.
• Enabling or disabling VTP pruning on a VTP server enables or disables VTP pruning for the entire
management domain.
• Making VLANs pruning eligible or pruning ineligible on a switch affects pruning eligibility for
those VLANs on that device only (not on all switches in the VTP domain).
Configuring VTP
These sections describe how to configure VTP:
• Configuring a VTP Server, page 10-6
• Configuring a VTP Client, page 10-6
• Disabling VTP (VTP Transparent Mode), page 10-7
• Enabling VTP Version 2, page 10-8
• Disabling VTP Version 2, page 10-9
• Enabling VTP Pruning, page 10-9
• Disabling VTP Pruning, page 10-10
• Displaying VTP, page 10-10
Task Command
Step 1 Define the VTP domain name. set vtp domain name
Step 2 Place the switch in VTP server mode. set vtp mode server
Step 3 (Optional) Set a password for the VTP domain. set vtp passwd passwd
Step 4 Verify the VTP configuration. show vtp domain
This example shows how to configure the switch as a VTP server and verify the configuration:
Console> (enable) set vtp domain Lab_Network
VTP domain Lab_Network modified
Console> (enable) set vtp mode server
VTP domain Lab_Network modified
Console> (enable) show vtp domain
Domain Name Domain Index VTP Version Local Mode Password
-------------------------------- ------------ ----------- ----------- ----------
Lab_Network 1 2 server -
Vlan-count Max-vlan-storage Config Revision Notifications
---------- ---------------- --------------- -------------
10 1023 40 enabled
Last Updater V2 Mode Pruning PruneEligible on Vlans
--------------- -------- -------- -------------------------
172.20.52.70 disabled disabled 2-1000
Console> (enable)
To configure the switch as a VTP client, perform this task in privileged mode:
Task Command
Step 1 Define the VTP domain name. set vtp domain name
Step 2 Place the switch in VTP client mode. set vtp mode client
Step 3 Verify the VTP configuration. show vtp domain
This example shows how to configure the switch as a VTP client and verify the configuration:
Console> (enable) set vtp domain Lab_Network
VTP domain Lab_Network modified
Console> (enable) set vtp mode client
VTP domain Lab_Network modified
Console> (enable) show vtp domain
Domain Name Domain Index VTP Version Local Mode Password
-------------------------------- ------------ ----------- ----------- ----------
Lab_Network 1 2 client -
Vlan-count Max-vlan-storage Config Revision Notifications
---------- ---------------- --------------- -------------
10 1023 40 enabled
Last Updater V2 Mode Pruning PruneEligible on Vlans
--------------- -------- -------- -------------------------
172.20.52.70 disabled disabled 2-1000
Console> (enable)
Note Network devices in VTP transparent mode do not send VTP Join messages. On Catalyst 6000 family
switches with trunk connections to network devices in VTP transparent mode, configure the VLANs that
are used by the transparent-mode network devices or that need to be carried across trunks as pruning
ineligible (use the clear vtp pruneeligible command).
Task Command
Step 1 Disable VTP on the switch by configuring it for set vtp mode transparent
VTP transparent mode.
Step 2 Verify the VTP configuration. show vtp domain
This example shows how to configure the switch as VTP transparent and verify the configuration:
Console> (enable) set vtp mode transparent
VTP domain Lab_Net modified
Console> (enable) show vtp domain
Domain Name Domain Index VTP Version Local Mode Password
-------------------------------- ------------ ----------- ----------- ----------
Lab_Net 1 2 Transparent -
Vlan-count Max-vlan-storage Config Revision Notifications
---------- ---------------- --------------- -------------
10 1023 0 enabled
Last Updater V2 Mode Pruning PruneEligible on Vlans
--------------- -------- -------- -------------------------
172.20.52.70 disabled disabled 2-1000
Console> (enable)
Caution VTP version 1 and VTP version 2 are not interoperable on switches in the same VTP domain. Every
switch in the VTP domain must use the same VTP version. Do not enable VTP version 2 unless every
switch in the VTP domain supports version 2.
Note In a Token Ring environment, you must enable VTP version 2 for Token Ring VLAN switching to
function properly.
Task Command
Step 1 Enable VTP version 2 on the switch. set vtp v2 enable
Step 2 Verify that VTP version 2 is enabled. show vtp domain
This example shows how to enable VTP version 2 and verify the configuration:
Console> (enable) set vtp v2 enable
This command will enable the version 2 function in the entire management domain.
All devices in the management domain should be version2-capable before enabling.
Do you want to continue (y/n) [n]? y
VTP domain Lab_Net modified
Console> (enable) show vtp domain
Domain Name Domain Index VTP Version Local Mode Password
-------------------------------- ------------ ----------- ----------- ----------
Lab_Net 1 2 server -
Vlan-count Max-vlan-storage Config Revision Notifications
---------- ---------------- --------------- -------------
10 1023 1 enabled
Last Updater V2 Mode Pruning PruneEligible on Vlans
--------------- -------- -------- -------------------------
172.20.52.70 enabled disabled 2-1000
Console> (enable)
Task Command
Step 1 Disable VTP version 2. set vtp v2 disable
Step 2 Verify that VTP version 2 is disabled. show vtp domain
Task Command
Step 1 Enable VTP pruning in the management domain. set vtp pruning enable
Step 2 (Optional) Make specific VLANs pruning clear vtp pruneeligible vlan_range
ineligible on the device. (By default,
VLANs 2–1000 are pruning eligible.)
Step 3 (Optional) Make specific VLANs pruning eligible set vtp pruneeligible vlan_range
on the device.
Step 4 Verify the VTP pruning configuration. show vtp domain
Step 5 Verify that the appropriate VLANs are being show trunk
pruned on trunk ports.
This example shows how to enable VTP pruning in the management domain and how to make
VLANs 2–99, 250–255, and 501–1000 pruning eligible on the particular device:
Console> (enable) set vtp pruning enable
This command will enable the pruning function in the entire management domain.
All devices in the management domain should be pruning-capable before enabling.
Do you want to continue (y/n) [n]? y
VTP domain Lab_Network modified
Console> (enable) clear vtp pruneeligible 100-500
Vlans 1,100-500,1001-1005 will not be pruned on this device.
VTP domain Lab_Network modified.
Console> (enable) set vtp pruneeligible 250-255
Vlans 2-99,250-255,501-1000 eligible for pruning on this device.
VTP domain Lab_Network modified.
Task Command
Step 1 Disable VTP pruning in the management domain. set vtp pruning disable
Step 2 Verify that VTP pruning is disabled. show vtp domain
This example shows how to disable VTP pruning in the management domain:
Console> (enable) set vtp pruning disable
This command will disable the pruning function in the entire management domain.
Do you want to continue (y/n) [n]? y
VTP domain Lab_Network modified
Console> (enable)
Displaying VTP
To display VTP activity, including VTP advertisements sent and received and VTP errors, perform this
task:
Task Command
Display VTP statistics for the switch. show vtp statistics
This chapter describes how to configure VLANs for the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Cisco router
Floor 3
Fast
Ethernet
Floor 2
Floor 1
16751
VLANs are often associated with IP subnetworks. For example, all the end stations in a particular IP
subnet belong to the same VLAN. Traffic between VLANs must be routed. Port VLAN membership on
the switch is assigned manually on a port-by-port basis. When you assign switch ports to VLANs using
this method, it is known as port-based, or static, VLAN membership.
The in-band (sc0) interface of a switch can be assigned to any VLAN, so you can access another switch
on the same VLAN directly without a router. Only one IP address at a time can be assigned to the in-band
interface. If you change the IP address and assign the interface to a different VLAN, the previous IP
address and VLAN assignment are overwritten.
VLAN Ranges
Catalyst 6000 family switches support 4096 VLANs in accordance with the IEEE 802.1Q standard.
These VLANs are organized into several ranges; you use each range slightly differently. Some of these
VLANs are propagated to other switches in the network when you use a management protocol, such as
the VLAN Trunking Protocol (VTP). Other VLANs are not propagated and you must configure them on
each applicable switch.
There are three ranges of VLANs:
• Normal-range VLANs: 1–1000
• Extended-range VLANs: 1025–4094
• Reserved-range VLANs: 0, 1002–1024, 4095
Propagated
VLANs Range Usage by VTP (Y/N)
0, 4095 Reserved range For system use only. You cannot see or use these N/A
VLANs.
1 Normal range Cisco default. You can use this VLAN but you cannot Yes
delete it.
2–1000 Normal range Used for Ethernet VLANs; you can create, use, and Yes
delete these VLANs.
1001 Normal range You cannot create or use this VLAN. May be available Yes
in the future.
1002–1005 Reserved range Cisco defaults for FDDI and Token Ring. Not N/A
supported on Catalyst 6000 family switches. You
cannot delete these VLANs.
1006–1009 Reserved range Cisco defaults. Not currently used but may be used for N/A
defaults in the future. You can map nonreserved
VLANs to these reserved VLANs when necessary.
1010–1024 Reserved range You cannot see or use these VLANs but you can map N/A
nonreserved VLANs to these reserved VLANs when
necessary.
1025–4094 Extended range For Ethernet VLANs only. You can create, use, and No
delete these VLANs, with the following exception:
FlexWAN modules and routed ports automatically
allocate a sequential block of internal VLANs starting
at VLAN 1025. If you use these devices, you must
allow the required number of VLANs for them.
Note Ethernet VLANs 1 and 1025–4094 can use the defaults only.
• VLAN number
• VLAN name
• VLAN type: Ethernet, FDDI, FDDINET, Token Ring Bridge Relay Function (TrBRF), or Token
Ring Concentrator Relay Function (TrCRF)
• VLAN state: active or suspended
• Multi-Instance Spanning Tree Protocol (MISTP) instance
• Private VLAN type: primary, isolated, community, two-way community, or none
• Security Association Identifier (SAID)
Task Command
Step 1 Create a normal-range Ethernet VLAN. set vlan vlan [name name] [said said] [mtu mtu]
[translation vlan]
Step 2 Verify the VLAN configuration. show vlan [vlan]
This example shows how to create normal-range VLANs and verify the configuration when the switch
is in Per VLAN Spanning Tree + (PVST+) mode:
Console> (enable) set vlan 500-520
Vlan 500 configuration successful
Vlan 501 configuration successful
Vlan 502 configuration successful
Vlan 503 configuration successful
.
.
.
Vlan 520 configuration successful
Console> (enable) show vlan 500-520
VLAN Name Status IfIndex Mod/Ports, Vlans
---- -------------------------------- --------- ------- ------------------------
500 active 342
501 active 343
502 active 344
503 active 345
.
.
.
520 active 362
VLAN Type SAID MTU Parent RingNo BrdgNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ ------ ---- -------- ------ ------
500 enet 100500 1500 - - - - - 0 0
501 enet 100501 1500 - - - - - 0 0
502 enet 100502 1500 - - - - - 0 0
503 enet 100503 1500 - - - - - 0 0
.
.
.
520 enet 100520 1500 - - - - - 0 0
VLAN AREHops STEHops Backup CRF
---- ------- ------- ----------
Console> (enable)
Task Command
Step 1 Modify an existing normal-range VLAN. set vlan vlan [name name] [state {active | suspend}]
[said said] [mtu mtu] [translation vlan]
Step 2 Verify the VLAN configuration. show vlan [vlan]
Caution FlexWAN modules and routed ports automatically allocate a sequential block of internal VLANs
starting at VLAN 1025. If you use these devices, you must allow the required number of VLANs for
them and must not use the lower-range VLANs starting with VLAN 1025. If not enough VLANs are
available for the FlexWAN module, some ports may not work. You must use the highest VLANs first.
For example, use VLAN 4090, then VLAN 4089, and so forth.
Caution If you move a FlexWAN module from one slot to another on the same switch, it will allocate another
block of VLANs without deleting the previous block. You should reboot the switch if you move the
FlexWAN module.
Note If you wish to use extended-range VLANs and you have existing 802.1Q-to-ISL mappings in your
system, you must delete the mappings. See the “Deleting 802.1Q-to-ISL VLAN Mappings” section
on page 11-11 for more information.
To enable MAC address reduction and create an Ethernet VLAN in the extended range, perform this task
in privileged mode:
Task Command
Step 1 Enable MAC address reduction. set spantree macreduction {enable | disable}
Step 2 Create a VLAN. set vlan vlan
Step 3 Verify the VLAN configuration. show vlan [vlan]
This example shows how to enable MAC address reduction and create an extended-range Ethernet
VLAN:
Console> (enable) set spantree macreduction enable
MAC address reduction enabled
Console> (enable) set vlan 2000
Vlan 2000 configuration successful
Console> (enable) show vlan 2000
VLAN Name Status IfIndex Mod/Ports, Vlans
---- -------------------------------- --------- ------- ------------------------
2000 VLAN2000 active 61
VLAN Type SAID MTU Parent RingNo BrdgNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ ------ ---- -------- ------ ------
2000 enet 102000 1500 - - - - - 0 0
Note If the list of VLANs does match in both the switches, packet loss might occur.
1. From non-Cisco devices in your network using VLANs 1006–1024 to nonreserved VLANs on the
Catalyst 6000 family switches.
2. From VLANs on non-Cisco devices on 802.1Q trunks to ISL trunks on the Catalyst 6000 family
switches.
Note If you use method 1, you can use extended-range VLANs (1025–4094) on the switch; if you use
method 2, you can retain mappings from a previous Catalyst 6000 family software release but you
cannot use extended-range VLANs.
Note If you have dot1q-to-isl VLAN mappings from a previous Catalyst 6000 family switch software
release, you cannot use the mapped VLANs to map reserved VLANs to nonreserved VLANs.
Optionally, you can clear the dot1q-to-isl mappings and then use those reserved VLANs.
Task Command
Step 1 If necessary, clear old dot1q-to-isl VLAN mappings. clear vlan mapping dot1q all
Step 2 Map a reserved VLAN to a nonreserved VLAN. set vlan mapping reserved {reserved_vlan}
non-reserved {nonreserved_vlan}
Step 3 Verify the VLAN mapping. show vlan mapping
This example shows how to clear old VLAN mappings, map a reserved VLAN, and verify the mappings
on the mapping table:
Console> (enable) clear vlan mapping dot1q all
All dot1q vlan mapping entries deleted
Console> (enable) set vlan mapping reserved 1020 non-reserved 4070
Vlan 1020 successfully mapped to 4070.
Console> (enable) show vlan mapping
Reserved vlan Non-Reserved vlan Effective
----------------------------------------------------
1008 63 false
1010 4065 true
1011 4066 true
1020 4070 true
The Effective column in the mapping table indicates whether the mapping has taken effect (that is, true
or false). Mappings that are marked true can be used by the system. Mappings marked false cannot be
used by the system.
Note Reserved VLAN mappings are entered on the table in the order in which you map them. If you delete
a mapping, the line where it existed will not display on the table. However, the next mapping you
create will appear where the old one was deleted.
Task Command
Step 1 Clear the reserved VLAN. clear vlan mapping reserved {reserved_vlan | all}
Step 2 Clear the nonreserved VLAN. clear vlan vlan
Step 3 Verify the mapping table entry has been cleared. show vlan mapping
• When you map an 802.1Q VLAN to an ISL VLAN, traffic on the 802.1Q VLAN corresponding to
the mapped ISL VLAN is blocked. For example, if you map 802.1Q VLAN 2000 to ISL
VLAN 200, traffic on 802.1Q VLAN 200 is blocked.
• VLAN mappings are local to each switch. Make sure you configure the same VLAN mappings on
all appropriate switches in the network.
To map an 802.1Q VLAN to an ISL VLAN, perform this task in privileged mode:
Task Command
Step 1 Map an 802.1Q VLAN to an ISL Ethernet VLAN. The set vlan mapping dot1q dot1q_vlan isl
valid range for dot1q_vlan is 1001–4095. The valid isl_vlan
range for isl_vlan is 1–1000.
Step 2 Verify the VLAN mapping. show vlan mapping
This example shows how to map 802.1Q VLANs 2000, 3000, and 4000 to ISL VLANs 200, 300, and
400, and verify the configuration:
Console> (enable) set vlan mapping dot1q 2000 isl 200
802.1q vlan 2000 is existent in the mapping table
Console> (enable) set vlan mapping dot1q 3000 isl 300
Vlan mapping successful
Console> (enable) set vlan mapping dot1q 4000 isl 400
Vlan mapping successful
Console> (enable) show vlan mapping
802.1q vlan ISL vlan Effective
------------------------------------------
2000 200 true
3000 300 true
4000 400 true
Console> (enable)
Task Command
Step 1 Delete an 802.1Q-to-ISL VLAN mapping. clear vlan mapping dot1q {dot1q_vlan | all}
Step 2 Verify the VLAN mapping. show vlan mapping
This example shows how to delete the VLAN mapping for 802.1Q VLAN 2000:
Console> (enable) clear vlan mapping dot1q 2000
Vlan 2000 mapping entry deleted
Console> (enable)
Note Make sure you assign switch ports to a VLAN of the proper type. For example, assign Ethernet, Fast
Ethernet, and Gigabit Ethernet ports to Ethernet-type VLANs.
To assign one or more switch ports to a VLAN, perform this task in privileged mode:
Task Command
Step 1 Assign one or more switch ports to a VLAN. set vlan vlan mod/port
Step 2 Verify the port VLAN membership. show vlan [vlan]
show port [mod[/port]]
This example shows how to assign switch ports to a VLAN and verify the assignment:
Console> (enable) set vlan 560 4/10
VLAN 560 modified.
VLAN 1 modified.
VLAN Mod/Ports
---- -----------------------
560 4/10
<...output truncated...>
Last-Time-Cleared
--------------------------
Tue Jun 6 2000, 16:45:18
Console> (enable)
Deleting a VLAN
Follow these guidelines for deleting VLANs:
• When you delete a normal-range Ethernet VLAN in VTP server mode, the VLAN is removed from
all switches in the VTP domain.
• When you delete a normal-range VLAN in VTP transparent mode, the VLAN is deleted only on the
current switch.
• You can delete an extended-range VLAN only on the switch where it was created.
• To delete a Token Ring TrBRF VLAN, you must first reassign its child TrCRFs to another parent
TrBRF, or delete the child TrCRFs.
Caution When you delete a VLAN, any ports assigned to that VLAN become inactive. Such ports remain
associated with the VLAN (and thus inactive) until you assign them to a new VLAN.
You can delete a single VLAN or a range of VLANs. To delete a VLAN on the switch, perform this task
in privileged mode:
Task Command
Delete a VLAN. clear vlan vlan
This example shows how to delete a VLAN (in this case, the switch is a VTP server):
Console> (enable) clear vlan 500
This command will deactivate all ports on vlan(s) 500
Do you want to continue(y/n) [n]?y
Vlan 500 deleted
Console> (enable)
Note With software release 6.2(1) and later releases, you can use two-way community VLANs
to perform an inverse mapping from the primary VLAN to the secondary VLAN when
the traffic crosses the boundary of a private VLAN through an MSFC promiscuous port.
Both outbound and inbound traffic can be carried on the same VLAN allowing
VLAN-based features such as VACLs to be applied in both directions on a
per-community (per customer) basis.
To create a private VLAN, you assign two or more normal VLANs in the normal VLAN range: one
VLAN is designated as a primary VLAN, and a second VLAN is designated as either an isolated,
community, or two-way community VLAN. If you choose, you can then designate additional VLANs as
separate isolated, community, or two-way community VLANs in this private VLAN. After designating
the VLANs, you must bind them together and associate them to the promiscuous port.
You can extend private VLANs across multiple Ethernet switches by trunking the primary, isolated, and
any community or two-way community VLANs to other switches that support private VLANs.
In an Ethernet-switched environment, you can assign an individual VLAN and associated IP subnet to
each individual or common group of stations. The servers only require the ability to communicate with
a default gateway to gain access to end points outside the VLAN itself. By incorporating these stations,
regardless of ownership, into one private VLAN, you can do the following:
• Designate the server ports as isolated to prevent any interserver communication at Layer 2.
• Designate the ports to which the default gateway(s), backup server, or LocalDirector are attached as
promiscuous to allow all stations to have access to these gateways.
• Reduce VLAN consumption. You only need to allocate one IP subnet to the entire group of stations
because all stations reside in one common private VLAN.
On an MSFC port or a nontrunk promiscuous port, you can remap as many isolated or community
VLANs as desired; however, while a nontrunk promiscuous port can remap to only one primary VLAN,
an MSFC port does not have this limitation. An MSFC port can only connect an MSFC router. With a
nontrunk promiscuous port, you can connect a wide range of devices as “access points” to a private
VLAN. For example, you can connect a nontrunk promiscuous port to the “server port” of a
LocalDirector to remap a number of isolated or community VLANs to the server VLAN so that the
LocalDirector can load balance the servers present in the isolated or community VLANs, or you can use
a nontrunk promiscuous port to monitor and/or back up all the private VLAN servers from an
administration workstation.
Note A two-way community VLAN can only be mapped on the MSFC promiscuous port (it cannot be
mapped on nontrunk or other types of promiscuous ports).
Note In this section, the term community VLAN is used for both unidirectional community VLANs and
two-way community VLANs unless specifically differentiated.
• After you configure a private VLAN, you cannot change the VTP mode to client or server mode,
because VTP does not support private VLAN types and mapping propagation.
• You can configure VLANs as primary, isolated, or community only if no access ports are currently
assigned to the VLAN. Enter the show port command to verify that the VLAN has no access ports
assigned to it.
• A primary VLAN can have one isolated VLAN and/or multiple communities associated with it.
• An isolated or community VLAN can have only one primary VLAN associated with it.
• Private VLANs can use VLANs 2 through 1000 and 1025 through 4096.
• If you delete either the primary or secondary VLAN, the ports associated with the VLAN become
inactive.
• When configuring private VLANs, note the hardware and software interactions:
– You cannot use the inband port, sc0, in a private VLAN.
Note With software release 6.3(1) and later releases, the sc0 port can be configured as a private
VLAN port, however it cannot be configured as a promiscuous port.
– You cannot set private VLAN ports to trunking mode, channeling, or have dynamic VLAN
memberships, with the exception of MSFC ports that always have trunking activated.
– You cannot set ports belonging to the same ASIC where one port is set to trunking or promiscuous
mode or is a SPAN destination and another port is set to isolated or community port for the modules
listed in Table 11-3. (Note that a promiscuous port can be defined in the same ASIC as a trunk port
but not within the same ASIC as an isolated or community port.)
If you attempt such a configuration, a warning message displays and the command is rejected.
• Isolated and community ports should run BPDU guard features to prevent spanning tree loops due
to misconfigurations.
• Primary VLANs and associated isolated/community VLANs must have the same spanning tree
configuration. This configuration maintains consistent spanning tree topologies between associated
primary, isolated, and community VLANs and avoids possible loss of connectivity. These priorities
and parameters automatically propagate from the primary VLAN to the isolated and community
VLANs.
• You can create private VLANs that run in MISTP mode as follows:
– If you disable MISTP, any change to the configuration of a primary VLAN propagates to all
corresponding isolated and community VLANs, and you cannot change the isolated or
community VLANs.
– If you enable MISTP, you can only configure the MISTP instance with the primary VLAN.
Changes will be applied to the primary VLAN and will propagate to the isolated and community
VLANs.
• In networks with some switches using MAC address reduction, and others not using MAC address
reduction, STP parameters do not necessarily propagate to ensure that the spanning tree topologies
match. You should manually check the STP configuration to ensure that the primary, isolated, and
community VLANs’ spanning tree topologies match.
• If you enable MAC address reduction on a Catalyst 6000 series switch, you might want to enable
MAC address reduction on all the switches in your network to ensure that the STP topologies of the
private VLANs match. Otherwise, in a network where private VLANs are configured, if you enable
MAC address reduction on some switches and disable it on others (mixed environment), you will
have to use the default bridge priorities to make sure that the root bridge is common to the primary
VLAN and to all its associated isolated and community VLANs. Be consistent with the ranges
employed by the MAC address reduction feature regardless of whether it is enabled on the system.
MAC address reduction allows only discrete levels and uses all intermediate values internally as a
range. You should disable a root bridge with private VLANs and MAC address reduction, and
configure the root bridge with any priority higher than the highest priority range used by any
nonroot bridge.
• BPDU guard mode is system wide and is enabled after you add the first port to a private VLAN.
• You cannot configure a destination SPAN port as a private VLAN port and vice versa.
• A source SPAN port can belong to a private VLAN.
• You can use VLAN-based SPAN (VSPAN) to span primary, isolated, and community VLANs
together, or use SPAN on only one VLAN to separately monitor egress or ingress traffic.
• You cannot use a remote SPAN VLAN (RSPAN) for a private VLAN.
• IGMP snooping and multicast shortcuts are not supported in private VLANs.
• You cannot enable EtherChannel on isolated, community, or promiscuous ports.
• You can apply different VACLs and quality of service (QoS) ACLs to primary, isolated, and
community VLANs.
Note For information on configuring ACLs, see the “Configuring ACLs on Private VLANs”
section on page 16-26.
• Output ACLs need to be configured on both the two-way community VLANs and the primary
VLAN in order to be applied to all outgoing traffic from the MSFC.
• If you map a Cisco IOS ACL to a primary VLAN, the Cisco IOS ACL automatically maps to the
associated isolated and community VLANs.
• You cannot map Cisco IOS ACLs to an isolated or community VLAN.
• You cannot use policy-based routing (PBR) on a private VLAN interface. You get an error message
if you try to apply a policy to a private VLAN interface using the ip policy route-map
route_map_name command.
• You cannot set a VLAN to a private VLAN if the VLAN has dynamic access control entries (ACEs)
configured on it.
• You can stop Layer 3 switching on an isolated or community VLAN by destroying the binding of
that VLAN with its primary VLAN. Deleting the corresponding mapping is not sufficient.
Task Command
Step 1 Create the primary private VLAN. set vlan vlan pvlan-type primary
Step 2 Set the isolated, community, or two-way set vlan vlan pvlan-type {isolated | community
community VLAN(s). | twoway-community}
Step 3 Bind the isolated, community, or two-way set pvlan primary_vlan {isolated_vlan |
community VLAN(s) to the primary VLAN. community_vlan | twoway_community_vlan}
Step 4 Associate the isolated, community, or two-way set pvlan primary_vlan {isolated_vlan |
community port(s) to the primary private VLAN. community_vlan | twoway_community_vlan}
[mod/ports | sc0]
Step 5 Map the isolated, community, or two-way set pvlan mapping primary_vlan {isolated_vlan
community VLAN to the primary private VLAN | community_vlan | twoway_community_vlan}
on the promiscuous port. mod/ports
Step 6 Verify the primary private VLAN configuration. show pvlan [vlan]
show pvlan mapping
Note You can bind the isolated, community, or two-way community port(s) and associated isolated,
community, or two-way community VLANs to the private VLAN using the set pvlan primary_vlan
{isolated_vlan | community_vlan | twoway_community_vlan} mod/port command.
Note Ports do not have to be on the same switch as long as the switches are trunk connected and the private
VLAN has not been removed from the trunk.
Note If you are using the MSFC for your promiscuous port in your private VLAN, use 15/1 as the MSFC
mod/port number if the supervisor engine is in slot 1, or use 16/1 if the supervisor engine is in slot 2.
Note You must enter the set pvlan command everywhere a private VLAN needs to be created, which
includes switches with isolated, community, or two-way community ports, switches with
promiscuous ports, and all intermediate switches that need to carry the private VLANs on their
trunks. On the edge switches that do not have any isolated, community, two-way community, or
promiscuous ports (typically, access switches with no private ports), you do not need to create private
VLANs and you can prune the private VLANs from the trunks for security reasons.
This example shows how to specify VLAN 901 as the isolated VLAN and VLANs 902 and 903 as
community VLANs:
Console> (enable) set vlan 901 pvlan-type isolated
Vlan 901 configuration successful
Console> (enable) set vlan 902 pvlan-type community
Vlan 902 configuration successful
Console> (enable) set vlan 903 pvlan-type community
Vlan 903 configuration successful
Console> (enable)
This example shows how to bind VLAN 901 to primary VLAN 7 and assign port 4/3 as the isolated port:
Console> (enable) set pvlan 7 901 4/3
Successfully set the following ports to Private Vlan 7,901: 4/3
Console> (enable)
This example shows how to bind VLAN 902 to primary VLAN 7 and assign ports 4/4 through 4/6 as the
community port:
Console> (enable) set pvlan 7 902 4/4-6
Successfully set the following ports to Private Vlan 7,902:4/4-6
Console> (enable)
This example shows how to bind VLAN 903 to primary VLAN 7 and assign ports 4/7 through 4/9 as the
community ports:
Console> (enable) set pvlan 7 903
Successfully set association between 7 and 903.
Console> (enable) set pvlan 7 903 4/7-9
Successfully set the following ports to Private Vlan 7,903:4/7-9
Console> (enable)
This example shows how to map the isolated/community VLAN to the primary VLAN on the
promiscuous port, 3/1, for each isolated or community VLAN:
Console> (enable) set pvlan mapping 7 901 3/1
Successfully set mapping between 7 and 901 on 3/1
Console> (enable) set pvlan mapping 7 902 3/1
Successfully set mapping between 7 and 902 on 3/1
Console> (enable) set pvlan mapping 7 903 3/1
Successfully set mapping between 7 and 903 on 3/1
Task Command
Delete a primary VLAN. clear vlan primary_vlan
Task Command
Delete an isolated or community VLAN. clear vlan {isolated_vlan | community_vlan |
twoway_community_vlan}
Task Command
Delete the port mapping from the private VLAN. clear pvlan mapping primary_vlan {isolated |
community | twoway-community} {mod/ports}
This example shows how to delete the mapping of VLANs 902 to 901, previously set on ports 3/2
through 3/5:
Console> (enable) clear pvlan mapping 901 902 3/2-5
Successfully cleared mapping between 901 and 902 on 3/2-5
Console> (enable)
• Enter an interface vlan command to configure Layer 3 parameters only for primary private VLANs.
• On the supervisor engine, you cannot create isolated or community VLANs using VLAN numbers
for which interface vlan commands have been entered on the MSFC.
• ARP entries learned on Layer 3 private VLAN interfaces are sticky ARP entries (we recommend
that you display and verify private VLAN interface ARP entries).
• For security reasons, private VLAN interface sticky ARP entries do not age out. Connecting new
equipment with the same IP address generates a message and the ARP entry is not created.
• Because the private VLAN interface ARP entries do not age out, you must manually remove private
VLAN interface ARP entries if a MAC address changes.
• You can add or remove private VLAN ARP entries manually as follows:
obelix-rp(config)# no arp 11.1.3.30
IP ARP:Deleting Sticky ARP entry 11.1.3.30
Task Command
Step 1 Create a new FDDI or FDDI NET-type VLAN. set vlan vlan [name name] type {fddi | fddinet}
[said said] [mtu mtu]
Step 2 Verify the VLAN configuration. show vlan [vlan]
To modify the VLAN parameters on an existing FDDI VLAN, perform this task in privileged mode:
Task Command
Step 1 Modify an existing FDDI or FDDI NET-type set vlan vlan [name name] [state {active |
VLAN. suspend}] [said said] [mtu mtu]
Step 2 Verify the VLAN configuration. show vlan [vlan]
Note Catalyst 6000 family switches do not support ISL-encapsulated Token Ring frames.
SRB or SRT
BRF
CRF
SRS SRS SRS
S6624
Ring Ring Ring Ring Ring Ring
001 001 011 002 002 002
For source routing, the switch appears as a single bridge between the logical rings. The TrBRF can
function as a source-route bridge (SRB) or as a source-route transparent (SRT) bridge running either the
IBM or IEEE STP. If SRB is used, you can define duplicate MAC addresses on different logical rings.
The Token Ring software runs an instance of STP for each TrBRF VLAN and each TrCRF VLAN. For
TrCRF VLANs, STP removes loops in the logical ring. For TrBRF VLANs, STP interacts with external
bridges to remove loops from the bridge topology, similar to STP operation on Ethernet VLANs.
Caution Certain parent TrBRF STP and TrCRF bridge mode configurations can place the logical ports (the
connection between the TrBRF and the TrCRF) of the TrBRF in a blocked state. For more
information, see the “Default VLAN Configuration” section on page 11-4.
For source routing, the switch appears as a single bridge between the logical rings. The TrBRF can
function as an SRB or SRT bridge running either the IBM or IEEE STP. If SRB is used, duplicate MAC
addresses can be defined on different logical rings.
To accommodate IBM System Network Architecture (SNA) traffic, you can use a combination of SRT
and SRB modes. In a mixed mode, the TrBRF considers some ports (logical ports connected to TrCRFs)
to operate in SRB mode while others operate in SRT mode.
Typically, TrCRFs are undistributed, which means each TrCRF is limited to the ports on a single switch.
Multiple undistributed TrCRFs on the same or separate switches can be associated with a single parent
TrBRF (see Figure 11-3). The parent TrBRF acts as a multiport bridge, forwarding traffic between the
undistributed TrCRFs.
Note To pass data between rings located on separate switches, you can associate the rings to the same
TrBRF and configure the TrBRF for SRB.
Switch A Switch B
ISL
TrBRF 3
TrCRF TrCRF TrCRF
400 350 200
S6813
Note By default, Token Ring ports are associated with the default TrCRF (VLAN 1003, trcrf-default),
which has the default TrBRF (VLAN 1005, trbrf-default) as its parent. In this configuration, a
distributed TrCRF is possible (see Figure 11-4), and traffic is passed between the default TrCRFs
located on separate switches provided that the switches are connected through an ISL trunk.
Switch A Switch B
ISL
TrBRF 2
TrCRF TrCRF TrCRF
300 300 300
S6812
Within a TrCRF, source-route switching forwards frames based on either MAC addresses or route
descriptors. The entire VLAN can operate as a single ring, with frames switched between ports within a
single TrCRF.
You can specify the maximum hop count for All-Routes and Spanning Tree Explorer frames for each
TrCRF. This limits the maximum number of hops an explorer is allowed to traverse. If a port determines
that the explorer frame it is receiving has traversed more than the number of hops specified, it does not
forward the frame. The TrCRF determines the number of hops an explorer has traversed based on the
number of bridge hops in the route information field.
A backup TrCRF enables you to configure an alternate route for traffic between undistributed TrCRFs
located on separate switches that are connected by a TrBRF, in the event that the ISL connection between
the switches fails. Only one backup TrCRF for a TrBRF is allowed, and only one port per switch can
belong to a backup TrCRF.
If the ISL connection between the switches fails, the port in the backup TrCRF on each affected switch
automatically becomes active, rerouting traffic between the undistributed TrCRFs through the backup
TrCRF. When the ISL connection is reestablished, all but one port in the backup TrCRF is disabled.
Figure 11-5 illustrates the backup TrCRF.
Switch A Switch B
ISL
TrBRF 1
TrCRF TrCRF
600 601
Backup
TrCRF 612
S6811
Token Ring VLAN Configuration Guidelines
When you create or modify Token Ring VLANs, take the following guidelines into consideration:
• For Token Ring VLANs, the default TrBRF (VLAN 1005) can only be the parent of the default
TrCRF (VLAN 1003). You cannot specify the default TrBRF as the parent of a user-configured
TrCRF.
• You must configure a TrBRF before you configure the TrCRF; that is, the parent TrBRF VLAN you
specify for the TrCRF must already exist.
• In a Token Ring environment, the logical ports of the TrBRF (the connection between the TrBRF
and the TrCRF) are placed in a blocked state if either of these conditions exists:
– The TrBRF is running the IBM STP, and the TrCRF is in SRT mode.
– The TrBRF is running the IEEE STP, and the TrCRF is in SRB mode.
Task Command
Step 1 Create a new Token Ring TrBRF-type VLAN. set vlan vlan [name name] type trbrf [said said]
[mtu mtu] bridge bridgeber [stp {ieee | ibm}]
Step 2 Verify the VLAN configuration. show vlan [vlan]
This example shows how to create a new Token Ring TrBRF VLAN and verify the configuration:
Console> (enable) set vlan 999 name TrBRF_999 type trbrf bridge a
Vlan 999 configuration successful
Console> (enable) show vlan 999
VLAN Name Status IfIndex Mod/Ports, Vlans
---- -------------------------------- --------- ------- ------------------------
999 TrBRF_999 active
VLAN Type SAID MTU Parent RingNo BrdgNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ ------ ---- -------- ------ ------
999 trbrf 100999 4472 - - 0xa ibm - 0 0
VLAN AREHops STEHops Backup CRF
---- ------- ------- ----------
Console> (enable)
To modify the VLAN parameters on an existing Token Ring TrBRF VLAN, perform this task in
privileged mode:
Task Command
Step 1 Modify an existing Token Ring TrBRF-type set vlan vlan [name name] [state {active | suspend}]
VLAN. [said said] [mtu mtu] [bridge bridgeber] [stp {ieee |
ibm}]
Step 2 Verify the VLAN configuration. show vlan [vlan]
Note You must enable VTP version 2 before you create Token Ring VLANs. For information on enabling
VTP version 2, see Chapter 10, “Configuring VTP.”
To create a new Token Ring TrCRF VLAN, perform this task in privileged mode:
Task Command
Step 1 Create a new Token Ring TrCRF-type VLAN. set vlan vlan [name name] type trcrf [said said]
[mtu mtu] {ring hex_ringber | decring
decimal_ringber} parent vlan
Step 2 Verify the VLAN configuration. show vlan [vlan]
Note You must specify a ring number (either in hexadecimal or in decimal) and a parent TrBRF VLAN
when creating a new TrCRF.
This example shows how to create a Token Ring TrCRF VLAN and verify the configuration:
Console> (enable) set vlan 998 name TrCRF_998 type trcrf decring 10 parent 999
Vlan 998 configuration successful
Console> (enable) show vlan 998
VLAN Name Status IfIndex Mod/Ports, Vlans
---- -------------------------------- --------- ------- ------------------------
998 TrCRF_998 active 352
VLAN Type SAID MTU Parent RingNo BrdgNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ ------ ---- -------- ------ ------
998 trcrf 100998 4472 999 0xa - - srb 0 0
VLAN AREHops STEHops Backup CRF
---- ------- ------- ----------
998 7 7 off
Console> (enable)
To modify the VLAN parameters on an existing Token Ring TrCRF VLAN, perform this task in
privileged mode:
Task Command
Step 1 Modify an existing Token Ring TrCRF set vlan vlan [name name] [state {active | suspend}] [said
VLAN. said] [mtu mtu] [ring hex_ring] [decring decimal_ring]
[bridge bridge] [parent vlan]
Step 2 Verify the VLAN configuration. show vlan [vlan]
To create a backup TrCRF, assign one port on each switch that the TrBRF traverses to the backup
TrCRF.
To configure a TrCRF VLAN as a backup TrCRF, perform this task in privileged mode:
Task Command
Step 1 Configure a TrCRF VLAN as a backup TrCRF. set vlan vlan backupcrf on
Step 2 Verify the VLAN configuration. show vlan [vlan]
Caution If the backup TrCRF port is attached to a Token Ring multistation access unit (MSAU), it does not
provide a backup path unless the ring speed and port mode are set by another device. We recommend
that you configure the ring speed and port mode for the backup TrCRF.
To specify the maximum number of hops for All-Routes Explorer frames or Spanning Tree Explorer
frames in the TrCRF, perform this task in privileged mode:
Task Command
Step 1 Specify the maximum number of hops for set vlan vlan aremaxhop hopcount
All-Routes Explorer frames in the TrCRF.
Step 2 Specify the maximum number of hops for set vlan vlan stemaxhop hopcount
Spanning Tree Explorer frames in the TrCRF.
Step 3 Verify the VLAN configuration. show vlan [vlan]
This example shows how to limit All-Routes Explorer frames and Spanning Tree Explorer frames to ten
hops and how to verify the configuration:
Console> (enable) set vlan 998 aremaxhop 10 stemaxhop 10
Vlan 998 configuration successful
Console> (enable) show vlan 998
VLAN Name Status IfIndex Mod/Ports, Vlans
---- -------------------------------- --------- ------- ------------------------
998 VLAN0998 active 357
VLAN Type SAID MTU Parent RingNo BrdgNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ ------ ---- -------- ------ ------
998 trcrf 100998 4472 999 0xff - - srb 0 0
This chapter describes how to configure the Multilayer Switch Feature Card (MSFC) for interVLAN
routing on the Catalyst 6000 family switches.
Note For complete syntax and usage for the commands used in this chapter, refer to the Catalyst 6000
Family Command Reference publication.
Note Refer to the FlexWAN Module Port Adapter Installation and Configuration Notes for information
about configuring routing on FlexWAN module interfaces.
VLAN 10 VLAN 20
A Switch A Switch B
Host
C
B Host
Host
18071
ISL Trunks
When Host A in VLAN 10 needs to communicate with Host B in VLAN 10, it sends a packet addressed
to that host. Switch A forwards the packet directly to Host B, without sending it to the router.
When Host A sends a packet to Host C in VLAN 20, Switch A forwards the packet to the router, which
receives the traffic on the VLAN 10 interface. The router checks the routing table, determines the correct
outgoing interface, and forwards the packet out the VLAN 20 interface to Switch B. Switch B receives
the packet and forwards it to Host C.
Task Command
Step 1 (Optional) Enable IP routing on Router(config)# ip routing
the router1.
Step 2 (Optional) Specify an IP routing Router(config)# router ip_routing_protocol
protocol2.
Step 3 Specify a VLAN interface on the Router(config)# interface vlan-id
MSFC.
Step 4 Assign an IP address to the Router(config-if)# ip address n.n.n.n mask
VLAN.
Step 5 Exit configuration mode. Router(config-if)# Ctrl-Z
1. This step is necessary if you have multiple routers in the network.
2. This step is necessary if you enabled IP routing in Step 1. This step might include other commands, such as using the
network router configuration command to specify the networks to route. Refer to the documentation for your router platform
for detailed information on configuring routing protocols.
This example shows how to enable IP routing on the MSFC, create a VLAN interface, and assign the
interface an IP address:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# ip routing
Router(config)# router rip
Router(config-router)# network 10.0.0.0
Router(config-router)# interface vlan 100
Router(config-if)# ip address 10.1.1.1 255.0.0.0
Router(config-if)# ^Z
Router#
Task Command
Step 1 1
(Optional) Enable IPX routing on the router . Router(config)# ipx routing
Step 2 (Optional) Specify an IPX routing protocol2. Router(config)# ipx router ipx_routing_protocol
Step 3 Specify a VLAN interface on the MSFC. Router(config)# interface vlan-id
Step 4 3
Assign a network number to the VLAN . Router(config-if)# ipx network [network | unnumbered]
encapsulation encapsulation-type
Step 5 Exit configuration mode. Router(config-if)# Ctrl-Z
1. This step is necessary if you have multiple routers in the network.
2. This step is necessary if you enabled IPX routing in Step 1. This step might include other commands, such as using the network router
configuration command to specify the networks to route. Refer to the documentation for your router platform for detailed information on
configuring routing protocols.
3. This step enables IPX routing on the VLAN. When you enable IPX routing on the VLAN, you can also specify an encapsulation type.
This example shows how to enable IPX routing on the MSFC, create a VLAN interface, and assign the
interface an IPX network address:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# ipx routing
Router(config)# ipx router rip
Router(config-ipx-router)# network all
Router(config-ipx-router)# interface vlan100
Router(config-if)# ipx network 100 encapsulation snap
Router(config-if)# ^Z
Router#
Task Command
Step 1 (Optional) Enable AppleTalk routing on Router(config)# appletalk routing
the router1.
Step 2 Specify a VLAN interface on the MSFC. Router(config)# interface vlan-id
Step 3 Assign a cable range to the VLAN. Router(config-if)# appletalk cable-range cable-range
Step 4 Assign a zone name to the VLAN. Router(config-if)# appletalk zone zone-name
Step 5 Exit configuration mode. Router(config-if)# Ctrl-Z
1. This step is necessary if you have multiple routers in the network.
This example shows how to enable AppleTalk routing on the MSFC, create a VLAN interface, and
assign the interface an AppleTalk cable-range and zone name:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# appletalk routing
Router(config)# interface vlan100
Router(config-if)# appletalk cable-range 100-100
Router(config-if)# appletalk zone Engineering
Router(config-if)# ^Z
Router#
Note Supervisor Engine 1 with the Policy Feature Card (PFC) supports this feature with Release 12.1(2)E
or later releases. Supervisor Engine 2 with PFC2 supports this feature with Release 12.1(3a)E or later
releases.
Web Cache Communication Protocol (WCCP) Layer 2 redirection allows directly connected Cisco
Cache Engines to use Layer 2 redirection, which is more efficient than Layer 3 redirection, through
generic routing encapsulation (GRE). You can configure a directly connected Cache Engine to negotiate
use of WCCP Layer 2 redirection. WCCP Layer 2 redirection requires no configuration on the MSFC.
Enter the show ip wccp web-cache detail command to display which redirection method is in use for
each cache. Follow these guidelines when using this feature:
• WCCP Layer 2 redirection feature sets the IP flow mask to full-flow mode.
• You can configure the Cisco Cache Engine software release 2.2 or later releases to use WCCP
Layer 2 redirection.
• Layer 2 redirection takes place on the switch and is not visible to the MSFC. Entering the show ip
wccp web-cache detail command on the MSFC displays statistics for only the first packet of a
Layer 2 redirected flow, which provides an indication of how many flows, rather than packets, are
using Layer 2 redirection. Entering the show mls entries command on the supervisor engine
displays the other packets in the Layer 2 redirected flows.
Configure the Cisco IOS WCCP as described in the Cisco IOS Configuration Fundamentals
Configuration Guide at
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/fun_c/fcprt3/fcd305.htm
• When the first external port on the VLAN is brought back up, all Layer 3 interfaces on that VLAN
that were previously shut down are brought up. This message is reported to the console for each
Layer 3 interface:
%AUTOSTATE-6-BRING_UP
The Catalyst 6000 family switch does not have knowledge of, or control over, the MSM or MSFC
configuration (just as the switch does not have knowledge of, or control over, external router
configurations). The auto state feature will not work on MSM or MSFC interfaces if the MSM or MSFC
is not properly configured. For example, consider this MSM trunk configuration:
interface GigabitEthernet0/0/0.200
encap isl 200
.
.
In the example, the GigabitEthernet0/0/0.200 interface is not auto stated if any of these configuration
errors are made:
• VLAN 200 is not configured on the switch.
• Trunking is not configured on the corresponding Gigabit Ethernet switch port.
• Trunking is configured but VLAN 200 is not an allowed VLAN on that trunk.
To display the current line protocol state determination for the MSM, perform this task in normal mode:
Task Command
Display the current line protocol state show msmautostate mod
determination for the MSM.
This example shows how to display the current line protocol state determination for the MSM:
Console> show msmautostate
MSM Auto port state: enabled
Console>
To display the line protocol state determination for the MSFC, perform this task in privileged mode:
Task Command
Display the line protocol state determination for show msfcautostate
the MSFC.
This example shows how to display the line protocol state determination for the MSFC:
Console> (enable) show msfcautostate
To check which MSM interfaces are currently auto stated, perform this task in enabled mode:
Task Command
Check which MSM interfaces are currently auto show autostate entries
stated.
This example shows how to check which MSM interfaces are currently auto stated (shutdown or brought
up through auto state):
Router# show autostate entries
Port-channel1.5
Port-channel1.6
Port-channel1.4
Router#
To disable the auto state feature if you have an MSM installed, perform this task in privileged mode:
Task Command
Disable the auto state feature if you have an MSM set msmautostate disable
installed.
The auto state feature is enabled by default. This example shows how to disable the auto state feature if
you have an MSM installed:
Console> (enable) set msmautostate disable
MSM port auto state disabled.
Console> (enable)
To disable the line protocol state determination of the MSFC, perform this task in privileged mode:
Note If you toggle (enable to disable and/or disable to enable) the msfcautostate command you might have
to use the shutdown and no shutdown commands to disable and then restart the VLAN and WAN
interfaces on the MSFC to bring them back up. Unless there is a valid reason, the MSFC auto state
feature should not be disabled.
Task Command
Disable the line protocol state determination of set msfcautostate disable
the MSFC.
This example shows how to disable the line protocol state determination of the MSFC:
Console> (enable) set msfcautostate disable
This chapter describes how to configure Cisco Express Forwarding (CEF) for Policy Feature Card 2
(PFC2). CEF for PFC2 provides IP and Internetwork Packet Exchange (IPX) unicast Layer 3 switching
and IP multicast Layer 3 switching for Supervisor Engine 2, PFC2, and Multilayer Switch Feature
Card 2 (MSFC2).
Note For complete information on the syntax and usage information for the supervisor engine commands
used in this chapter, refer to the Catalyst 6000 Family Command Reference publication.
Note Supervisor Engine 1 with the PFC1 and the MSFC or MSFC2 provide Layer 3 switching with
Multilayer Switching (MLS). See Chapter 14, “Configuring MLS,” for more information.
Note To configure the MSFC2 to support MLS on a Catalyst 5000 family switch, refer to the Layer 3
Switching Software Configuration Guide at
http://www.cisco.com/univercd/cc/td/doc/product/lan/cat5000/rel_5_2/layer3/index.htm.
Note Layer 3 switching supports the routing protocols configured on the MSFC2. Layer 3 switching does
not replace the routing protocols configured on the MSFC2. Layer 3 switching uses Protocol
Independent Multicast (PIM) for multicast route determination.
Layer 3 switching on Catalyst 6000 family switches provides flow statistics that you can use to identify
traffic characteristics for administration, planning, and troubleshooting. Layer 3 switching uses NetFlow
Data Export (NDE) to export flow statistics (for more information about NDE, see Chapter 15,
“Configuring NDE”).
Note Traffic is Layer 3 switched after being processed by the VLAN access control list (VACL) feature
and the quality of service (QoS) feature.
Note Rather than just forwarding IP multicast packets, the PFC2 replicates them as necessary on the
appropriate VLANs.
Note Packets are rewritten with the encapsulation appropriate for the next-hop subnet.
If Source A and Destination B are on different VLANs and Source A sends a packet to the MSFC2 to be
routed to Destination B, the switch recognizes that the packet was sent to the Layer 2 (MAC) address of
the MSFC2.
To perform Layer 3 switching, the switch rewrites the Layer 2 frame header, changing the Layer 2
destination address to the Layer 2 address of Destination B and the Layer 2 source address to the Layer 2
address of the MSFC2. The Layer 3 addresses remain the same.
In IP unicast and IP multicast traffic, the switch decrements the Layer 3 TTL value by 1 and recomputes
the Layer 3 packet checksum. In IPX traffic, the switch increments the Layer 3 Transport Control value
by 1 and recomputes the Layer 3 packet checksum. The switch recomputes the Layer 2 frame checksum
and forwards (or for multicast packets, replicates as necessary) the rewritten packet to Destination B’s
VLAN.
These sections describe how the packets are rewritten:
• Understanding IP Unicast Rewrite, page 13-3
• Understanding IPX Unicast Rewrite, page 13-3
• Understanding IP Multicast Rewrite, page 13-4
Note CEF for PFC2 sends bridge traffic that is addressed at Layer 2 to the MSFC2 to be processed.
Note Access control lists (ACLs) and policy-based routing can cause CEF for PFC2 to ignore the FIB
when making a forwarding decision (see the “Understanding Forwarding Decisions” section on
page 13-5).
Enter the show mls cef command to display a Layer 3 switching summary:
Console> (enable) show mls cef
Total L3 packets switched: 0
Total L3 octets switched: 0
Total route entries: 18
IP route entries: 15
IPX route entries: 3
IPM route entries: 0
IP load sharing entries: 0
IPX load sharing entries: 0
Forwarding entries: 4
Bridge entries: 12
Drop entries: 2
Note Because the FIB mirrors the unicast and multicast routing tables on the MSFC2, any commands on
the MSFC2 that change the unicast or multicast routing tables affect the FIB. Forwarding entries
cannot be cleared from the Supervisor Engine 2 command-line interface (CLI).
In switches with redundant supervisor engines and MSFC2s, the designated MSFC2 supports the FIB on
the active Supervisor Engine 2. The routing protocols on the nondesignated MSFC2 send information to
the routing protocols on the designated MSFC2.
Enter the show mls entry cef command to display:
• Module number of the MSFC that is supporting the FIB
• FIB entry type (receive, connected, resolved, drop, wildcard, or default)
• Destination address (IP address or IPX network)
• Destination mask
• Next-hop address (IP address or IPX network)
• Next-hop mask
• Next-hop load-sharing weight
Note CEF for PFC2 provides Layer 3 switching when the extended access list deny condition on the RPF
interface specifies something other than the Layer 3 source, Layer 3 destination, or IP protocol (an
example is the Layer 4 port numbers).
For partially switched flows, all multicast traffic belonging to the flow reaches the MSFC and is software
switched for any interface that is not Layer 3 switched.
The PFC prevents multicast traffic in flows that are completely Layer 3 switched from reaching the
MSFC, reducing the load on the MSFC. The show ip mroute and show mls ip multicast commands
identify completely Layer 3-switched flows with the text string RPF-MFD (Multicast Fast Drop [MFD]
indicates that from the viewpoint of the MSFC, the multicast packet is dropped, because it is switched
by the PFC).
For all completely Layer 3-switched flows, the PFC periodically sends multicast packet and byte count
statistics to the MSFC, because the MSFC cannot record multicast statistics for completely switched
flows, which it never sees. The MSFC uses the statistics to update the corresponding multicast routing
table entries and reset the appropriate expiration timers.
MAC = Bb
MAC = Dd ing
a rket
MSFC
ne t 3/M
MAC = Aa Sub Host B
171.59.3.1
Subnet 1/Sales
Sub
net
2/E
ngin
Host A eeri
171.59.1.2 ng MAC = Cc
44610
Data 171.59.1.2:171.59.2.2 Dd:Cc
Figure 13-2 shows a simple IPX CEF network topology. In this example, Host A is on the Sales VLAN
(IPX address 01.Aa), Host B is on the Marketing VLAN (IPX address 03.Bb), and Host C is on the
Engineering VLAN (IPX address 02.Cc).
When Host A initiates a file transfer to Host C, the PFC2 uses the information in the FIB and adjacency
table to forward packets from Host A to Host C.
MAC = Bb
MAC = Dd ting
MSFC / M arke
3
MAC = Aa Net 03 Host B
Net 1/Sales
01 Net
2/E
ngin
Host A eer
ing MAC = Cc
02
25482
Data 01.Aa:02.Cc Dd:Cc
Note A NetFlow table with more than 32K entries increases the probability that there will be insufficient
room to store statistics. To reduce the number of entries in the NetFlow table, you can exclude
specified IP protocols from the statistics (see the “Excluding IP Protocol Entries from the NetFlow
Table” section on page 13-25).
Flow Masks
Flow masks determine how NetFlow table entries are created. CEF for PFC2 supports only one flow
mask (the most specific one) for all statistics. If CEF for PFC2 detects different flow masks from
different MSFCs for which it is performing Layer 3 switching, it changes its flow mask to the most
specific flow mask detected.
When the flow mask changes, the entire NetFlow table is purged. When CEF for PFC2 exports cached
entries, flow records are created based on the current flow mask. Depending on the current flow mask,
some fields in the flow record might not have values. Unsupported fields are filled with a zero (0).
The statistics flow masks are as follows:
• destination-ip—The least-specific flow mask for IP
• destination-ipx—The only flow mask for IPX
• source-destination-ip—For IP
• source-destination-vlan—For IP multicast
• full flow—The most-specific flow mask
Enter the show mls statistics entry command to display the contents of the NetFlow table and the
current flow mask. Use the keyword options to display information for specific traffic (refer to the
Catalyst 6000 Family Command Reference publication for more information).
Note Identically numbered HSRP groups use the same virtual MAC address, which might
cause errors if you configure bridging on the MSFC.
• Because of the restriction to 16 unique HSRP group numbers, CEF for PFC2 cannot support the
standby use-bia HSRP command.
• CEF for PFC2 supports the following ingress and egress encapsulations:
– For IP unicast:
Ethernet V2.0 (ARPA)
802.3 with 802.2 with 1 byte control (SAP1)
802.3 with 802.2 and SNAP
– For IPX:
Ethernet V2.0 (ARPA)
802.3 (raw)
802.2 with 1 byte control (SAP1)
SNAP
Note When the ingress encapsulation for IPX traffic is SAP1, CEF for PFC2 provides Layer 3
switching only when the egress encapsulation is also SAP1. The MSFC2 routes IPX
SAP1 traffic that requires an encapsulation change.
Note Groups in the 224.0.0.* range are reserved for routing control packets and must be flooded
to all forwarding ports of the VLAN. These addresses map to the multicast MAC address
range 01-00-5E-00-00-xx, where xx is in the range 0–0xFF.
• For PIM auto-RP multicast groups (IP multicast group addresses 224.0.1.39 and 224.0.1.40).
Note In systems with redundant MSFC2s, the PIM interface configuration must be the same on
both the active and the redundant MSFC2.
• If the shortest-path tree (SPT) bit for the flow is cleared when running PIM sparse mode for the
interface or group.
• For fragmented IP packets and packets with IP options. However, packets in the flow that are not
fragmented or that do not specify IP options are multilayer switched.
• For source traffic received on tunnel interfaces (such as MBONE traffic).
• For any RPF interface with multicast tag switching enabled.
Note For information on configuring routing on the MSFC2, see Chapter 12, “Configuring InterVLAN
Routing.”
Task Command
Display Layer 3-switching information. show mls entry [cef] | [netflow-route]
Enter the show mls entry cef command to display only the FIB entries. Enter the show mls entry
netflow-route command to display only the entries from the TCP intercept feature and reflexive access
control lists (ACLs).
Note The ip load-sharing per-packet, ip cef accounting per-prefix, and ip cef accounting
non-recursive IOS CEF commands on the MSFC2 apply only to traffic that is CEF-switched on the
MSFC. The commands do not affect traffic that is switched by CEF for PFC2 on the supervisor
engine.
Note This section describes how to enable IP multicast routing on the MSFC2. For more detailed IP
multicast configuration information, refer to the “IP Multicast” section of the Cisco IOS IP and IP
Routing Configuration Guide at
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/ip_c/ipcprt3/index.htm
Task Command
Enable IP multicast routing globally. Router(config)# ip multicast-routing
Task Command
Enable IP PIM on an MSFC2 Router(config-if)# ip pim {dense-mode | sparse-mode |
interface. sparse-dense-mode}
This example shows how to enable PIM on an MSFC2 interface using the default mode
(sparse-dense-mode):
Router(config-if)# ip pim
Router(config-if)#
This example shows how to enable PIM sparse mode on an MSFC2 interface:
Router(config-if)# ip pim sparse-mode
Router(config-if)#
Note This command does not affect flows that are already being routed. To apply the threshold to existing
routes, clear the route and let it reestablish.
Task Command
Configure the IP MMLS threshold. Router(config)# [no] mls ip multicast threshold ppsec
This example shows how to configure the IP MMLS threshold to 10 packets per second:
Router(config)# mls ip multicast threshold 10
Router(config)#
Note You must enable IP PIM on all participating MSFC interfaces before IP MMLS will function. For
information on configuring IP PIM on MSFC interfaces, see the “Enabling IP PIM on an MSFC2
Interface” section on page 13-15.
Task Command
Enable IP MMLS on an MSFC interface. Router(config-if)# [no] mls ip multicast
The show ip pim interface count command displays the IP MMLS enable state on MSFC IP PIM
interfaces and the number of packets received and sent on the interface.
The show ip interface command displays the IP MMLS enable state on an MSFC interface.
To display IP MMLS information for an IP PIM MSFC interface, perform one of these tasks:
Task Command
Display IP MMLS interface information. Router# show ip pim interface [type number] count
Display the IP MMLS interface enable state. Router# show ip interface
The show ip mroute command displays the IP multicast routing table on the MSFC2.
To display the IP multicast routing table, perform this task:
Task Command
Display the IP multicast routing table. Router# show ip mroute [group[source]] |
[summary] | [count] | [active kbps]
The show mls ip multicast command displays detailed information about IP MMLS.
To display detailed MMLS information on the MSFC, perform one of these tasks:
Task Command
Display IP MMLS group information. Router# show mls ip multicast group group-address
[interface type number | statistics]
Display IP MMLS details for all Router# show mls ip multicast interface type number
interfaces. [statistics | summary]
Display a summary of IP MMLS Router# show mls ip multicast summary
information.
Display IP MMLS statistics. Router# show mls ip multicast statistics
Display IP MMLS source information. Router# show mls ip multicast source ip-address
[interface type number | statistics]
This example shows how to display information on a specific IP MMLS entry on the MSFC:
Router# show mls ip multicast 224.1.1.1
Multicast hardware switched flows:
(1.1.13.1, 224.1.1.1) Incoming interface: Vlan13, Packets switched: 61590
Hardware switched outgoing interfaces: Vlan20 Vlan9
RFD-MFD installed: Vlan13
This example shows how to display a summary of IP MMLS information on the MSFC:
Router# show mls ip multicast summary
7 MMLS entries using 560 bytes of memory
Number of partial hardware-switched flows:2
Number of complete hardware-switched flows:5
Router#
Command Description
[no] debug mls ip multicast group group_id group_mask Configures filtering that applies to all other multicast
debugging commands.
[no] debug mls ip multicast events Displays IP MMLS events.
[no] debug mls ip multicast errors Turns on debug messages for multicast MLS-related errors.
[no] debug mls ip multicast messages Displays IP MMLS messages from/to the hardware switching
engine.
[no] debug mls ip multicast all Turns on all IP MMLS messages.
[no] debug mdss error Turns on MDSS1 error messages.
[no] debug mdss events Turns on MDSS-related events.
[no] debug mdss all Turns on all MDSS messages.
1. MDSS = Multicast Distributed Switching Services
Table 13-4 describes the Serial Control Protocol (SCP)-related debug commands to troubleshoot the
SCP that runs over the Ethernet out-of-band channel (EOBC).
Command Description
[no] debug scp async Displays trace for asynchronous data in and out of the SCP
system.
[no] debug scp data Shows packet data trace.
[no] debug scp errors Displays errors and warnings in the SCP.
[no] debug scp packets Displays packet data in and out of the SCP system.
Command Description
[no] debug scp timeouts Reports timeouts.
[no] debug scp all Turns on all SCP debugging messages.
Task Command
Display IP multicast statistics. show mls multicast statistics [ip_addr]
This example shows how to display IP multicast statistics for the MSFC2:
Console (enable) show mls multicast statistics
Router IP Router Name Router MAC
-------------------------------------------------------
1.1.9.254 ? 00-50-0f-06-3c-a0
Transmit:
Delete Notifications: 23
Acknowledgements: 92
Flow Statistics: 56
Receive:
Open Connection Requests: 1
Keep Alive Messages: 72
Shortcut Messages: 19
Shortcut Install TLV: 8
Selective Delete TLV: 4
Group Delete TLV: 0
Update TLV: 3
Input VLAN Delete TLV: 0
Output VLAN Delete TLV: 0
Global Delete TLV: 0
MFD Install TLV: 7
MFD Delete TLV: 0
Router IP Router Name Router MAC
-------------------------------------------------------
1.1.5.252 ? 00-10-29-8d-88-01
Transmit:
Delete Notifications: 22
Acknowledgements: 75
Flow Statistics: 22
Receive:
Open Connection Requests: 1
Keep Alive Messages: 68
Shortcut Messages: 6
Shortcut Install TLV: 4
Selective Delete TLV: 2
Group Delete TLV: 0
Update TLV: 0
Input VLAN Delete TLV: 0
Output VLAN Delete TLV: 0
Global Delete TLV: 0
MFD Install TLV: 4
MFD Delete TLV: 0
Console (enable)
Task Command
Clear IP multicast statistics. clear mls multicast statistics
The show mls multicast entry command displays a variety of information about the multicast flows
being handled by the PFC. You can display entries based on any combination of the participating
MSFC2, the VLAN, the multicast group address, or the multicast traffic source.
To display information about IP multicast entries, perform this task in privileged mode:
Task Command
Display information about IP multicast show mls multicast entry [[[mod] [vlan vlan_id]
entries. [group ip_addr] [source ip_addr]] | [all]]
This example shows how to display IP multicast entries for a specific MSFC2:
Console> (enable) show mls multicast entry 15
Router IP Dest IP Source IP Pkts Bytes InVlan OutVlans
--------------- --------------- --------------- ---------- ----------- ------- --------
This example shows how to display IP multicast entries for a specific multicast group address:
Console> (enable) show mls multicast entry group 226.0.1.3 short
Router IP Dest IP Source IP InVlan Pkts Bytes OutVlans
-------------- ----------- ------------ ------ ------ --------- ---------
171.69.2.1 226.0.1.3 172.2.3.8 20 171 23512 10,201,22,45
171.69.2.1 226.0.1.3 172.3.4.9 12 25 3120 8,20
Total Entries: 2
Console> (enable)
This example shows how to display IP multicast entries for a specific MSFC2 and a specific multicast
source address:
Console> (enable) show mls multicast entry 15 source 1.1.11.1 short
Router IP Dest IP Source IP Pkts Bytes
InVlan OutVlans
--------------- --------------- --------------- ---------- --------------------
------ ----------
172.20.49.159 224.1.1.6 1.1.40.4 368 57776
40 23,25
172.20.49.159 224.1.1.71 1.1.22.2 99 65142
22 30,37
172.20.49.159 224.1.1.8 1.1.22.2 396 235620
22 13,19
Console> (enable)
Task Command
Specify the aging time for NetFlow table entries. set mls agingtime [agingtime]
To specify the IP entry aging time, perform this task in privileged mode:
Task Command
Specify the IP entry aging time for the NetFlow set mls agingtime ip [agingtime]
table.
To specify the IPX entry aging time, perform this task in privileged mode:
Task Command
Specify the IPX entry aging time for the NetFlow set mls agingtime ipx [agingtime]
table.
This example shows how to specify the IPX entry aging time:
Console> (enable) set mls agingtime ipx 512
Multilayer switching aging time IPX set to 512
Console> (enable)
Specifying NetFlow Table IP Entry Fast Aging Time and Packet Threshold
Values
To minimize the size of the NetFlow table, enable IP entry fast aging time. The IP entry fast aging time
applies to NetFlow table entries that have no more than pkt_threshold packets routed within
fastagingtime seconds after they are created. A typical NetFlow table entry that is removed is the entry
for flows to and from a Domain Name Server (DNS) or TFTP server; the entry might never be used again
after it is created. Detecting and aging out these entries saves space in the NetFlow table for other data
traffic.
The default fastagingtime value is 0 (no fast aging). You can configure the fastagingtime value to 32, 64,
96, or 128 seconds. Any fastagingtime value that is not configured exactly as the indicated values is
adjusted to the closest one. You can configure the pkt_threshold value to 0, 1, 3, 7, 15, 31, or 63 packets.
If you need to enable IP entry fast aging time, initially set the value to 128 seconds. If the NetFlow table
remains full, decrease the setting. If the NetFlow table continues to remain full, decrease the normal IP
entry aging time.
Typical values for fastagingtime and pkt_threshold are 32 seconds and 0 packets (no packets switched
within 32 seconds after the entry is created).
To specify the IP entry fast aging time and packet threshold, perform this task in privileged mode:
Task Command
Specify the IP entry fast aging time and set mls agingtime fast [fastagingtime] [pkt_threshold]
packet threshold for a NetFlow table
entry.
This example shows how to set the IP entry fast aging time to 32 seconds with a packet threshold of
0 packets:
Console> (enable) set mls agingtime fast 32 0
Multilayer switching fast aging time set to 32 seconds for entries with no more than 0
packets switched.
Console> (enable)
Note Entering a set mls flow command purges all existing entries in the NetFlow table.
To set the minimum NetFlow statistics flow mask, perform this task in privileged mode:
Task Command
Set the minimum statistics flow mask. set mls flow {destination | destination-source | full}
This example shows how to set the minimum statistics flow mask to destination-source-ip:
Console> (enable) set mls flow destination-source
Configured IP flow mask is set to destination-source flow.
Console> (enable)
Task Command
Exclude IP protocols from the NetFlow set mls exclude protocol {tcp | upd | both} port
table.
The port parameter can be a port number or a keyword: dns, ftp, smtp, telnet, x (X-Windows), or www.
This example shows how to exclude Telnet traffic from the NetFlow table:
Console> (enable) set mls exclude protocol tcp telnet
NetFlow table will not create entries for TCP packets with protocol port 23.
Note: MLS exclusion only works in full flow mode.
Console> (enable)
Note To display the forwarding decision entries, enter the show mls entry cef command (see the
“Displaying Layer 3-Switching Entries on the Supervisor Engine” section on page 13-12.)
To display a summary of NetFlow table entries and statistics, perform this task in privileged mode:
Task Command
Display all NetFlow table entries and show mls
statistics.
The show mls statistics entry command can display all statistics or statistics for specific NetFlow table
entries. Specify the destination address, source address, and for IP, the protocol, and source and
destination ports to see the statistics for a specific NetFlow table entry.
A value of zero (0) for src_port or dst_port is treated as a wildcard, and all NetFlow statistics are
displayed (unspecified options are treated as wildcards). If the protocol specified is not TCP or UDP, set
the src_port and dst_prt to 0 or no NetFlow statistics will display.
To display statistics for NetFlow table entries, perform this task in privileged mode:
Task Command
Display statistics for NetFlow table entries. show mls statistics entry [ip | ipx | uptime]
If you do not specify a NetFlow table entry, [destination ip_addr_spec] [source ip_addr_spec]
all NetFlow statistics are shown. [flow protocol src_port dst_port]
This example shows how to display NetFlow statistics for a particular NetFlow table entry:
Console> show mls statistics entry ip destination 172.20.22.14
Last Used
Destination IP Source IP Prot DstPrt SrcPrt Stat-Pkts Stat-Bytes
--------------- --------------- ---- ------ ------ --------- -----------
MSFC 127.0.0.12:
172.20.22.14 172.20.25.10 6 50648 80 3152 347854
Console>
Note The clear mls commands affect only statistics. None of the clear mls commands affect forwarding
entries or the NetFlow table entries that correspond to the forwarding entries.
Task Command
Clear all NetFlow statistics. clear mls statistics entry all
Task Command
Clear statistics for a NetFlow table IP clear mls statistics entry ip [destination ip_addr_spec]
entry. [source ip_addr_spec] [flow protocol src_port dst_port]
[all]
This example shows how to clear statistics for NetFlow table entries with destination IP address
172.20.26.22:
Console> (enable) clear mls statistics entry ip destination 172.20.26.22
MLS IP entry cleared
Console> (enable)
This example shows how to clear statistics for NetFlow table entries with destination IP address
172.20.22.113, TCP source port 1652, and TCP destination port 23:
Console> (enable) clear mls statistics entry destination 172.20.26.22 source 172.20.22.113
flow tcp 1652 23
MLS IP entry cleared
Console> (enable)
Task Command
Clear statistics for a NetFlow table IPX clear mls statistics entry ipx [destination
entry. ipx_addr_spec] [source ipx_addr_spec] [all]
This example shows how to clear statistics for IPX MLS entries with destination IPX address
1.0002.00e0.fefc.6000:
Console> (enable) clear mls statistics entry ipx destination 1.0002.00e0.fefc.6000
MLS IPX entry cleared.
Console> (enable)
Task Command
Clear NetFlow statistics totals. clear mls statistics
Task Command
Display NetFlow statistics debug information show mls debug
that you can send to your technical support
representative.
Note The show tech-support command displays supervisor engine system information. Use
application-specific commands to get more information about particular applications.
This chapter describes how to configure Multilayer Switching (MLS) for the Catalyst 6000 family
switches. MLS provides IP and Internetwork Packet Exchange (IPX) unicast Layer 3 switching and IP
multicast Layer 3 switching with Supervisor Engine 1, the Policy Feature Card (PFC), and the
Multilayer Switch Feature Card (MSFC) or MSFC2.
Note For complete information on the syntax and usage information for the supervisor engine commands
used in this chapter, refer to the Catalyst 6000 Family Command Reference publication.
Note Supervisor Engine 2, PFC2, and MSFC2 provide Layer 3 switching with Cisco Express Forwarding
for PFC2 (CEF for PFC2). See Chapter 13, “Configuring CEF for PFC2,” for more information.
Note Layer 3 switching supports the routing protocols configured on the MSFC. Layer 3 switching does
not replace the routing protocols configured on the MSFC. Layer 3 switching uses IP Protocol
Independent Multicast (IP PIM) for multicast route determination.
Layer 3 switching on Catalyst 6000 family switches provides traffic statistics that you can use to identify
traffic characteristics for administration, planning, and troubleshooting. Layer 3 switching uses NetFlow
Data Export (NDE) to export flow statistics (for more information about NDE, see Chapter 15,
“Configuring NDE”).
These sections describe Layer 3 switching and MLS on the Catalyst 6000 family switches:
• Understanding Layer 3-Switched Packet Rewrite, page 14-2
• Understanding MLS, page 14-4
Note Rather than just forwarding multicast packets, the switch replicates them as necessary on the
appropriate VLANs.
Understanding MLS
Note Supervisor Engine 1, PFC, and MSFC or MSFC2 can only do MLS internally with the MSFC or
MSFC2 in the same chassis; an external MLS-RP cannot be used in place of the internal MLS-RP.
Supervisor Engine 1, PFC, and MSFC or MSFC2 provide Layer 3 switching with MLS. Layer 3
switching with MLS identifies flows on the switch after the first packet has been routed by the MSFC
and transfers the process of forwarding the remaining traffic in the flow to the switch, which reduces the
load on the MSFC.
These sections describe MLS:
• Understanding MLS Flows, page 14-4
• Understanding the MLS Cache, page 14-5
• Understanding Flow Masks, page 14-6
• Partially and Completely Switched Multicast Flows, page 14-8
• MLS Examples, page 14-8
Note The PFC uses the Layer 2 multicast forwarding table to identify the ports to which Layer 2 multicast
traffic should be forwarded (if any). The multicast forwarding table entries are populated by
whichever multicast constraint feature is enabled on the switch (IGMP snooping or Generic Attribute
Registration Protocol [GARP] Multicast Registration Protocol [GMRP]). These entries map the
destination multicast MAC address to the outgoing switch ports for a given VLAN.
MLS Cache
The PFC maintains a Layer 3 switching table called the MLS cache for Layer 3-switched flows. The
cache also includes entries for traffic statistics that are updated in tandem with the switching of packets.
After the PFC creates an MLS cache entry, packets identified as belonging to an existing flow can be
Layer 3 switched based on the cached information. The MLS cache maintains flow information for all
active flows.
Unicast Traffic
For unicast traffic, the PFC creates an MLS cache entry for the initial routed packet of each unicast flow.
Upon receipt of a routed packet that does not match any unicast flow currently in the MLS cache, the
PFC creates a new MLS entry.
Multicast Traffic
For multicast traffic, the PFC populates the MLS cache using information learned from the MSFC.
Whenever the MSFC receives traffic for a new multicast flow, it updates its multicast routing table and
forwards the new information to the PFC. In addition, if an entry in the multicast routing table ages out,
the MSFC deletes the entry and forwards the updated information to the PFC.
For each multicast flow cache entry, the PFC maintains a list of outgoing interfaces for the destination
IP multicast group. The PFC uses this list to identify the VLANs on which traffic to a given multicast
flow should be replicated.
These MSFC IOS commands affect the multicast MLS cache entries on the switch:
• Using the clear ip mroute command to clear the multicast routing table on the MSFC clears all
multicast MLS cache entries on the PFC.
• Using the no ip multicast-routing command to disable IP multicast routing on the MSFC purges
all multicast MLS cache entries on the PFC.
The state and identity of flows are maintained while packet traffic is active; when traffic for a flow
ceases, the entry ages out. You can configure the aging time for MLS entries kept in the MLS cache. If
an entry is not used for the specified period of time, the entry ages out and statistics for that flow can be
exported to a flow collector application.
The maximum MLS cache size is 128K entries. The MLS cache is shared by all MLS processes on the
switch (IP MLS, IP MMLS, and IPX MLS). An MLS cache larger than 32K entries increases the
probability that a flow will not be Layer 3 switched, but will instead be forwarded to the MSFC.
The PFC supports only one flow mask (the most specific one) for all MSFCs that are Layer 3 switched
by that PFC. If the PFC detects different flow masks from different MSFCs for which it is performing
Layer 3 switching, it changes its flow mask to the most specific flow mask detected.
When the PFC flow mask changes, the entire MLS cache is purged. When the PFC exports cached
entries, flow records are created based on the current flow mask. Depending on the current flow mask,
some fields in the flow record might not have values. Unsupported fields are filled with a zero (0).
The MLS flow masks are as follows:
• destination-ip—The least-specific flow mask. The PFC maintains one MLS entry for each Layer 3
destination address. All flows to a given Layer 3 destination address use this MLS entry.
• destination-ipx—The only flow mask mode for IPX MLS is destination mode. The PFC maintains
one IPX MLS entry for each destination IPX address (network and node). All flows to a given
destination IPX address use this IPX MLS entry.
• source-destination-ip—The PFC maintains one MLS entry for each source and destination IP
address pair. All flows between a given source and destination use this MLS entry regardless of the
IP protocol ports.
• source-destination-vlan—For IP MMLS. The PFC maintains one MMLS cache entry for each
{source IP, destination group IP, source VLAN}. The multicast source-destination-vlan flow mask
differs from the IP unicast MLS source-destination-ip flow mask in that, for IP MMLS, the source
VLAN is included as part of the entry. The source VLAN is the multicast reverse path forwarding
(RPF) interface for the multicast flow.
• full flow—The most-specific flow mask. The PFC creates and maintains a separate MLS cache entry
for each IP flow. A full flow entry includes the source IP address, destination IP address, protocol,
and protocol ports.
With the destination-ip flow mask, the source IP, protocol, and source and destination port fields show
the details of the last packet that was Layer 3 switched using the MLS cache entry.
This example shows how the show mls entry command output appears in destination-ip mode:
Console> (enable) show mls entry ip short
Destination-IP Source-IP Prot DstPrt SrcPrt Destination-Mac Vlan
--------------- --------------- ----- ------ ------ ----------------- ----
ESrc EDst SPort DPort Stat-Pkts Stat-Byte Uptime Age
---- ---- ----- ----- --------- ------------ -------- --------
171.69.200.234 - - - - 00-60-70-6c-fc-22 4
ARPA SNAP 5/8 11/1 3152 347854 09:01:19 09:08:20
171.69.1.133 - - - - 00-60-70-6c-fc-23 2
SNAP ARPA 5/8 1/1 2345 123456 09:03:32 09:08:12
Total Entries: 2
* indicates TCP flow has ended
Console> (enable)
Note The short keyword exists for some show commands and displays the output by wrapping the text
after 80 characters. The default is long (no text wrap).
With the source-destination-ip flow mask, the protocol, source port, and destination port fields display
the details of the last packet that was Layer 3 switched using the MLS cache entry.
This example shows how the show mls entry command output appears in source-destination-ip mode:
Console> (enable) show mls entry ip short
Destination-IP Source-IP Prot DstPrt SrcPrt Destination-Mac Vlan
--------------- --------------- ----- ------ ------ ----------------- ----
ESrc EDst SPort DPort Stat-Pkts Stat-Byte Uptime Age
---- ---- ----- ----- --------- ------------ -------- --------
171.69.200.234 171.69.192.41 - - - 00-60-70-6c-fc-22 4
ARPA SNAP 5/8 11/1 3152 347854 09:01:19 09:08:20
171.69.1.133 171.69.192.42 - - - 00-60-70-6c-fc-23 2
SNAP ARPA 5/8 1/1 2345 123456 09:03:32 09:08:12
Total Entries: 2
* indicates TCP flow has ended
Console> (enable)
With the full-flow flow mask, because a separate MLS entry is created for every ip flow, details are
shown for each flow.
This example shows how the show mls entry command output appears in full flow mode:
Console> (enable) show mls entry ip short
Destination-IP Source-IP Prot DstPrt SrcPrt Destination-Mac Vlan
--------------- --------------- ----- ------ ------ ----------------- ----
ESrc EDst SPort DPort Stat-Pkts Stat-Byte Uptime Age
---- ---- ----- ----- --------- ------------ -------- --------
171.69.200.234 171.69.192.41 TCP* 6000 59181 00-60-70-6c-fc-22 4
ARPA SNAP 5/8 11/1 3152 347854 09:01:19 09:08:20
171.69.1.133 171.69.192.42 UDP 2049 41636 00-60-70-6c-fc-23 2
SNAP ARPA 5/8 1/1 2345 123456 09:03:32 09:08:12
Total Entries: 2
* indicates TCP flow has ended
Console> (enable)
MLS Examples
Figure 14-1 shows a simple IP MLS network topology. In this example, Host A is on the Sales VLAN
(IP subnet 171.59.1.0), Host B is on the Marketing VLAN (IP subnet 171.59.3.0), and Host C is on the
Engineering VLAN (IP subnet 171.59.2.0).
When Host A initiates an HTTP file transfer to Host C, an MLS entry for this flow is created (this entry
is the second item in the MLS cache shown in Figure 14-1). The PFC stores the MAC addresses of the
MSFC and Host C in the MLS entry when the MSFC forwards the first packet from Host A through the
switch to Host C. The PFC uses this information to rewrite subsequent packets from Host A to Host C.
MAC = Bb
MAC = Dd ting
MSFC /M arke
net 3 Host B
MAC = Aa Sub
171.59.3.1
Subnet 1/Sales
Sub
net
2/E
ngin
Host A eeri
ng MAC = Cc
171.59.1.2
25481
Data 171.59.1.2: 2000 Dd:Cc
Figure 14-2 shows a simple IPX MLS network topology. In this example, Host A is on the Sales VLAN
(IPX address 01.Aa), Host B is on the Marketing VLAN (IPX address 03.Bb), and Host C is on the
Engineering VLAN (IPX address 02.Cc).
When Host A initiates a file transfer to Host B, an IPX MLS entry for this flow is created (this entry is
the first item in the table shown in Figure 14-1). The PFC stores the MAC addresses of the MSFC and
Host B in the IPX MLS entry when the MSFC forwards the first packet from Host A through the switch
to Host B. The PFC uses this information to rewrite subsequent packets from Host A to Host B.
Similarly, a separate IPX MLS entry is created in the MLS cache for the traffic from Host A to Host C,
and for the traffic from Host C to Host A. The destination VLAN is stored as part of each IPX MLS entry
so that the correct VLAN identifier is used when encapsulating traffic on trunk links.
MAC = Bb
MAC = Dd ti ng
MSFC / M arke
3
MAC = Aa Net 03 Host B
Net 1/Sales
01 Net
2/E
ngin
Host A eer
ing MAC = Cc
02
25482
Data 01.Aa:02.Cc Dd:Cc
IP MLS
These sections describe IP MLS configuration guidelines:
• Maximum Transmission Unit Size, page 14-11
• Restrictions on Using IP Routing Commands with IP MLS Enabled, page 14-12
Command Behavior
clear ip route Clears all MLS cache entries for all switches performing Layer 3
switching for this MSFC.
ip routing The no form purges all MLS cache entries and disables IP MLS
on this MSFC.
ip security (all forms of this Disables IP MLS on the interface.
command)
ip tcp compression-connections Disables IP MLS on the interface.
ip tcp header-compression Disables IP MLS on the interface.
IP MMLS
These sections describe IP MMLS configuration guidelines:
• IP MMLS Supervisor Engine Guidelines and Restrictions, page 14-12
• IP MMLS MSFC Configuration Restrictions, page 14-13
• Unsupported IP MMLS Features, page 14-13
Note Groups in the 224.0.0.* range are reserved for routing control packets and must be
flooded to all forwarding ports of the VLAN. These addresses map to the multicast MAC
address range 01-00-5E-00-00-xx, where xx is in the range 0–0xFF.
• For IP PIM auto-RP multicast groups (IP multicast group addresses 224.0.1.39 and 224.0.1.40).
Note In systems with redundant MSFCs, the IP PIM interface configuration must be the same
on both the active and redundant MSFCs.
• For flows that are forwarded on the multicast-shared tree (that is, {*,G,*} forwarding) when the
interface or group is running IP PIM sparse mode.
• If the shortest-path tree (SPT) bit for the flow is cleared when running IP PIM sparse mode for the
interface or group.
• For fragmented IP packets and packets with IP options. However, packets in the flow that are not
fragmented or that do not specify IP options are multilayer switched.
• For source traffic received on tunnel interfaces (such as MBONE traffic).
• For any RPF interface with multicast tag switching enabled.
IPX MLS
These sections describe configuration guidelines that apply when configuring IPX MLS:
• IPX MLS Interaction with Other Features, page 14-13
• IPX MLS and Maximum Transmission Unit Size, page 14-14
Configuring MLS
These sections describe how to configure MLS:
• Configuring Unicast MLS on the MSFC, page 14-14
• Configuring MLS on Supervisor Engine 1, page 14-17
• Configuring IP MMLS, page 14-28
Note The MSFC can be specified as the MLS route processor (MLS-RP) for Catalyst 5000 family switches
using MLS. Refer to the Layer 3 Switching Configuration Guide—Catalyst 5000 Family,
2926G Series, 2926 Series Switches, for MLS configuration procedures.
Task Command
Specify an MSFC interface. Router(config)# interface vlan-id
Disable IP MLS on an MSFC Router(config-if)# no mls ip
interface.
Disable IPX MLS on an MSFC Router(config-if)# no mls ipx
interface.
Note Unicast MLS is enabled by default; you only need to enable (or reenable) it if you have previously
disabled it.
To enable unicast IP or IPX MLS on a specific MSFC interface, perform this task:
Task Command
Specify an MSFC interface. Router(config)# interface vlan-id
Enable IP MLS on an MSFC interface. Router(config-if)# mls ip
Enable IPX MLS on an MSFC Router(config-if)# mls ipx
interface.
Task Command
Display MLS status. show mls status
Command Description
[no] debug l3-mgr events Displays Layer 3 manager-related events.
[no] debug l3-mgr packets Displays Layer 3 manager packets.
[no] debug l3-mgr global Displays bugtrace of ip global purge events.
[no] debug l3-mgr all Turns on all Layer 3 manager debugging messages.
Table 14-7 describes MLS-related debug commands that you can use to troubleshoot MLS problems
when using the MSFC as an external router for a Catalyst 5000 family switch.
Command Description
[no] debug mls ip Turns on IP-related events for MLS, including route purging and
changes of access lists and flow masks.
[no] debug mls ipx Turns on IPX-related events for MLS, including route purging
and changes of access lists and flow masks.
[no] debug mls rp Turns on route processor-related events.
[no] debug mls locator Identifies which switch is switching a particular flow by using
MLS explorer packets.
[no] debug mls all Turns on all MLS debugging events.
Command Description
[no] debug scp async Displays trace for asynchronous data in and out of the SCP
system.
[no] debug scp data Displays packet data trace.
[no] debug scp errors Displays errors and warnings in the SCP.
[no] debug scp packets Displays packet data in and out of the SCP system.
[no] debug scp timeouts Reports timeouts.
[no] debug scp all Turns on all SCP debugging messages.
Note When you disable IP or IPX MLS on the MSFC, IP or IPX MLS is automatically disabled on
Supervisor Engine 1. All existing protocol-specific MLS cache entries are purged. To disable MLS
on the MSFC, see the “Disabling and Enabling Unicast MLS on an MSFC Interface” section on
page 14-14.
Note If NDE is enabled and you disable MLS, you will lose the statistics for existing cache entries—they
are not exported.
Note We recommend that you keep the size of the MLS cache below 32K entries. If the number of MLS
entries exceeds 32K, some flows are sent to the MSFC. To help keep the size of the MLS cache down,
for IP, enable IP MLS fast aging, as described in the “Specifying IP MLS Fast Aging Time and Packet
Threshold Values” section on page 14-18.
To specify the MLS aging time for both IP and IPX, perform this task in privileged mode:
Task Command
Specify the MLS aging time for MLS cache entries. set mls agingtime [agingtime]
To specify the IP MLS aging time, perform this task in privileged mode:
Task Command
Specify the IP MLS aging time for an MLS cache set mls agingtime ip [agingtime]
entry.
To specify the IPX MLS aging time, perform this task in privileged mode:
Task Command
Specify the IPX MLS aging time for an MLS set mls agingtime ipx [agingtime]
cache entry.
This example shows how to specify the IPX MLS aging time:
Console> (enable) set mls agingtime ipx 512
Multilayer switching aging time IPX set to 512
Console> (enable)
Note IPX MLS does not use fast aging. IPX MLS only operates in destination-source and destination flow
modes; therefore, the number of IPX MLS entries in the MLS table is low relative to IP MLS entries
in full-flow mode.
To keep the MLS cache size below 32K entries, enable IP MLS fast aging time. The IP MLS fast aging
time applies to MLS entries that have no more than pkt_threshold packets switched within fastagingtime
seconds after they are created. A typical cache entry that is removed is the entry for flows to and from a
Domain Name Server (DNS) or TFTP server; the entry might never be used again after it is created.
Detecting and aging out these entries saves space in the MLS cache for other data traffic.
The default fastagingtime value is 0 (no fast aging). You can configure the fastagingtime value to 32,
64, 96, or 128 seconds. Any fastagingtime value that is not configured exactly as the indicated values is
adjusted to the closest one. You can configure the pkt_threshold value to 0, 1, 3, 7, 15, 31, or 63 packets.
If you need to enable IP MLS fast aging time, initially set the value to 128 seconds. If the size of the
MLS cache continues to grow over 32K entries, decrease the setting until the cache size stays below
32K. If the cache continues to grow over 32K entries, decrease the normal IP MLS aging time.
Typical values for fastagingtime and pkt_threshold are 32 seconds and 0 packets (no packets switched
within 32 seconds after the entry is created).
To specify the IP MLS fast aging time and packet threshold, perform this task in privileged mode:
Task Command
Specify the IP MLS fast aging time and set mls agingtime fast [fastagingtime] [pkt_threshold]
packet threshold for an MLS cache entry.
This example shows how to set the IP MLS fast aging time to 32 seconds with a packet threshold of
0 packets:
Console> (enable) set mls agingtime fast 32 0
Multilayer switching fast aging time set to 32 seconds for entries with no more than 0
packets switched.
Console> (enable)
Caution The set mls flow destination-source command purges all existing shortcuts in the MLS cache and
affects the number of active shortcuts on the PFC. Exercise care when using this command.
To set the minimum IP MLS flow mask, perform this task in privileged mode:
Task Command
Set the minimum IP MLS flow mask. set mls flow {destination | destination-source | full}
This example shows how to set the minimum IP MLS flow mask to destination-source-ip:
Console> (enable) set mls flow destination-source
Configured IP flow mask is set to destination-source flow.
Console> (enable)
Task Command
Display CAM entries by MAC address. show cam msfc [vlan]
This example shows how to display the CAM entries for a specified VLAN:
Console> show cam msfc 192
VLAN Destination MAC Destination-Ports or VCs Xtag Status
---- ------------------ ------------------------------ ---- ------
192 00-00-0c-07-ac-c0R 7/1 2 H
192 00-e0-f9-d1-2c-00R 7/1 2 H
Console>
Task Command
Display general IP or IPX MLS show mls {ip | ipx} [mod1]
information and MSFC-specific
information for all MSFCs.
1. The mod keyword specifies the module number of the MSFC; either 15 (if the MSFC is installed on Supervisor Engine 1 in
slot 1) or 16 (if the MSFC is installed on Supervisor Engine 1 in slot 2).
This example shows how to display IP MLS information and MSFC-specific information:
Console> (enable) show mls ip
Total Active MLS entries = 0
Total packets switched = 0
IP Multilayer switching enabled
IP Multilayer switching aging time = 256 seconds
IP Multilayer switching fast aging time = 0 seconds, packet threshold = 0
IP Flow mask: Full Flow
Configured flow mask is Destination flow
Active IP MLS entries = 0
Netflow Data Export version: 8
Netflow Data Export disabled
Netflow Data Export port/host is not configured
Total packets exported = 0
Console> (enable)
Console> (enable)
Note For a description of how the flow mask mode affects the screen displays when showing MLS entries,
see the “Flow Mask Mode and show mls entry Command Output” section on page 14-7.
To display all MLS entries (IP and IPX), perform this task in privileged mode:
Task Command
Display all MLS entries. show mls entry [short | long]
This example shows how to display all MLS entries (IP and IPX):
Console> (enable) show mls entry short
Destination-IP Source-IP Prot DstPrt SrcPrt Destination-Mac Vlan
--------------- --------------- ----- ------ ------ ----------------- ----
ESrc EDst SPort DPort Stat-Pkts Stat-Bytes Created LastUsed
---- ---- ----- ----- ---------- ------------ -------- --------
171.69.200.234 171.69.192.41 TCP* 6000 59181 00-60-70-6c-fc-22 4
ARPA SNAP 5/8 11/1 3152 347854 09:01:19 09:08:20
171.69.1.133 171.69.192.42 UDP 2049 41636 00-60-70-6c-fc-23 2
SNAP ARPA 5/8 1/1 2345 1234567 09:03:32 09:08:12
171.69.1.133 171.69.192.42 UDP 2049 41636 00-60-70-6c-fc-23 2
SNAP ARPA 5/8 1/1 2345 1234567 09:03:32 09:08:12
171.69.1.133 171.69.192.42 UDP 2049 41636 00-60-70-6c-fc-23 2
SNAP ARPA 5/8 1/1 2345 1234567 09:03:32 09:08:12
171.69.1.133 171.69.192.42 UDP 2049 41636 00-60-70-6c-fc-23 2
SNAP ARPA 5/8 1/1 2345 1234567 09:03:32 09:08:12
Total IP entries: 5
* indicates TCP flow has ended.
To display MLS entries for a specific destination IP address, perform this task in privileged mode:
Task Command
Display MLS entries for the specified show mls entry ip destination [ip_addr]
destination IP address.
This example shows how to display MLS entries for a specific destination IP address:
Console> (enable) show mls entry ip destination 172.20.22.14/24
Destination-IP Source-IP Prot DstPrt SrcPrt Destination-Mac Vlan
EDst ESrc DPort SPort Stat-Pkts Stat-Bytes Uptime Age
--------------- --------------- ----- ------ ------ ----------------- ----
---- ---- ------ ------ ---------- ----------- -------- --------
MSFC 172.20.25.1 (Module 15):
172.20.22.14 - - - - 00-60-70-6c-fc-22 4
ARPA ARPA 5/39 5/40 115 5290 00:12:20 00:00:04
MSFC 172.20.27.1 (Module 16):
Total entries:1
Console> (enable)
To display IPX MLS entries for a specific destination IPX address, perform this task in privileged mode:
Task Command
Display IPX MLS entries for a specific show mls entry ipx destination ipx_addr
destination IPX address
(net_address.node_address).
This example shows how to display IPX MLS entries for a specific destination IPX address:
Console> (enable) show mls entry ipx destination 3E.0010.298a.0c00
Destination IPX Source IPX net Destination Mac Vlan Port
------------------------- -------------- ----------------- ---- -----
MSFC 22.1.0.56 (Module 15):
3E.0010.298a.0c00 13 00-00-00-00-00-09 26 4/7
Console> (enable)
To display MLS entries for a specific source IP address, perform this task in privileged mode:
Task Command
Display MLS entries for the specified show mls entry ip source [ip_addr]
source IP address.
This example shows how to display MLS entries for a specific source IP address:
Console> (enable) show mls entry ip source 10.0.2.15
Destination-IP Source-IP Prot DstPrt SrcPrt Destination-Mac Vlan
EDst ESrc DPort SPort Stat-Pkts Stat-Bytes Uptime Age
--------------- --------------- ----- ------ ------ ----------------- ----
---- ---- ------ ------ ---------- ----------- -------- --------
MSFC 172.20.25.1 (Module 15):
172.20.22.14 10.0.2.15 TCP Telnet 37819 00-e0-4f-15-49-ff 51
ARPA ARPA 5/39 5/40 115 5290 00:12:20 00:00:04
MSFC 172.20.27.1 (Module 16):
Total entries:1
Console> (enable)
The show mls entry ip flow command displays MLS entries for a specific IP flow. The protocol
argument can be tcp, udp, icmp, or a decimal number for other protocol families. The src_port and
dst_port arguments specify the protocol ports if the protocol is TCP or User Datagram Protocol (UDP).
A value of zero (0) for src_port, dst_port, or protocol is treated as a wildcard and all entries are displayed
(unspecified options are treated as wildcards). If the protocol selected is not TCP or UDP, set the
src_port and dst_prt to 0 or no flows will display.
To display MLS entries for a specific IP flow (when the flow mask mode is full flow), perform this task
in privileged mode:
Task Command
Display entries for a specific IP flow (when show mls entry ip flow [protocol src_port dst_port]
the flow mask mode is full flow).
This example shows how to display MLS entries for a specific IP flow:
Console> (enable) show mls entry ip flow tcp 23 37819
Destination IP Source IP Port DstPrt SrcPrt Destination Mac Vlan Port
--------------- --------------- ---- ------ ------ ----------------- ---- -----
MSFC 51.0.0.3:
10.0.2.15 51.0.0.2 TCP 37819 Telnet 08-00-20-7a-07-75 10 3/1
Console> (enable)
To display IPX MLS entries for a specific MSFC, perform this task in privileged mode:
Task Command
Display IPX MLS entries for a specific show mls entry ipx mod1
MSFC.
1. The mod keyword specifies the module number of the MSFC; either 15 (if the MSFC is installed on Supervisor Engine 1 in
slot 1) or 16 (if the MSFC is installed on Supervisor Engine 1 in slot 2).
This example shows how to display IPX MLS entries for a specific MSFC:
Console> (enable) show mls entry ipx 15
Destination-IPX Destination-Mac Vlan EDst ESrc Port Stat-Pkts
Stat-Bytes Uptime Age
------------------------- ----------------- ---- ---- ---- ----- ----------
----------- -------- --------
MSFC 22.1.0.56 (Module 15):
11.0000.0000.2B10 00-00-00-00-2b-10 11 ARPA ARPA - 7869
361974 00:15:52 00:00:00
11.0000.0000.A810 00-00-00-00-a8-10 11 ARPA ARPA - 3934
180964 00:15:52 00:00:00
11.0000.0000.3210 00-00-00-00-32-10 11 ARPA ARPA - 7871
362066 00:15:52 00:00:00
11.0000.0000.B110 00-00-00-00-b1-10 11 ARPA ARPA - 3935
181010 00:15:52 00:00:00
11.0000.0000.1910 00-00-00-00-19-10 11 ARPA ARPA - 7873
362158 00:15:52 00:00:00
11.0000.0000.9A10 00-00-00-00-9a-10 11 ARPA ARPA - 3936
181056 00:15:52 00:00:00
11.0000.0000.0010 00-00-00-00-00-10 11 ARPA ARPA 3/11 7875
362250 00:15:52 00:00:00
11.0000.0000.8310 00-00-00-00-83-10 11 ARPA ARPA - 3937
181102 00:15:52 00:00:00
10.0000.0000.0109 00-00-00-00-01-09 10 ARPA ARPA 3/10 96364
4432744 00:15:52 00:00:00
11.0000.0000.4F10 00-00-00-00-4f-10 11 ARPA ARPA - 7877
362342 00:15:53 00:00:00
11.0000.0000.CC10 00-00-00-00-cc-10 11 ARPA ARPA - 3938
181148 00:15:53 00:00:00
11.0000.0000.5610 00-00-00-00-56-10 11 ARPA ARPA - 7879
362434 00:15:53 00:00:00
11.0000.0000.D510 00-00-00-00-d5-10 11 ARPA ARPA - 3939
181194 00:15:53 00:00:00
11.0000.0000.7D10 00-00-00-00-7d-10 11 ARPA ARPA - 3940
181240 00:15:53 00:00:00
11.0000.0000.FE10 00-00-00-00-fe-10 11 ARPA ARPA - 3941
181286 00:15:53 00:00:00
11.0000.0000.6410 00-00-00-00-64-10 11 ARPA ARPA - 7883
362618 00:15:53 00:00:00
11.0000.0000.E710 00-00-00-00-e7-10 11 ARPA ARPA - 3941
181286 00:15:53 00:00:00
11.0000.0000.6010 00-00-00-00-60-10 11 ARPA ARPA - 7885
362710 00:15:53 00:00:00
11.0000.0000.E310 00-00-00-00-e3-10 11 ARPA ARPA - 3942
181332 00:15:53 00:00:00
11.0000.0000.7910 00-00-00-00-79-10 11 ARPA ARPA - 3943
181378 00:15:54 00:00:00
Console> (enable)
Task Command
Clear an MLS entry. clear mls entry ip [destination ip_addr_spec] [source
ip_addr_spec] [flow protocol src_port dst_port] [all]
This example shows how to clear MLS entries with destination IP address 172.20.26.22:
Console> (enable) clear mls entry ip destination 172.20.26.22
MLS IP entry cleared
Console> (enable)
This example shows how to clear MLS entries with destination IP address 172.20.22.113, TCP source
port 1652, and TCP destination port 23:
Console> (enable) clear mls entry destination 172.20.26.22 source 172.20.22.113 flow tcp
1652 23
MLS IP entry cleared
Console> (enable)
The show mls statistics protocol command displays IP MLS statistics by protocol (such as Telnet, FTP,
and WWW). The protocol keyword functions only if the flow mask mode is full flow. Enter the show
mls command to see the current flow mask.
To display IP MLS statistics by protocol, perform this task in privileged mode:
Task Command
Display IP MLS statistics by protocol (only show mls statistics protocol
if IP MLS is in full flow mode).
The show mls statistics entry command displays IP MLS statistics for MLS cache entries. Specify the
destination IP address, source IP address, protocol, and source and destination ports to see specific MLS
cache entries.
A value of zero (0) for src_port or dst_port is treated as a wildcard, and all statistics are displayed
(unspecified options are treated as wildcards). If the protocol specified is not TCP or UDP, set the
src_port and dst_prt to 0 or no statistics will display.
To display statistics for MLS cache entries, perform this task in privileged mode:
Task Command
Display statistics for MLS cache entries. If show mls statistics entry ip [destination
you do not specify an MLS cache entry, all ip_addr_spec] [source ip_addr_spec] [flow protocol
statistics are shown. src_port dst_port]
This example shows how to display statistics for a particular MLS cache entry:
Console> show mls statistics entry ip destination 172.20.22.14
Last Used
Destination IP Source IP Prot DstPrt SrcPrt Stat-Pkts Stat-Bytes
--------------- --------------- ---- ------ ------ --------- -----------
MSFC 127.0.0.12:
172.20.22.14 172.20.25.10 6 50648 80 3152 347854
Console>
Task Command
Clear IP MLS statistics. clear mls statistics
Task Command
Display MLS debug information that you can show mls debug
send to your technical support representative.
Note The show tech-support command displays supervisor engine system information. Use
application-specific commands to get more information about particular applications.
Configuring IP MMLS
These sections describe how to configure IP MMLS:
• Configuring IP MMLS on the MSFC, page 14-28
• Displaying Global IP MMLS Information on the Supervisor Engine, page 14-34
Note For information on configuring routing on the MSFC, see Chapter 12, “Configuring InterVLAN
Routing.”
Note You can specify the MSFC as the MLS route processor (MLS-RP) for Catalyst 5000 family switches
using MLS. Refer to the Layer 3 Switching Configuration Guide—Catalyst 5000 Family, 2926G
Series, 2926 Series Switches for Catalyst 5000 family switch MLS configuration procedures.
Note This section describes how to enable IP multicast routing on the MSFC. For more detailed IP
multicast configuration information, refer to the “IP Multicast” section of the Cisco IOS IP and IP
Routing Configuration Guide at
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/ip_c/ipcprt3/index.htm
You must enable IP multicast routing globally on the MSFC before you can enable IP MMLS on MSFC
interfaces.
To enable IP multicast routing globally on the MSFC, perform this task in global configuration mode:
Task Command
Enable IP multicast routing globally. Router(config)# ip multicast-routing
You must enable IP PIM on the MSFC interfaces before IP MMLS will function on those interfaces.
To enable IP PIM on an interface, perform this task:
Task Command
Enable IP PIM on an MSFC interface. Router(config-if)# ip pim {dense-mode | sparse-mode |
sparse-dense-mode}
This example shows how to enable IP PIM on an interface using the default mode (sparse-dense-mode):
Router(config-if)# ip pim
Router(config-if)#
You can configure a global multicast rate threshold, specified in packets per second, below which all
(S,G) multicast traffic is routed by the MSFC. This prevents creation of MLS entries for short-lived
multicast flows, such as join requests.
Note This command does not affect flows that are already being routed. To apply the threshold to existing
routes, clear the route and let it reestablish.
Task Command
Configure the IP MMLS threshold. Router(config)# [no] mls ip multicast threshold ppsec
This example shows how to configure the IP MMLS threshold to 10 packets per second:
Router(config)# mls ip multicast threshold 10
Router(config)#
IP MMLS is enabled by default on the MSFC interface when you enable IP PIM on the interface.
Perform this task only if you disabled IP MMLS on the interface and you want to reenable it.
Note You must enable IP PIM on all participating MSFC interfaces before IP MMLS will function. For
information on configuring IP PIM on MSFC interfaces, see the “Enabling IP PIM on MSFC
Interfaces” section on page 14-29.
Task Command
Enable IP MMLS on an MSFC interface. Router(config-if)# [no] mls ip multicast
The show ip pim interface count command displays the IP MMLS enable state on MSFC IP PIM
interfaces and the number of packets received and sent on the interface.
The show ip interface command displays the IP MMLS enable state on an MSFC interface.
To display IP MMLS information for an IP PIM MSFC interface, perform one of these tasks:
Task Command
Display IP MMLS interface information. Router# show ip pim interface [type number] count
Display the IP MMLS interface enable state. Router# show ip interface
The show ip mroute command displays the IP multicast routing table on the MSFC.
To display the IP multicast routing table, perform this task:
Task Command
Display the IP multicast routing table. Router# show ip mroute [group[source]] |
[summary] | [count] | [active kbps]
This example shows how to display the IP multicast routing table for 239.252.1.1:
Router# show ip mroute 239.252.1.1
IP Multicast Routing Table
Flags:D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned
R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT
M - MSDP created entry, X - Proxy Join Timer Running
A - Advertised via MSDP
Outgoing interface flags:H - Hardware switched
Timers:Uptime/Expires
Interface state:Interface, Next-Hop or VCD, State/Mode
The show mls ip multicast command displays detailed information about IP MMLS.
To display detailed IP MMLS information on the MSFC, perform one of these tasks:
Task Command
Display IP MMLS group information. Router# show mls ip multicast group group-address
[interface type number | statistics]
Display IP MMLS details for all Router# show mls ip multicast interface type number
interfaces. [statistics | summary]
Display a summary of IP MMLS Router# show mls ip multicast summary
information.
Display IP MMLS statistics. Router# show mls ip multicast statistics
Display IP MMLS source information. Router# show mls ip multicast source ip-address
[interface type number | statistics]
This example shows how to display information on a specific IP MMLS entry on the MSFC:
Router# show mls ip multicast 224.1.1.1
Multicast hardware switched flows:
(1.1.13.1, 224.1.1.1) Incoming interface: Vlan13, Packets switched: 61590
Hardware switched outgoing interfaces: Vlan20 Vlan9
RFD-MFD installed: Vlan13
This example shows how to display a summary of IP MMLS information on the MSFC:
Router# show mls ip multicast summary
7 MMLS entries using 560 bytes of memory
Number of partial hardware-switched flows:2
Number of complete hardware-switched flows:5
Router#
Command Description
[no] debug mls ip multicast group group_id Configures filtering that applies to all other multicast debugging
group_mask commands.
[no] debug mls ip multicast events Displays IP MMLS events.
[no] debug mls ip multicast errors Turns on debug messages for multicast MLS-related errors.
[no] debug mls ip multicast messages Displays IP MMLS messages from/to the hardware switching engine.
[no] debug mls ip multicast all Turns on all IP MMLS messages.
[no] debug mdss error Turns on MDSS1 error messages.
[no] debug mdss events Turns on MDSS-related events.
[no] debug mdss all Turns on all MDSS messages.
1. MDSS = Multicast Distributed Switching Services
Table 14-10 describes the Serial Control Protocol (SCP)-related debug commands to troubleshoot the
SCP that runs over the Ethernet out-of-band channel (EOBC).
Command Description
[no] debug scp async Displays trace for asynchronous data in and out of the SCP
system.
[no] debug scp data Shows packet data trace.
[no] debug scp errors Displays errors and warnings in the SCP.
[no] debug scp packets Displays packet data in and out of the SCP system.
[no] debug scp timeouts Reports timeouts.
[no] debug scp all Turns on all SCP debugging messages.
Note To configure IP MMLS on the MSFC, see the “Configuring IP MMLS on the MSFC” section on
page 14-28.
The show mls multicast command displays global IP MMLS configuration information and the state of
participating MSFCs.
To display global IP MMLS configuration information, perform this task:
Task Command
Display global IP MMLS configuration show mls multicast
information.
The show mls multicast statistics command displays IP MMLS statistics for multicast MSFCs.
To display IP MMLS statistics for multicast MSFCs, perform this task:
Task Command
Display IP multicast MSFC statistics. show mls multicast statistics [ip_addr]
This example shows how to display IP MMLS statistics for multicast MSFCs:
Console (enable) show mls multicast statistics
Router IP Router Name Router MAC
-------------------------------------------------------
1.1.9.254 ? 00-50-0f-06-3c-a0
Transmit:
Delete Notifications: 23
Acknowledgements: 92
Flow Statistics: 56
Receive:
Open Connection Requests: 1
Keep Alive Messages: 72
Shortcut Messages: 19
Shortcut Install TLV: 8
Selective Delete TLV: 4
Group Delete TLV: 0
Update TLV: 3
Input VLAN Delete TLV: 0
Output VLAN Delete TLV: 0
Global Delete TLV: 0
MFD Install TLV: 7
MFD Delete TLV: 0
Router IP Router Name Router MAC
-------------------------------------------------------
1.1.5.252 ? 00-10-29-8d-88-01
Transmit:
Delete Notifications: 22
Acknowledgements: 75
Flow Statistics: 22
Receive:
Open Connection Requests: 1
Keep Alive Messages: 68
Shortcut Messages: 6
Shortcut Install TLV: 4
Selective Delete TLV: 2
Group Delete TLV: 0
Update TLV: 0
Input VLAN Delete TLV: 0
Output VLAN Delete TLV: 0
Global Delete TLV: 0
MFD Install TLV: 4
MFD Delete TLV: 0
Console (enable)
The clear mls multicast statistics command clears IP MMLS statistics for all participating MSFCs.
To clear IP MMLS statistics, perform this task in privileged mode:
Task Command
Clear IP MMLS statistics. clear mls multicast statistics
The show mls multicast entry command displays a variety of information about the multicast flows
being handled by the PFC. You can display entries based on any combination of the participating MSFC,
the VLAN, the multicast group address, or the multicast traffic source.
To display information about IP MMLS entries, perform this task in privileged mode:
Task Command
Display information about IP MMLS show mls multicast entry [[[mod] [vlan vlan_id]
entries. [group ip_addr] [source ip_addr]] | [all]]
This example shows how to display IP MMLS entries for a specific MSFC:
Console> (enable) show mls multicast entry 15
Router IP Dest IP Source IP Pkts Bytes InVlan OutVlans
--------------- --------------- --------------- ---------- ----------- ------- --------
This example shows how to display IP MMLS entries for a specific multicast group address:
Console> (enable) show mls multicast entry group 226.0.1.3 short
Router IP Dest IP Source IP InVlan Pkts Bytes OutVlans
-------------- ----------- ------------ ------ ------ --------- ---------
171.69.2.1 226.0.1.3 172.2.3.8 20 171 23512 10,201,22,45
171.69.2.1 226.0.1.3 172.3.4.9 12 25 3120 8,20
Total Entries: 2
Console> (enable)
This example shows how to display IP MMLS entries for a specific MSFC and a specific multicast
source address:
Console> (enable) show mls multicast entry 15 1.1.5.252 source 1.1.11.1 short
Router IP Dest IP Source IP Pkts Bytes
InVlan OutVlans
--------------- --------------- --------------- ---------- --------------------
------ ----------
172.20.49.159 224.1.1.6 1.1.40.4 368 57776
40 23,25
172.20.49.159 224.1.1.71 1.1.22.2 99 65142
22 30,37
172.20.49.159 224.1.1.8 1.1.22.2 396 235620
22 13,19
Console> (enable)
This chapter describes how to configure NetFlow Data Export (NDE) on the Catalyst 6000
family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note NDE is not supported for IP multicast or Internetwork Packet Exchange (IPX) traffic.
Note NDE version 7 and NDE version 8 are not supported for the MSFC.
Note For information on configuring CEF for PFC2, see Chapter 13, “Configuring CEF for PFC2.” For
information on configuring MLS, see Chapter 14, “Configuring MLS.”
Integrated Layer 3-switching management includes products, management utilities, and partner
applications designed to gather flow statistics, export the statistics, collect and perform data reduction
on the exported statistics, and forward them to applications for traffic monitoring, planning, and
accounting. Flow collectors, such as the Cisco SwitchProbe and NetFlow FlowCollector, gather and
classify flows. This flow information is then aggregated and fed to applications such as TrafficDirector,
NetSys, or NetFlow Analyzer.
Network
planning
Routers
Accounting/Billing
RMON
Probe Network monitoring
Flow switching Flow Flow
10699
Configuring NDE
These sections describe how to configure NDE:
• Usage Guidelines, page 15-4
• Specifying an NDE Collector, page 15-4
• Specifying an NDE Destination Address on the MSFC, page 15-5
• Specifying an NDE Source Address on the MSFC, page 15-5
• Enabling NDE, page 15-6
• Specifying a Destination Host Filter, page 15-6
• Specifying a Destination and Source Subnet Filter, page 15-6
• Specifying a Destination TCP/UDP Port Filter, page 15-7
• Specifying a Source Host and Destination TCP/UDP Port Filter, page 15-7
• Specifying a Protocol Filter, page 15-8
• Specifying Protocols for Statistics Collection, page 15-8
• Removing Protocols for Statistics Collection, page 15-8
Usage Guidelines
If too many entries are added to the NetFlow table, follow these guidelines:
• Reduce the MLS aging time. Set the aging time high enough to keep the number of entries within
the 32k-flow range of the PFC. For information on how to change the MLS aging time, see the
“Specifying MLS Aging-Time Value” section on page 14-17 in Chapter 14, “Configuring MLS.”
• If there are protocols with fewer packets per flow running, reduce the MLS fast aging time. For
information on how to change the MLS fast aging time, see the “Specifying IP MLS Fast Aging
Time and Packet Threshold Values” section on page 14-18 in Chapter 14, “Configuring MLS.”
• Use the correct flow mask. Use the flow mask required to extract the kind of information you want.
A full flow mask gives more information but as the number of flows increase, the load on the
Layer 3 aging also increases. Try to use a flow mask with the minimum granularity required to get
the data you need. With a full flow mask, you might need to decrease the MLS aging time because
a full flow mask increases the number of flows per second. For information on setting the flow mask,
see the “Setting the Minimum IP MLS Flow Mask” section on page 14-19 in Chapter 14,
“Configuring MLS.”
• Exclude entries with fewer packets per flow. Some query protocols, like Domain Name System
(DNS), generate fewer packets per flow and can be excluded from the NetFlow table with the set
mls exclude protocol command. You can specify up to four protocol filters, but packets from
filtered protocols will go to the MSFC.
• Keep specific flows from being added to the Netflow table with the set mls nde flow exclude
command.
Note If you are using the NetFlow FlowCollector application for data collection, verify that the UDP port
number you specify is the same port number shown in the FlowCollector’s nfconfig.file. This file is
located at /opt/csconfc/config/nfconfig.file in the FlowCollector application.
Task Command
Specify an NDE collector and UDP port for set mls nde {collector_ip | collector_name}
data export of hardware-switched packets. {udp_port_number}
Task Command
Specify an NDE collector and UDP port for ip flow-export destination {hostname | ip_address}
data export of software-switched packets. {udp_port_number}
This example shows how to specify the NDE collector from the MSFC:
Router(config)# ip flow-export destination Stargate 9996
Router(config)#
Note The ip flow-export source vlan command is optional. If you do not specify an NDE source address
on the MSFC, the MSFC and PFC automatically use the IP address of one of the MSFC VLAN
interfaces.
To specify the NDE source address for Layer 3 traffic that is being switched by the MSFC, peform this
task in privileged mode:
Task Command
Specify an NDE source address for data ip flow-export source vlan {vlan_interface_number}
export of software-switched packets.
This example shows how to specify the NDE source address on the MSFC:
Router(config)# ip flow-export source vlan 10
Router(config)#
Enabling NDE
To enable NDE, perform this task in privileged mode:
Task Command
Enable NDE on the switch. set mls nde enable
If you attempt to enable NDE without first specifying a collector, you see this display:
Console> (enable) set mls nde enable
Please set host name and UDP port number with ‘set mls nde <collector_ip>
<udp_port_number>’.
Console> (enable)
Task Command
Specify a destination host filter for an set mls nde flow destination [ip_addr_spec]
NDE flow.
This example shows how to specify a destination host filter so that only expired flows to host
171.69.194.140 are exported:
Console> (enable) set mls nde flow destination 171.69.194.140
Netflow Data Export successfully set
Destination filter is 171.69.194.140/255.255.255.255
Filter type: include
Console> (enable)
Task Command
Specify a destination and source subnet set mls nde flow destination [ip_addr_spec] source
filter for an NDE flow. [ip_addr_spec]
This example shows how to specify a destination and source subnet filter so that only expired flows to
subnet 171.69.194.0 from subnet 171.69.173.0 are exported (assuming the flow mask is set to
source-destination-ip):
Console> (enable) set mls nde flow destination 171.69.194.140/24 source 171.69.173.5/24
Netflow Data Export successfully set
Source filter is 171.69.173.0/24
Destination filter is 171.69.194.0/24
Filter type: include
Console> (enable)
Task Command
Specify a destination TCP/UDP port filter set mls nde flow dst_prt [port_number]
for an NDE flow.
This example shows how to specify a destination TCP/UDP port filter so that only expired flows to
destination port 23 are exported (assuming the flow mask is set to ip-flow):
Console> (enable) set mls nde flow dst_port 23
Netflow Data Export successfully set
Destination port filter is 23
Filter type: include
Console> (enable)
Task Command
Specify a source host and destination set mls nde flow source [ip_addr_spec] dst_prt
TCP/UDP port filter for an NDE flow. [port_number]
This example shows how to specify a source host and destination TCP/UDP port filter so that only
expired flows from host 171.69.194.140 to destination port 23 are exported (assuming the flow mask is
set to ip-flow):
Console> (enable) set mls nde flow source 171.69.194.140 dst_port 23
Netflow Data Export successfully set
Source filter is 171.69.194.140/255.255.255.255
Destination port filter is 23
Filter type: include
Console> (enable)
Task Command
Specify a protocol filter for an NDE set mls nde flow protocol protocol
flow.
This example shows how to specify a protocol filter so that only expired flows from protocol 17 are
exported:
Console> (enable) set mls nde flow protocol 17
Netflow Data Export filter successfully set.
Protocol filter is 17
Filter type: include
Console> (enable)
Task Command
Specify protocols for statistics set mls statistics protocol protocol port
collection.
Task Command
Remove protocols for statistics clear mls statistics protocol {protocol port | all}
collection.
Task Command
Clear the NDE flow filter. clear mls nde flow
This example shows how to clear the NDE flow filter so that all flows are exported:
Console> (enable) clear mls nde flow
Netflow data export filter cleared.
Console> (enable)
Disabling NDE
Note With Supervisor Engine 1 and a PFC, if NDE is enabled and you disable MLS, you lose the statistics
for existing cache entries—they are not exported.
Task Command
Disable NDE on the switch. set mls nde disable
Task Command
Remove the NDE IP address from the Router(config)# no mls nde-address [ip_addr]
MSFC.
This example shows how to remove the NDE IP addresses from the MSFC:
Router(config)# no mls nde-address 170.170.2.1
Router(config)#
Task Command
Display the NDE configuration on the show mls nde
switch.
This example shows how to display the NDE configuration on the switch:
Console> (enable) show mls nde
Netflow Data Export enabled
Netflow Data Export configured for port 1098 on host 172.20.15.1
Source filter is 171.69.194.140/255.255.255.0
Destination port filter is 23
Total packets exported = 26784
Console> (enable)
This chapter describes how to configure access control lists (ACLs) on the Catalyst 6000 family
switches. Configuration of the ACLs depends on the type of hardware you install on your supervisor
engine. See the “Hardware Requirements” section on page 16-2 for details.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note Except where specifically differentiated, the information and procedures in this chapter apply to both
Supervisor Engine 2 with Layer 3 Switching Engine II (Policy Feature Card 2 or PFC2) and
Supervisor Engine 1 with Layer 3 Switching Engine II (Policy Feature Card or PFC).
Switching [MLS]). The switch first bridges the packet, the packet is then routed internally without going
to the router, and then the packet is bridged again to send it to its destination. During this process, the
switch can access control all packets it switches, including packets bridged within a VLAN.
Cisco IOS ACLs provide access control for routed traffic between VLANs, and VLAN ACLs (VACLs)
provide access control for all packets.
Standard and extended Cisco IOS ACLs are used to classify packets. Classified packets can be subject
to a number of features such as access control (security), encryption, policy-based routing, and so on.
Standard and extended Cisco IOS ACLs are only configured on router interfaces and applied on routed
packets.
VACLs can provide access control based on Layer 3 addresses for IP and IPX protocols. Unsupported
protocols are access controlled through MAC addresses. A VACL is applied to all packets (bridged and
routed) and can be configured on any VLAN interface. Once a VACL is configured on a VLAN, all
packets (routed or bridged) entering the VLAN are checked against the VACL. Packets can either enter
the VLAN through a switch port or through a router port after being routed.
Hardware Requirements
The hardware that is required to configure ACLs on Catalyst 6000 family switches is as follows:
• Cisco IOS ACLs:
– Policy Feature Card (PFC) and MSFC or MSFC2
– PFC2 and MSFC2
• VACLs and QoS ACLs:
– PFC
– PFC2
Note The QoS feature set supported on your switch is determined by which switching engine daughter card
is installed on the supervisor engine. See Chapter 41, “Configuring QoS” for more information.
Supported ACLs
These sections describe the ACLs supported by the Catalyst 6000 family switches:
• QoS ACLs, page 16-2
• Cisco IOS ACLs, page 16-3
• VACLs, page 16-3
QoS ACLs
You can configure QoS ACLs on the switch; see Chapter 41, “Configuring QoS.”
VACLs
The following sections describe VACLs:
• VACL Overview, page 16-3
• ACEs Supported in VACLs, page 16-4
• Handling Fragmented and Unfragmented Traffic, page 16-5
VACL Overview
VACLs can access control all traffic. You can configure VACLs on the switch to apply to all packets
that are routed into or out of a VLAN or are bridged within a VLAN. VACLs are strictly for security
packet filtering and redirecting traffic to specific physical switch ports. Unlike Cisco IOS ACLs, VACLs
are not defined by direction (input or output).
You can configure VACLs on Layer 3 addresses for IP and IPX. All other protocols are access controlled
through MAC addresses and Ethertype using MAC VACLs.
Caution IP traffic and IPX traffic are not access controlled by MAC VACLs. All other traffic types
(AppleTalk, DECnet, and so on) are classified as MAC traffic and MAC VACLs are used to access
control this traffic.
You can enforce VACLs only on packets going through the Catalyst 6000 family switch; you cannot
enforce VACLs on traffic between hosts on a hub or another switch connected to the Catalyst 6000
family switch.
This example shows that the traffic coming from 1.1.1.1 port 68 and going to 2.2.2.2 port 34 is permitted.
If packets are fragmented, the first fragment hits this entry and is permitted; fragments that have an offset
other than 0 are also permitted as a default result for fragments.
permit tcp host 1.1.1.1 eq 68 host 2.2.2.2 eq 34
This example shows that the fragment that has offset 0 of the traffic from 1.1.1.1 port 68 going to 2.2.2.2
port 34 is denied. The fragments that have an offset other than 0 are permitted as a default.
deny tcp host 1.1.1.1 eq 68 host 2.2.2.2 eq 34
In releases prior to software release 6.1(1), the fragment filtering was completely transparent; you would
type an ACE such as permit tcp .... port eq port_number and the software would implicitly install the
following ACE at the top of the ACL: permit tcp any any fragments.
In software release 6.1(1) and later releases, there is a fragment option. If you do not specify the
fragment keyword, the behavior is the same as in previous releases. If you specify the fragment
keyword, the system does not automatically install a global permit statement for fragments. This
keyword allows you to control how fragments are handled.
In this example, 10.1.1.2 is configured to serve HTTP connections. If you do not use a fragment ACE,
all the fragments for TCP traffic are permitted as the permit tcp any any fragments ACE is added
automatically at the top of the ACL as follows:
permit tcp any any fragments
Note The deny statements are handled differently for noninitial fragments versus nonfragmented or initial
fragments.
When you specify the fragment keyword, the system does not install the global permit TCP or UDP
fragments statement. When you specify the fragment keyword for at least one ACE, the software
implicitly installs ACEs to permit flows to a specific IP address (or subnet) that you specify.
In this ACL example, the deny tcp any host 10.1.1.2 fragment entry stops fragmented traffic going to
all TCP ports on host 10.1.1.2. Later in the ACL, the permit udp any host 10.1.1.2 eq 69 entry allows
clients to connect to the TFTP server 10.1.1.2. The system automatically installs a permit for all
fragments of udp traffic to host 10.1.1.2 ACE; otherwise, fragments would be denied by the entry deny
ip any host 10.1.1.2.
1. deny tcp any host 10.1.1.2 fragment
2. permit tcp any host 10.1.1.2 eq www
3. permit udp any host 10.1.1.2 eq 69
4. permit udp any gt 1023 10.1.1.2 gt 1023
5. deny ip any host 10.1.1.2
6. permit ip any any
If you explicitly want to stop fragmented UDP traffic to host 10.1.1.2, enter deny udp any host 10.1.1.2
fragment before entry number 3 as shown in this example:
[...]
3. deny udp any host 10.1.1.2 fragment
4. permit udp any host 10.1.1.2 eq 69
5. permit udp any gt 1023 10.1.1.2 gt 1023
[...]
Bridged Packets
Figure 16-1 shows how an ACL is applied on bridged packets. For bridged packets, only Layer 2 ACLs
are applied to the input VLAN.
VACL Bridged
26961
Routed Packets
Figure 16-2 shows how ACLs are applied on routed/Layer 3-switched packets. For
routed/Layer 3-switched packets, the ACLs are applied in the following order:
1. VACL for input VLAN
2. Input Cisco IOS ACL
3. Output Cisco IOS ACL
4. VACL for output VLAN
Routed
26964
Host A (VLAN 20)
(VLAN 10)
Multicast Packets
Figure 16-3 shows how ACLs are applied on packets that need multicast expansion. For packets that
need multicast expansion, the ACLs are applied in the following order:
1. Packets that need multicast expansion:
a. VACL for input VLAN
b. Input Cisco IOS ACL
2. Packets after multicast expansion:
a. Output Cisco IOS ACL
b. VACL for output VLAN
3. Packets originating from router:
a. VACL for output VLAN
VACL
Host B
(VLAN 20)
26965
Host A Bridged
(VLAN 10)
Host D
(VLAN 20)
Host C
(VLAN 10)
When a feature is configured on the router to process traffic (such as NAT), the Cisco IOS ACL
associated with the feature determines the specific traffic that is bridged to the router instead of being
Layer 3 switched. The router then applies the feature and routes the packet normally. Note that there are
some exceptions to this process as described in the “Hardware and Software Handling of Cisco IOS
ACLs with PFC” section on page 16-10.
Note In systems with redundant MSFCs, the ACL configurations for Cisco IOS ACLs and VACLs must be
the same on both MSFCs.
Caution For PFC: By default, the MSFC sends Internet Control Message Protocol (ICMP) unreachables
when a packet is denied by an access group. These access-group denied packets are not dropped in
the hardware but are bridged to the MSFC so that the MSFC can generate the ICMP-unreachable
message. To drop access-group denied packets in the hardware, you must disable ICMP unreachables
using the no ip unreachables interface configuration command. Note that the ip unreachables
command is enabled by default.
These sections describe hardware and software handling of ACLs with PFC and PFC2:
• Hardware and Software Handling of Cisco IOS ACLs with PFC, page 16-10
• Hardware and Software Handling of Cisco IOS ACLs with PFC2, page 16-12
Note For information on Cisco IOS ACLs with PFC2, see the “Hardware and Software Handling of Cisco
IOS ACLs with PFC2” section on page 16-12.
ACL feature processing requires forwarding of some flows by the software. The forwarding rate for
software-forwarded flows is substantially less than for hardware-forwarded flows. Flows that require
logging as specified by the ACL are handled in the software without impacting non-log flow forwarding
in the hardware.
Note When you enter the show ip access-list command, the match count displayed does not account for
packets access controlled in the hardware.
Note IPX Cisco IOS ACLs with the source host node number specified cannot be enforced on the switch
in the hardware; the MSFC has to process the ACL in the software. This process significantly
degrades system performance.
These sections describe how different types of ACLs and traffic flows are handled by the hardware and
the software:
• Security Cisco IOS ACLs, page 16-11
• Reflexive ACLs, page 16-11
• TCP Intercept, page 16-11
• Policy Routing, page 16-12
• WCCP, page 16-12
Reflexive ACLs
Up to 512 simultaneous reflexive sessions are supported in the hardware. Note that when reflexive
ACLs are applied, the flow mask is changed to VLAN-full flow.
TCP Intercept
The TCP intercept feature implements software to protect TCP servers from TCP SYN-flooding attacks,
which are a type of denial-of-service attack. The TCP intercept feature helps prevent SYN-flooding
attacks by intercepting and validating TCP connection requests. In intercept mode, the TCP intercept
software intercepts TCP synchronization (SYN) packets from clients to servers that match an extended
access list. The software establishes a connection with the client on behalf of the destination server, and
if successful, establishes the connection with the server on behalf of the client and binds the two
half-connections together transparently. This process ensures that connection attempts from unreachable
hosts never reach the server. The software continues to intercept and forward packets throughout the
duration of the connection.
Policy Routing
Policy routing-required flows are handled in the software without impacting non-policy routed flow
forwarding in the hardware. When a route map contains multiple “match” clauses, all conditions
imposed by these match clauses must be met before a packet is policy routed. However, for route maps
containing both “match ip address” and “match length,” all traffic matching the ACL in the “match ip
address” clause is forwarded to the software regardless of the match length criteria. For route maps that
only contain match length clauses, all packets received on the interface are forwarded to the software.
When you enable hardware policy routing using the mls ip pbr global command, all policy routing
occurs in the hardware.
Caution If you use the mls ip pbr command to enable policy routing, policy routing is applied in the hardware
for all interfaces regardless of which interface was configured for policy routing.
WCCP
HTTP requests subject to Web Cache Coordination Protocol (WCCP) redirection are handled in the
software; HTTP replies from the server and the Cache Engine are handled in the hardware.
NAT
NAT-required flows are handled in the software without impacting non-NAT flow forwarding in the
hardware.
Caution With ACL-based unicast RPF, packets denied by the ACL are sent to the CPU for RPF validation. In the
event of DOS attacks, these packets will most likely match the deny ACE and be forwarded to the CPU.
Under heavy traffic conditions, this could cause high CPU utilization.
Bridge-Groups
Cisco IOS bridge-group ACLs are handled in the software.
ACL feature processing requires forwarding some flows to the software. The forwarding rate for
software-forwarded flows is substantially less than for hardware-forwarded flows. Flows that require
logging as specified by the ACL, are handled in the software without impacting non-log flow forwarding
in the hardware.
Note When you enter the show ip access-list command, the match count displayed does not account for
packets access controlled in the hardware.
Note IPX Cisco IOS ACLs with the source host node number specified cannot be enforced on the switch
in the hardware; the MSFC has to process the ACL in the software. This process significantly
degrades system performance.
These sections describe how different types of ACLs and traffic flows are handled by the hardware and
the software in systems with PFC2:
• Security Cisco IOS ACLs, page 16-13
• Reflexive ACLs, page 16-14
• TCP Intercept, page 16-14
• Policy Routing, page 16-14
• WCCP, page 16-14
• NAT, page 16-15
• Unicast RPF Check, page 16-15
• Bridge-Groups, page 16-15
Reflexive ACLs
ICMP packets are handled in the software. For TCP/UDP flows, once the flow is established, they are
handled in hardware. Note that when reflexive ACLs are applied, the flow mask is changed to VLAN-full
flow.
TCP Intercept
The TCP intercept feature implements software to protect TCP servers from TCP SYN-flooding attacks,
which are a type of denial-of-service attack. The TCP intercept feature helps prevent SYN-flooding
attacks by intercepting and validating TCP connection requests. In intercept mode, the TCP intercept
software intercepts TCP synchronization (SYN) packets from clients to servers that match an extended
access list. The software establishes a connection with the client on behalf of the destination server, and
if successful, establishes the connection with the server on behalf of the client and binds the two
half-connections together transparently. This process ensures that connection attempts from unreachable
hosts never reach the server. The software continues to intercept and forward packets throughout the
duration of the connection.
The hardware support for TCP intercept on a PFC2 is as follows:
1. Once the TCP intercept feature has been configured, all TCP SYN packets matching the ACEs with
a permit clause in the TCP intercept ACL and which are permitted by the security ACL are sent to
the software to apply the TCP intercept functionality. This process occurs even if the security ACL
does not have the SYN flag specified.
2. If a connection is established successfully, the following applies:
a. If the TCP intercept is using intercept mode with timeout, all traffic belonging to the given
connection/flow is handled in the software.
b. For other modes of TCP intercept, once the connection is successfully established, the software
installs a hardware shortcut to switch the rest of the flow in the hardware.
3. If a connection is not established successfully, there cannot be any other traffic belonging to that
flow.
Policy Routing
Policy routing-required flows are handled in hardware or software depending on the route map. If the
route map contains only a “match ip address” and the “set” clause contains the “next hop” and the next
hop is reachable, then the packet is forwarded in hardware. When a route map contains multiple “match”
clauses, all conditions imposed by these match clauses must be met before a packet is policy routed.
However, for route maps containing both a match ip address and match length, all traffic matching the
ACL in the match ip address clause is forwarded to the software regardless of the match length criteria.
For route maps that only contain match length clauses, all packets received on the interface are
forwarded to the software.
Note The mls ip pbr command is not required (and not supported) on PFC2.
WCCP
HTTP requests subject to WCCP redirection are handled in the software; HTTP replies from the server
and the Cache Engine are handled in the hardware.
NAT
NAT-required flows are handled in the software without impacting non-NAT flow forwarding in the
hardware.
Caution With ACL-based unicast RPF, packets denied by the ACL are sent to the CPU for RPF validation. In the
event of DOS attacks, these packets will most likely match the deny ACE and be forwarded to the CPU.
Under heavy traffic conditions, this could cause high CPU utilization.
Bridge-Groups
Cisco IOS bridge-group ACLs are handled in the software.
Note VACLs have an implicit deny at the end of the list; a packet is denied if it does not match any VACL
ACE.
These sections describe Cisco IOS ACL and VACL configuration guidelines and guidelines for Layer 4
operations:
• Guidelines for Configuring Cisco IOS ACLs and VACLs on the Same VLAN Interface, page 16-16
• Guidelines for Using Layer 4 Operations, page 16-20
Guidelines for Configuring Cisco IOS ACLs and VACLs on the Same VLAN
Interface
Follow these guidelines when you need to configure a Cisco IOS ACL and a VACL on the same VLAN.
These guidelines do not apply to configurations where you are mapping Cisco IOS ACLs and VACLs on
different VLANs.
The Catalyst 6000 family switch hardware provides one lookup for security ACLs for each direction
(input and output); you must merge a Cisco IOS ACL and a VACL when they are configured on the same
VLAN. Merging the Cisco IOS ACL with the VACL might significantly increase the number of ACEs.
If you must configure a Cisco IOS ACL and a VACL on the same VLAN, use the following guidelines
for both Cisco IOS ACL and VACL configuration.
Note To display the percentage of ACL storage being used, enter the show security acl resource-usage
command.
These sections provide Cisco IOS ACL and VACL configuration guidelines and examples:
• Using the Implicit Deny Action, page 16-16
• Grouping Actions Together, page 16-16
• Limiting the Number of Actions, page 16-16
• Avoiding Layer 4 Port Information, page 16-17
• Estimating Merge Results, page 16-17
• Examples, page 16-17
To specify a redirect and deny ACL, do not use any permit ACEs. To specify a redirect and permit ACL,
use permit ACEs, redirect ACEs, and for the last ACE, specify permit ip any any. If you specify permit
ip any any, you will override the implicit deny ip any at the end of the list (see Example 4, page 16-18).
Examples
These examples show the merge results for various Cisco IOS ACL and VACL configurations. Note that
in these examples, one VACL and one Cisco IOS ACL are configured on the same VLAN.
Example 1
This example shows that the VACL does not follow the recommended guidelines (see line 9) and the
resultant merge increases the number of ACEs:
******** VACL ***********
1 permit udp host 194.72.72.33 194.72.6.160 0.0.0.15
2 permit udp host 147.150.213.94 194.72.6.64 0.0.0.15 eq bootps
3 permit udp 194.73.74.0 0.0.0.255 host 194.72.6.205 eq syslog
4 permit udp host 167.221.23.1 host 194.72.6.198 eq tacacs
5 permit udp 194.72.136.1 0.0.3.128 194.72.6.64 0.0.0.15 eq tftp
6 permit udp host 193.6.65.17 host 194.72.6.205 gt 1023
7 permit tcp any host 194.72.6.52
8 permit tcp any host 194.72.6.52 eq 113
9 deny tcp any host 194.72.6.51 eq ftp
10 permit tcp any host 194.72.6.51 eq ftp-data
11 permit tcp any host 194.72.6.51
12 permit tcp any eq domain host 194.72.6.51
13 permit tcp any host 194.72.6.51 gt 1023
14 permit ip any host 1.1.1.1
Example 2
In Example 1, if you follow the guidelines and remove line 9 and modify lines 11 and 12, you get the
following equivalent ACL with improved merge results (note that a deny ACE is not specified):
******** VACL **********
1 permit udp host 194.72.72.33 194.72.6.160 0.0.0.15
2 permit udp host 147.150.213.94 194.72.6.64 0.0.0.15 eq bootps
3 permit udp 194.73.74.0 0.0.0.255 host 194.72.6.205 eq syslog
4 permit udp host 167.221.23.1 host 194.72.6.198 eq tacacs
5 permit udp 194.72.136.1 0.0.3.128 194.72.6.64 0.0.0.15 eq tftp
6 permit udp host 193.6.65.17 host 194.72.6.205 gt 1023
7 permit tcp any host 194.72.6.52
8 permit tcp any host 194.72.6.52 eq 113
9 permit tcp any host 194.72.6.51 eq ftp-data
10 permit tcp any host 194.72.6.51 neq ftp
11 permit tcp any eq domain host 194.72.6.51 neq ftp
12 permit tcp any host 194.72.6.51 gt 1023
13 permit ip any host 1.1.1.1
******** IOS ACL ************
1 deny ip any host 239.255.255.255
2 permit ip any any
******** MERGE ***********
has 78 entries
Example 3
This example shows the VACL does not follow the recommended guidelines, and the resultant merge
significantly increases the number of ACEs:
******** VACL ***********
1 deny ip 0.0.0.0 255.255.255.0 any
2 deny ip 0.0.0.255 255.255.255.0 any
3 deny ip any 0.0.0.0 255.255.255.0
4 permit ip any host 239.255.255.255
5 permit ip any host 255.255.255.255
6 deny ip any 0.0.0.255 255.255.255.0
7 permit tcp any range 0 65534 any range 0 65534
8 permit udp any range 0 65534 any range 0 65534
9 permit icmp any any
10 permit ip any any
******** IOS ACL **********
1 deny ip any host 239.255.255.255
2 permit ip any any
******** MERGE **********
has 329 entries
Example 4
This example shows that the VACL does not follow the recommended guidelines (three different actions
are specified), and the resultant merge significantly increases the number of ACEs:
******** VACL ***********
1 redirect 4/25 tcp host 192.168.1.67 host 255.255.255.255
2 redirect 4/25 udp host 192.168.1.67 host 255.255.255.255
3 deny tcp any any lt 30
4 deny udp any any lt 30
5 permit ip any any
Example 5
This example shows the VACL has two different actions specified and the merge results are significantly
improved:
******** VACL ***********
1 redirect 4/25 tcp host 192.168.1.67 host 255.255.255.255
2 redirect 4/25 udp host 192.168.1.67 host 255.255.255.255
3 permit ip any any
******* IOS ACL ***********
1 deny ip any host 239.255.255.255
2 permit ip any any
******* MERGE **********
has 4 entries
Example 6
This example shows that applying the merging guidelines on a large Cisco IOS ACL (no Layer 4 port
information is specified on the Cisco IOS ACL), produces a merge result of 801 entries:
******** VACL **********
1 redirect 4/25 tcp host 192.168.1.67 255.255.255.255 0.0.0.0
2 redirect 4/25 udp host 192.168.1.67 255.255.255.255 0.0.0.0
3 redirect 4/25 icmp host 192.168.1.67 host 255.255.255.255
4 redirect 4/25 ip host 192.168.1.67 host 255.255.255.255
5 deny tcp any any lt 30
6 deny udp any any lt 30
7 permit ip any any
******** IOS ACL ***********
1 permit ip 147.150.213.64 0.0.0.31 194.72.6.64 0.0.0.15
2 permit ip 147.150.213.64 0.0.0.31 194.72.6.160 0.0.0.15
3 permit ip 147.150.213.64 0.0.0.31 host 194.72.6.205
4 permit ip 147.151.77.0 0.0.0.255 194.72.6.64 0.0.0.15
5 permit ip 147.151.77.0 0.0.0.255 194.72.6.160 0.0.0.15
6 permit ip 147.151.77.0 0.0.0.255 194.72.6.208 0.0.0.15
7 permit ip 147.151.77.0 0.0.0.255 host 194.72.6.205
8 permit ip host 193.37.169.121 194.72.6.64 0.0.0.15
[...] total 62 entries without L4 information
******** MERGE **********
has 801 ACEs
Example 7
This example shows that the same Cisco IOS ACL that was used in Example 6 is merged with a VACL
with Layer 4 port information. Following the guidelines in the “Using the Implicit Deny Action” section
on page 16-16, the merge results are good.
******** VACL *********
1 permit tcp host 193.131.248.24 194.73.73.0 0.0.0.15 gt 1023
2 permit tcp host 158.43.128.8 194.72.6.224 0.0.0.7 gt 1023
3 permit udp any 194.72.6.224 0.0.0.7 eq time
4 permit udp any 194.73.73.0 0.0.0.15 eq time
5 permit udp 194.72.7.128 0.0.0.7 194.72.6.224 0.0.0.7 eq 1645
6 permit udp 194.72.7.128 0.0.0.7 194.73.73.0 0.0.0.15 eq 1645
7 permit udp host 158.152.1.65 194.72.6.224 0.0.0.7 gt 1023
8 permit udp host 158.152.1.65 194.73.73.0 0.0.0.15 gt 1023
[...] total 168 entries
Note If you have a Cisco IOS ACL and a VACL on the same VLAN interface, the recommended total
number of Layer 4 operations is still nine or less.
Note There is no limit to the use of “eq” operators as the “eq” operator does not use a logical operator unit
(LOU) or a Layer 4 operation bit. See the “Determining Logical Operation Unit Usage” section on
page 16-21 for a description of LOUs.
2. Layer 4 operations are considered different if the same operator/operand couple applies once to a
source port and once to a destination port. For example, in this ACL there are two different Layer 4
operations because one ACE applies to the source port and one applies to the destination port.
... Src gt 10 ...
... Dst gt 10
Note Check the ACL Layer 4 port operations resource usage using the show security acl resource-usage
command.
ACL2
... (dst port) gt 20 deny
... (src port) lt 9 deny
... (src port) range 11 13 permit
... (dst port) neq 6 redirect
Switch A Switch C
with PFC only with PFC only
Host X Host Y
VLAN 1
VLAN 2
26959
Packet
Task Command
Step 1 Redirect the broadcast packets. set security acl ip SERVER redirect 4/1 tcp any host
255.255.255.255 eq 5000
Step 2 Permit all other traffic. set security acl ip SERVER permit ip any any
Step 3 Commit the VACL. commit security acl SERVER
Step 4 Map the VACL to VLAN 10. set security acl map SERVER 10
Note You could apply the same concept to direct broadcast traffic to a multicast destination by redirecting
the traffic to a group of ports (see Figure 16-5).
Target
VACL server
4/1
Host C
VLAN 10
26960
Application broadcast packet
Task Command
Step 1 Permit a DHCP response from set security acl ip SERVER permit udp host 1.2.3.4 any eq 68
host 1.2.3.4.
Step 2 Deny DHCP responses from any set security acl ip SERVER deny udp any any eq 68
other host.
Step 3 Permit other IP traffic. set security acl ip SERVER permit any
Step 4 Commit the VACL. commit security acl SERVER
Step 5 Map the VACL to VLAN 10. set security acl map SERVER 10
Figure 16-6 shows that only the target server returns a DHCP response from the DHCP request.
Target
VACL server
1.2.3.4
Host C
VLAN 10
26962
DHCP response packets
Task Command
Step 1 Deny traffic from hosts in subnet set security acl ip SERVER deny ip 10.1.2.0 0.0.0.255 host
10.1.2.0/8. 10.1.1.100
Step 2 Deny traffic from host 10.1.1.4. set security acl ip SERVER deny ip host 10.1.1.4 host
10.1.1.100
Step 3 Deny traffic from host 10.1.1.8. set security acl ip SERVER deny ip host 10.1.1.8 host
10.1.1.100
Step 4 Permit other IP traffic. set security acl ip SERVER permit ip any any
Step 5 Commit the VACL. commit security acl SERVER
Step 6 Map the VACL to VLAN 10. set security acl map SERVER 10
VACL
10.1.1.100
26963
Host (VLAN 10)
Note This feature is only available with Supervisor Engine 2 with PFC2.
ARP traffic is permitted on each VLAN by default. You can disallow ARP traffic on a per VLAN basis
using the set security acl ip acl_name deny arp command. When you enter this command, ARP traffic
is disallowed on the VLAN that the ACL is mapped to. To allow ARP traffic on a VLAN that has had
ARP traffic disallowed, enter the set security acl ip acl_name permit arp command.
Note With software releases 6.2(1) and later, you can use two-way community VLANs to perform an
inverse mapping from the primary VLAN to the secondary VLAN when the traffic crosses the
boundary of a private VLAN through a promiscuous port. Both outbound and inbound traffic can be
carried on the same VLAN allowing VLAN-based VACLs to be applied in both directions on a
per-community (per customer) basis.
Note For additional information on private VLANS, see the “Configuring Private VLANs” section on
page 11-13.
Unsupported Features
This section lists ACL-related features that are not supported or have limited support on the
Catalyst 6000 family switches.
• Non-IP version 4/non-IPX Cisco IOS ACLs—The following types of Cisco IOS security ACLs
cannot be enforced on the switch in the hardware; the MSFC has to process the ACL in the software
and this significantly degrades system performance:
– Bridge-group ACLs
– IP accounting
– Inbound and outbound rate limiting
– Standard IPX with source node number
– IPX extended access lists that specify a source node number or socket numbers are not enforced
in the hardware
– Standard XNS access list
– Extended XNS access list
– DECnet access list
– Extended MAC address access list
– Protocol type-code access list
• IP packets with a header length of less than five will not be access controlled.
• Non full-flow IPX VACL—IPX VACL is based on a flow specified by a source/destination network
number, packet type, and destination node number only. The source node number and socket number
are not supported when specifying the IPX flow.
Configuring VACLs
This section describes how to configure VACLs. Prior to performing any configuration tasks, see the
“VACL Configuration Guidelines” section on page 16-28.
These sections provide guidelines and a summary for configuring VACLs:
• VACL Configuration Guidelines, page 16-28
• VACL Configuration Summary, page 16-29
Caution All changes to ACLs are stored temporarily in an edit buffer. You must enter the commit command
to commit all ACEs to NVRAM. Committed ACLs with no ACEs are deleted. We recommend that
you enter ACEs in batches and enter the commit command to save all of them to NVRAM.
Note You can configure Cisco IOS ACLs and VACLs from Flash memory instead of NVRAM. See the
“Configuring and Storing VACLs and QoS ACLs in Flash Memory” section on page 16-42 for
detailed information.
• See the “Guidelines for Configuring Cisco IOS ACLs and VACLs on the Same VLAN Interface”
section on page 16-16.
• See the “Using VACLs in your Network” section on page 16-22 for configuration examples.
• See the “Unsupported Features” section on page 16-27.
• Note that a VACL has to be committed before you can map it to a VLAN. There are no default
VACLs and no default VACL-to-VLAN mappings.
• Note that if there is no Cisco IOS ACL configured to deny traffic on a routed VLAN interface (input
or output), and no VACL configured, all traffic is permitted.
• Note that the order of ACEs in an ACL is important. A packet that comes into the switch is applied
against the first ACE in the ACL. If there is no match, the packet is applied against the next ACE in
the list. If no ACEs match, the packet is denied (dropped).
• Always enter the show security acl info acl_name editbuffer command to see the current list of
ACEs before making any changes to the edit buffer.
• Note that in systems with redundant MSFCs, the ACL configurations for Cisco IOS ACLs and
VACLs must be the same on both MSFCs.
• Note that the system might incorrectly calculate the maximum number of ACLs in the system if an
ACL is deleted but not committed.
• Note that the show security acl resource-usage and show qos acl resource-usage commands might
not show 100 percent usage even if there is no space in the hardware to store more ACLs. This
situation occurs because some ACL space is reserved in hardware for the ACL manager to perform
cleanup and mapping if necessary.
• Note that the system might take longer to boot if you configure a very large number of ACLs.
Step 1 Enter the set security acl ip command to create a VACL and add ACEs.
Step 2 Enter the commit command to commit the VACL and its associated ACEs to NVRAM.
Step 3 Enter the set security acl map command to map the VACL to a VLAN.
Note An IP VACL is used in this description; you can configure IPX and non-IP version 4/non-IPX VACLs
using the same basic steps.
Note VACLs have an implicit deny feature at the end of the list; a packet is denied if it does not match any
VACL ACE.
Task Command
• If an IP protocol specification is not set security acl ip {acl_name} {permit | deny} {src_ip_spec} [capture]
required, use the following syntax. [before editbuffer_index | modify editbuffer_index] [log1]
• If an IP protocol is specified, use the set security acl ip {acl_name} {permit | deny | redirect mod_num/
following syntax. port_num} {protocol} {src_ip_spec} {dest_ip_spec} [precedence
precedence] [tos tos] [capture] [before editbuffer_index | modify
editbuffer_index] [log1]
1. The log keyword provides logging messages for denied IP VACLs only.
This example shows how to create an ACE for IPACL1 to allow traffic from source address 172.20.53.4:
Console> (enable) set security acl ip IPACL1 permit host 172.20.53.4 0.0.0.0
IPACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
Note The example shows that because VACLs have an implicit deny feature at the end of the list, all other
traffic is denied.
This example shows how to create an ACE for IPACL1 to allow traffic from all source addresses:
Console> (enable) set security acl ip IPACL1 permit any
IPACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to create an ACE for IPACL1 to block traffic from source address 171.3.8.2:
Console> (enable) set security acl ip IPACL1 deny host 171.3.8.2
IPACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to display the contents of the edit buffer:
Console> (enable) show security acl info IPACL1 editbuffer
set security acl ip IPACL1
-----------------------------------------------------------------
1. permit ip host 172.20.53.4 any
2. permit ip any any
3. deny ip host 171.3.8.2 any
Console> (enable)
Note For more information about the commit security acl all command, see the “Committing ACLs”
section on page 16-35.
Enter the show security acl info IPACL1 command to verify that the changes were committed. If this
VACL has not been mapped to a VLAN, enter the set security acl map command to map it to a VLAN.
This example shows how to create an ACE for IPACL2 to block traffic from source address 172.20.3.2
and place this ACE before ACE number 2 in the VACL. Optionally, you can use the modify keyword to
replace an existing ACE with a new ACE. Enter the show security acl info acl_name [editbuffer]
command to see the current ACE listing stored in NVRAM (enter the editbuffer keyword to see edit
buffer contents).
Console> (enable) set security acl ip IPACL2 deny host 172.20.3.2 before 2
IPACL2 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to create an ACE for IPACL2 to redirect IP traffic to port 3/1 from source
address 1.2.3.4 with the destination address of 255.255.255.255. Note that host can be used as an
abbreviation for a source and source-wildcard of 0.0.0.0. This ACE also specifies the following:
• precedence—IP precedence values that range between zero for low priority and seven for high
priority.
• tos—Type of service levels that range between 0 and 15.
Note The ToS is bits 3 through 6 of the IP ToS byte as defined by RFC-1349. The precedence is bits 0 through 2
as defined by RFC-791.
Console> (enable) set security acl ip IPACL2 redirect 3/1 ip 1.2.3.4 0.0.0.255 host
255.255.255.255 precedence 1 tos min-delay
IPACL2 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to display the contents of the edit buffer:
Console> (enable) show security acl info IPACL2 editbuffer
set security acl ip IPACL2
-----------------------------------------------------------------
1. deny 172.20.3.2
2. redirect 1.2.3.4
Console> (enable)
Note For more information about the show security acl info command, see the “Showing the Contents of
a VACL” section on page 16-36.
Note For more information about the commit security acl all command see the “Committing ACLs”
section on page 16-35.
Enter the show security acl info IPACL2 command to verify that the changes were committed. If this
VACL has not been mapped to a VLAN, enter the set security acl map command to map it to a VLAN.
Task Command
Create a new IPX VACL and add set security acl ipx {acl_name} {permit | deny |
ACEs, or add ACEs to an existing redirect mod_num/port_num} {protocol} {src_net}
IPX VACL. [dest_net.[dest_node] [[dest_net_mask.]dest_node_mask]]
[capture] [before editbuffer_index modify editbuffer_index]
This example shows how to create an ACE for IPXACL1 to block all traffic from source network 1234:
Console> (enable) set security acl ipx IPXACL1 deny any 1234
IPXACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to create an ACE for IPXACL1 to block all traffic with destination address
1.A.3.4:
Console> (enable) set security acl ipx IPXACL1 deny any any 1.A.3.4
IPXACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to create an ACE for IPXACL1 to redirect broadcast traffic to port 4/1 from
source network 3456:
Console> (enable) set security acl ipx IPXACL1 redirect 4/1 any 3456
IPXACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to display the contents of the edit buffer:
Console> (enable) show security acl info IPXACL1 editbuffer
set security acl ipx IPXACL1
-----------------------------------------------------------------
1. deny any 1234
2. deny any any 1.A.3.4
3. redirect 4/1 any 3456
Console> (enable)
Note For more information about the show security acl info command, see the “Showing the Contents of
a VACL” section on page 16-36.
Enter the show security acl info IPXACL1 command to verify that the changes were committed. If this
VACL has not been mapped to a VLAN, enter the set security acl map command to map it to a VLAN.
This example shows how to create an ACE for IPXACL1 to allow all traffic from source network 1 and
insert this ACE before ACE number 2:
Console> (enable) set security acl ipx IPXACL1 permit any 1 before 2
IPXACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to create an ACE for IPXACL1 to allow traffic from all source addresses:
Console> (enable) set security acl ipx IPXACL1 permit any any
IPXACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to display the contents of the edit buffer:
Console> (enable) show security acl info IPXACL1 editbuffer
set security acl ipx IPXACL1
-----------------------------------------------------------------
1. deny any 1234
2. permit any 1
3. deny any any 1.A.3.4
4. redirect 4/1 any 3456
5. permit any any
ACL IPXACL1 Status: Not Committed
Console> (enable)
Note For more information about the commit security acl all command, see the “Committing ACLs”
section on page 16-35.
Enter the show security acl info IPXACL1 command to verify that the changes were committed. If this
VACL has not been mapped to a VLAN, enter the set security acl map command to map it to a VLAN.
Creating a Non-IP Version 4/Non-IPX VACL (MAC VACL) and Adding ACEs
Caution IP traffic and IPX traffic are not access controlled by MAC VACLs. All other traffic types
(AppleTalk, DECnet, and so on) are classified as MAC traffic and MAC VACLs are used to access
control this traffic.
To create a new non-IP version 4/non-IPX VACL and add ACEs, or to add ACEs to an existing non-IP
version 4/non-IPX VACL, perform this task in privileged mode:
Task Command
Create a new non-IP set security acl mac {acl_name} {permit | deny}
version 4/non-IPX VACL and add {src_mac_addr_spec} {dest_mac_addr_spec} [ether-type]
ACEs, or add ACEs to an existing [capture] [before editbuffer_index | modify
non-IP version 4/non-IPX VACL. editbuffer_index]
This example shows how to create an ACE for MACACL1 to block all traffic from 8-2-3-4-7-A:
Console> (enable) set security acl mac MACACL1 deny host 8-2-3-4-7-A any
MACACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to create an ACE for MACACL1 to block all traffic to A-B-C-D-1-2:
Console> (enable) set security acl mac MACACL1 deny any host A-B-C-D-1-2
MACACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to create an ACE for MACACL1 to allow traffic from all sources:
Console> (enable) set security acl mac MACACL1 permit any any
MACACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to display the contents of the edit buffer:
Console> (enable) show security acl info MACACL1 editbuffer
set security acl mac MACACL1
-----------------------------------------------------------------
1. deny 8-2-3-4-7-A any
2. deny any A-B-C-D-1-2
3. permit any any
Console> (enable)
Note For more information about the show security acl info command, see the “Showing the Contents of
a VACL” section on page 16-36.
Note For more information about the commit security acl all command, see the “Committing ACLs”
section on page 16-35.
Enter the show security acl info MACACL1 command to verify that the changes were committed. If
this VACL has not been mapped to a VLAN, enter the set security acl map command to map it to a
VLAN.
Committing ACLs
You can commit all ACLs or a specific ACL to NVRAM with the commit command. Any committed
ACL with no ACEs will be deleted.
To commit an ACL to NVRAM, perform this task in privileged mode:
Task Command
Commit an ACL to NVRAM. commit security acl acl_name | all
Task Command
Map a VACL to a VLAN. set security acl map acl_name vlans
This example shows the output if you try to map an ACL that has not been committed:
Console> (enable) set security acl map IPACL1 10
Commit ACL IPACL1 before mapping.
Console> (enable)
Task Command
Show the contents of a VACL. show security acl info {acl_name | all} [editbuffer
[editbuffer_index]]
This example shows how to show the contents of a VACL that has been saved in NVRAM:
Console> (enable) show security acl info IPACL1
set security acl ip IPACL1
------------------------------------------------------------------
1. deny A
2. deny ip B any
3. deny c
4. permit any
This example shows how to show the contents of a VACL that is still in the edit buffer:
Console> (enable) show security acl info IPACL1 editbuffer
set security acl ip IPACL1
-----------------------------------------------------------------
1. deny A
2. deny ip B any
3. deny C
4. deny D
5. permit any
Console> (enable)
Task Command
Show VACL-to-VLAN mapping. show security acl map {acl_name | vlan | all}
Task Command
Clear the ACL edit buffer. rollback security acl {acl_name | all | adjacency}
This example shows how to clear the edit buffer of a specific security ACL:
Console> (enable) rollback security acl IPACL1
Editbuffer for ‘IPACL1’ rolled back to last commit state.
Console> (enable)
Task Command
Remove an ACE from a security ACL. clear security acl all
clear security acl acl_name
clear security acl acl_name editbuffer_index
This example shows how to remove ACEs from all the ACLs:
Console> (enable) clear security acl all
All editbuffers modified. Use ‘commit’ command to apply changes.
Console> (enable)
This example shows how to remove a specific ACE from a specific ACL:
Console> (enable) clear security acl IPACL1 2
IPACL1 editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
Task Command
Clear the security ACL map. clear security acl map all
clear security acl map acl_name
clear security acl map vlan
clear security acl map acl_name vlan
This example shows how to clear the mapping for a specific VACL on a specific VLAN:
Console> (enable) clear security acl map IPACL1 50
Map deletion in progress.
Task Command
Display VACL management show security acl resource-usage
information.
Configuration Guidelines
• You can specify any number of switch ports as capture ports. Capture ports are added to a capture
port list and the configuration is saved in NVRAM.
• Only permit traffic is captured. If a packet is dropped due to an ACL, the packet cannot be captured.
• Capture ports do not transmit out all captured traffic. They transmit only traffic belonging to the
capture port VLAN. To capture traffic going to many VLANs, the capture port should be a trunk
carrying the required VLANs.
For routed traffic, capture ports transmit packets only after they are Layer 3 switched; packets are
transmitted out of a port only if the output VLAN of the Layer 3 switched flow is the same as the
capture port VLAN. For example, assume you have flows from VLAN 10 to VLAN 20 and you add
a VACL (on one of the VLANs) permitting these flows and you specify a capture port. This traffic
gets transmitted out of the capture port only if it belongs to VLAN 20 or if the port is a trunk carrying
VLAN 20. If the capture port is in VLAN 10, it does not transmit any traffic. Whether a capture port
transmits the traffic or not is independent of the VLAN on which you placed the VACL.
If you want to capture traffic from one VLAN going to many VLANs, the capture port has to be a
trunk carrying all output VLANs.
For bridged traffic, because all the traffic remains in the same VLAN, ensure that the capture port
is in the same VLAN as the bridged traffic.
• To capture traffic, you can configure one ACL and map it to a group of VLANs or you can configure
a number of ACLs and map each to one VLAN. Configure as many ACEs per ACL as necessary to
capture the desired traffic.
To capture traffic flows, perform these steps:
Note An IP VACL is used in this description; you can configure IPX and non-IP version 4/non-IPX VACLs
using the same basic steps.
Step 1 Enter the set security acl ip command to create a VACL and add ACEs; include the capture option.
Step 2 Enter the commit command to commit the VACL and its associated ACEs to NVRAM.
Step 3 Enter the set security acl map command to map the VACL to a VLAN.
Step 4 Enter the set security acl capture-ports mod/ports... command to specify capture ports.
Configuration Examples
This example shows how to create an ACE for my_cap and specify that the allowed traffic be captured:
Console> (enable) set security acl ip my_cap permit ip host 60.1.1.1 host 60.1.1.98
capture
my_cap editbuffer modified. Use ’commit’ command to apply changes.
Console> (enable)
This example shows how to display ports that have been specified as capture ports:
Console> (enable) show security acl capture-ports
ACL Capture Ports: 1/1-2,2/1-2
Console> (enable)
This example shows that ports 1/1 and 2/1 were cleared:
Console> (enable) show security acl capture-ports
ACL Capture Ports:1/2,2/2
Console> (enable)
Note This feature is only available with Supervisor Engine 2 with Layer 3 Switching Engine II (PFC2).
You can log messages about denied packets for the standard IP access list by entering the log keyword
for deny VACLs. That is, any packet that matches the access list will cause an informational logging
message about the packet to be sent to the console. The level of messages logged to the console is
controlled by the set logging level acl severity command.
The first packet that triggers the access list causes a logging message right away, and subsequent packets
are collected over 5-minute intervals before they are displayed or logged. The logging message includes
the flow pattern and number of packets received in the prior 5-minute interval.
By default, system logging messages are sent to the console. You can configure the switch to send
system logging messages to a syslog server. For information on configuring system message logging,
see Chapter 27, “Configuring System Message Logging.”
Configuration Guidelines
Step 1 Enter the set logging level acl severity command to set the logging level to 6 (information) or
7 (debugging).
Step 2 (Optional) Enter the set security acl log maxflow max_number to allocate a new log table based on
the maximum flow pattern number to store logged packet information. If successful, the new buffer
replaces the old one and all flows in the old table are cleared. If either memory is not enough or the
maximum number is over the limit, an error message is displayed and the command is dropped.
Valid values are from 256 to 2048; the default value is 500.
Note If the maximum flow pattern is over the max_num limit, an error message is displayed and
the command is dropped. Messages are not logged for these packets.
Step 3 (Optional) Enter the set security acl log ratelimit pps to set the redirect rate in pps (packet per second).
If the configuration is over the range, the command is discarded and the range is displayed on the
console. Valid values are from 500 to 5000; the default value is 2500.
Note If the redirect rate is over the pps range, the command is dropped and the range is displayed
on the console. Messages are not logged for these packets.
Step 4 Enter the set security acl ip acl_name deny log command to create an IP VACL and enable logging.
Step 5 Enter the commit security acl acl_name command to commit the VACL to NVRAM.
Step 6 Enter the set security acl map acl_name vlan command to map the VACL to a VLAN.
Configuration Examples
This example shows how to allocate a new log table based on the maximum flow:
Console> (enable) set security acl log maxflow 512
Set VACL Log table to 512 flow patterns.
This example shows how to create an ACE for my_cap and specify that denied traffic be logged:
Console> (enable) set security acl ip my_cap deny ip host 21.0.0.1 log
my_cap editbuffer modified. Use ’commit’ command to apply changes.
Console> (enable)
This example shows how to display the flow information in the log table:
Console> (enable) show security acl log flow ip any any
Total matched entry number = 1
Entry No. #1, IP Packet
----------------------------------------
Vlan Number : 1
Mod/Port Number : 2/1
Source IP address : 21.0.0.1
Destination IP address : 255.255.255.255
TCP Source port : 2000
TCP Destination port : 3000
Received Packet Number : 10
Note In most cases, the 512-KB NVRAM is sufficient for storing VACLs and QoS ACLs; therefore, all
ACL configurations are stored in NVRAM by default.
Note See Chapter 23, “Modifying the Switch Boot Configuration,” for additional information on using the
commands described in this section.
Automatically Moving the VACL and QoS ACL Configuration to Flash Memory
Moving the VACL and QoS ACL configuration to Flash memory is done automatically only during
system software upgrades and then only if there is not sufficient NVRAM for the upgrade. If there is not
enough NVRAM to perform a software upgrade, the QoS ACL and VACL configuration is deleted from
NVRAM and the ACL configuration is automatically moved to Flash memory. When this occurs, these
syslog messages display:
1999 Sep 01 17:00:00 %SYS-1-CFG_FLASH:ACL configuration moved to bootflash:switchapp.cfg
1999 Sep 01 17:00:00 %SYS-1-CFG_ACL_DEALLOC:NVRAM full. Qos/Security ACL configuration
deleted from NVRAM.
The VACL and QoS ACL configuration has now been successfully moved to Flash memory. During this
process, the system also does the following:
• Sets the CONFIG_FILE variable to bootflash:switchapp.cfg
• Enables the set boot config-register auto-config command recurring, append, and sync options
If an error occurs during the upgrade, these syslog messages display:
1999 Sep 01 17:00:00 %SYS-1-CFG_FLASH_ERR:Failed to write ACL configuration to
bootflash:switchapp.cfg
1999 Sep 01 17:00:00 %SYS-1-CFG_ACL_DEALLOC:NVRAM full. Qos/Security ACL configuration
deleted from NVRAM.
If you receive these error messages, the VACL and QoS ACL configuration is stored in DRAM only.
You need to make more space available in Flash memory and then save the configuration to Flash
memory (as described in the “Moving the VACL and QoS ACL Configuration Back to NVRAM” section
on page 16-46). Alternatively, you might try to delete unneeded VACLs and QoS ACLs and save the ACL
configuration to NVRAM using the set config acl nvram command.
Manually Moving the VACL and QoS ACL Configuration to Flash Memory
If your VACL and QoS ACL configuration requirements require more memory than the 512-KB
NVRAM, you can manually move the VACL and QoS ACL configuration to Flash memory as follows:
Step 1 Specify the VACL and QoS ACL auto-config file to use to configure the switch at startup.
Console> (enable) set boot auto-config bootflash:switchapp.cfg
CONFIG_FILE variable = bootflash:switchapp.cfg
Console> (enable)
Step 2 Specify if the switch should retain (recurring keyword) or clear (non-recurring keyword) the contents
of the CONFIG_FILE environment variable after a reset or power cycle.
Console> (enable) set boot config-register auto-config recurring
Configuration register is 0x12F
ignore-config: disabled
auto-config: recurring, overwrite, sync disabled
console baud: 9600
boot: image specified by the boot system commands
Console> (enable)
Step 3 Specify if the auto-config file should be used to overwrite the NVRAM configuration or be appended to
what is currently in NVRAM.
Console> (enable) set boot config-register auto-config append
Configuration register is 0x12F
ignore-config: disabled
auto-config: recurring, append, sync disabled
console baud: 9600
boot: image specified by the boot system commands
Console> (enable)
Step 4 Specify if synchronization should be enabled or disabled. With synchronization enabled, the auto-config
file(s) synchronize automatically to the standby supervisor engine.
Console> (enable) set boot config-register auto-config sync enable
Configuration register is 0x12F
ignore-config: disabled
auto-config: recurring, append, sync enabled
console baud: 9600
boot: image specified by the boot system commands
Console> (enable)
Step 5 Save committed VACL and QoS ACL configuration changes to the auto-config file.
Console> (enable) copy acl-config bootflash:switchapp.cfg
Upload ACL configuration to bootflash:switchapp.cfg
2843644 bytes available on device bootflash, proceed (y/n) [n]? y
ACL configuration has been copied successfully.
Console> (enable)
Step 6 Delete the VACL and QoS ACL configuration from NVRAM.
Console> (enable) clear config acl nvram
ACL configuration has been deleted from NVRAM.
Warning: Use the copy commands to save the ACL configuration to a file and
the ’set boot config-register auto-config’ commands to configure the
auto-config feature.
Note VACL and QoS ACL mapping commands (set qos acl map and set security acl map) are also stored
in the auto-config file. If the VACL and QoS ACL configuration is in Flash memory and you use the
mapping commands, you need to enter the copy command to save the configuration to Flash memory.
At this point, the VACL and QoS ACL configuration is no longer in NVRAM, it is saved in the
auto-config file bootflash:switchapp.cfg and will be appended to the NVRAM configuration at system
startup.
After making any additional changes to the VACL and QoS ACL configuration and committing those
changes, you must enter the copy acl-config bootflash:switchapp.cfg command to save the
configuration to the auto-config file.
The auto-config file is synchronized automatically to the standby supervisor engine because
synchronization was enabled.
If you cannot write the VACL and QoS ACL configuration to Flash memory, it is removed from
NVRAM. At this point, the VACL and QoS ACL configuration exists in DRAM only. A system reset
for any reason can cause the VACL and QoS ACL configuration to revert to the default.
Note If you cannot write the configuration to Flash memory, you must copy the configuration to a file,
make additional room available in Flash memory, and then try to write the VACL and QoS ACL
configuration to Flash memory.
At system startup, if the VACL and QoS ACL configuration location is set to Flash memory but either
the CONFIG_FILE variable is not set or none of the files specified exist, the following syslog message
displays:
1999 Sep 01 17:00:00 %SYS-0-CFG_FLASH_ERR:ACL configuration set to flash but no ACL
configuration file found.
Running with the VACL and QoS ACL Configuration in Flash Memory
After you move the VACL and QoS ACL configuration to Flash memory, QoS ACLs and VACL commit
operations are no longer written to NVRAM. You have to copy the configuration to the Flash file
manually as follows:
• If you use the set boot config-register auto-config append option, the configuration from the
auto-config file is appended to the NVRAM configuration. You then only have to copy the VACL
and QoS ACL configuration to this file after commit operations.
• If you do not use the set boot config-register auto-config append option, the auto-config feature
clears the configuration before executing the auto-config file at system startup. Any changes made
in NVRAM are lost. You should always copy your entire configuration (not just the VACL and QoS
ACL configuration) to the auto-config file when you want to save it.
Note PBF does not support Internetwork Packet Exchange (IPX) and multicast traffic.
Note PBF does not work with 802.1Q tunnel traffic. PBF is supported on Layer 3 IP unicast traffic, it is
not applicable to Layer 2 traffic. At the intermediate (PBF) switch, all 802.1Q tunnel traffic appears
as Layer 2 traffic.
Note PBF may require some configuration on attached hosts. When a router is not present in the network,
ARP table entries have to be statically added on each host participating in PBF.
Note Because VACLs are applied to incoming and outgoing traffic, you must configure all VACLs
carefully when using PBF. If the VACLs are not specific, a rewritten packet could hit a deny statement
in the outgoing VACL and be dropped.
When a router is not present in the network, you need to specify static ARP entries on participating hosts.
VLAN 10 VLAN 11
Host A Host B
IP 10.0.0.1 IP 11.0.0.1
MAC 00:00:00:00:00:0A MAC 00:00:00:00:00:0B
Interface: Ethernet1 Interface: Ethernet0
58995
Note The MAC address can be a default or user-specified MAC address. The default MAC address is taken
from a MAC address PROM on the Catalyst 6000 family switch chassis. When specifying a MAC
address using the set pbf mac command, ensure that the MAC address is unique and not already
being used on any interfaces.
We recommend that you use the default MAC address provided by the MAC address PROM. When
you specify your own MAC address using the set pbf mac command, if the MAC address is a
duplicate of a MAC address already in use, packets might get dropped.
To display PBF status and MAC address, perform this task in privileged mode:
Task Command
Display PBF status and MAC address. show pbf
Task Command
Enable PBF with a default MAC address. set pbf
Enable PBF with a specific MAC address. set pbf [mac mac address]
This example shows how to check PBF status and MAC address, enable PBF with a default MAC
address, and verify the change:
Console> (enable) show pbf
Pbf status Mac address
----------- ------------------
not set 00-00-00-00-00-00
Console> (enable)
Console> (enable) set pbf
PBF committed successfully.
Operation successful.
Console> (enable)
Console> (enable) show pbf
Pbf status Mac address
----------- ------------------
ok 00-01-64-61-39-c2
Console> (enable)
This example shows how to enable PBF with a specific MAC address:
Console> (enable) set pbf mac 00-11-11-11-11-11
PBF committed successfully.
Operation successful.
Console> (enable)
To disable PBF and clear the PBF MAC address, perform this task in privileged mode:
Task Command
Disable PBF and clear the PBF MAC address. clear pbf
Note Enter the set security acl adjacency command to specify the rewrite information in the adjacency table
that causes the packet header to be rewritten (destination VLAN and source and destination MAC
addresses) and forwarded to the destination VLAN.
Note that the source MAC address is optional. If you do not specify the source MAC address, the system
defaults to the PBF MAC address.
Note You can configure a maximum of 256 adjacency table entries for a VLAN. The maximum number of
adjacency table entries is 1023.
Note To enable jumbo frame forwarding using PBF, enter the mtu keyword in the set security acl
adjacency command.
The order of entries in a PBF VACL is important. The adjacency table entry has to be defined in the VACL
before the redirect ACE because the redirect ACE uses it to redirect traffic. You should create entries for
PBF VACLs in the following order:
1. Specify the adjacency table entry.
2. Specify the redirect ACE in the PBF VACL that is using the adjacency table entry.
3. Commit the adjacency table entry.
4. Commit the PBF VACL.
5. Map the PBF VACL to a single VLAN or multiple VLANs.
Note You can combine steps 3 and 4 by entering the commit security acl all command.
Note The same adjacency table entry can be used by more than one redirect ACE.
To specify an adjacency table entry for the PFC2, perform this task in privileged mode:
Task Command
Specify an adjacency table entry for the PFC2. set security acl adjacency adjacency_name
dest_vlan dest_mac [[source_mac] |
[source_mac mtu mtu_size] | [ mtu mtu_size]]
This example shows how to create the PBF VACL for VLAN 10 (shown in Figure 16-8):
Console> (enable) set security acl adjacency ADJ1 11 00-00-00-00-00-0B
ADJ1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) set security acl ip IPACL1 redirect ADJ1 ip host 10.0.0.1 host 11.0.0.1
IPACL1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) set security acl ip IPACL1 permit any
IPACL1 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) commit security acl adjacency
Commit operation in progress.
This example shows how to create the PBF VACL for VLAN 11 (see Figure 16-8):
Console> (enable) set security acl adjacency ADJ2 10 00-00-00-00-00-0A
ADJ2 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) set security acl ip IPACL2 redirect ADJ2 ip host 11.0.0.1 host 10.0.0.1
IPACL2 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) set security acl ip IPACL2 permit any
IPACL2 editbuffer modified. Use 'commit' command to apply changes.
Console> (enable) commit security acl adjacency
Commit operation in progress.
Task Command
Display adjacency table entries. show security acl info [acl_name | adjacency |
all] [editbuffer [editbuffer_index]]
Display PBF adjacency information for all show pbf adjacency [adj name]
adjacency table entries or a specific adjacency
table entry.
Display PBF statistics for all adjacency table show pbf statistics [adj name]
entries or a specific adjacency table entry.
Display the adjacency-to-VACL mappings for all show pbf map [adj name]
adjacency table entries or a specific adjacency
table entry.
1. 10 00-00-00-00-00-0a
Console> show pbf adjacency
Index DstVlan DstMac SrcMac Name
------------------------------------------------------------------
1 11 00-00-00-00-00-0a 00-00-00-00-00-0b ADJ1
2 10 00-00-00-00-00-0a 00-00-00-00-00-0b ADJ2
Console> show pbf statistics
Index DstVlan DstMac SrcMac HitCount(hex) Name
-------------------------------------------------------------------------
1 11 00-00-00-00-00-0a 00-00-00-00-00-0b 0x00000000 ADJ1
2 10 00-00-00-00-00-0a 00-00-00-00-00-0b 0x00000000 ADJ2
Console> show pbf map
Adjacency ACL
------------------ --------------------
ADJ1 IPACL1
ADJ2 IPACL2
Console> (enable)
Task Command
Clear a PBF adjacency table entry. clear security acl adjacency adj name
Console> (enable)
Task Command
Roll back adjacency table entries in the rollback security acl {acl_name | all | adjacency}
edit buffer.
This example shows how to roll back adjacency table entries in the edit buffer:
Console> (enable) rollback security acl adjacency
Editbuffer for adjacency info rolled back to last commit state.
Console> (enable)
Note When a router is not present in the network, you need to specify static ARP entries on participating
hosts. The host’s ARP table maps the IP address of the host device to the MAC address of the PFC2.
Note The IP addresses in the following examples are the IP addresses used in Figure 16-8. These IP
addresses were randomly selected; make sure that the IP addresses you use in your network
configuration are unique.
Linux
These examples show how to configure the ARP table for hosts running the Linux operating system.
This example shows how to configure Host A:
arp -s 11.0.0.1 00:11:11:11:11:11 -i eth0
route add 11.0.0.1 eth0
Sun Workstation
When using PBF to enable forwarding between two VLANs with Sun Workstation end hosts, note that
there are limitations you must take into account when configuring the hosts.
PBF Limitations
PBF does not support ARP; you must set a static ARP entry on each Sun Workstation that participates
in PBF. Each static ARP entry must point to the PBF MAC address that is mapped to the destination host.
You must also configure the Sun Workstation to have a gateway. If the Sun Workstation needs to
communicate to a different network, you must define the host routes for all networks that go through
PBF, and if required, you must define a default gateway.
For example, if host 10.0.0.1 on VLAN 40 needs to communicate with host 11.0.0.1 on VLAN 50, and
assuming the PBF MAC address is 00-11-11-11-11-11, the static ARP entry would be as follows:
arp -s 11.0.0.1 00:11:11:11:11:11
where 00-11-11-11-11-11 is the PBF MAC address, and 11.0.0.1 is the IP address of the destination host.
Sun Workstations do not allow you to set a static ARP entry if the destination is part of a different
network (11.x.x.x in this example). This is a limitation of ARP in all Sun Workstations. To overcome
this problem, you need to define a dummy gateway, which is a host route, and set a static ARP entry
pointing to the PBF MAC address mapped to the destination host.
Using the example above, you need to first define a dummy static ARP entry for the gateway. The IP
address of the gateway is one of the host addresses within that network as follows:
(A)Kubera# arp -s 10.0.0.2 00:11:11:11:11:11
(B)Kubera# route add host 11.0.0.1 10.0.0.2
You need to set only one dummy ARP entry for PBF-related traffic and the host routes for each
destination host.
If the number of hosts increase, you need to set the host route entries for each destination host. You can
set up a startup file in /etc/rc2.d which has host route entries for each of the destination hosts. Setting up
this file prevents you from having to key in all the host route entries after the Workstation is reset or
rebooted.
Entries in the file should use this form:
Route add host <destination Host IP Address> <dummy gateway IP Address>
The file that contains the host route entries needs to be started as one of the startup scripts. You can
create the file in a directory that has full permissions for the root/superuser, set a soft link pointing to
that file in /etc/rc2.d, or create the file in the /etc/rc2.d directory itself.
MS-Windows/NT/2000 Hosts
Similar to Sun Workstations setup, you must also set static ARP entries on Windows-based PCs. For
Windows-based PCs, you do not need to set up any dummy gateways for switching between VLANs
with PBF.
This example shows how to configure static ARP entries in Windows-based platforms:
C:\> arp -s 11.0.0.1 00-11-11-11-11-11
In this example, 00-11-11-11-11-11 is the PBF MAC address and 11.0.0.1 is the IP address of the
destination host.
If you need to configure more hosts, you can create a batch file with ARP entries to each destination host
and specify that Windows use this file at startup.
VLAN 1 VLAN 2
58974
This example shows the switch configuration file that was created to enable PBF between the hosts on
VLAN 1 and VLAN 2. Only the first four hosts from each VLAN are shown in the example (44.0.0.1
through 44.0.0.4 and 43.0.0.1 through 43.0.0.4).
#security ACLs
clear security acl all
#adj set
set security acl adjacency a_1 2 00-0a-0a-0a-0a-0a
set security acl adjacency a_2 2 00-0a-0a-0a-0a-0b
set security acl adjacency a_3 2 00-0a-0a-0a-0a-0c
set security acl adjacency a_4 2 00-0a-0a-0a-0a-0d
set security acl adjacency b_1 1 00-20-20-20-20-20
set security acl adjacency b_2 1 00-20-20-20-20-21
set security acl adjacency b_3 1 00-20-20-20-20-22
set security acl adjacency b_4 1 00-20-20-20-20-23
#ip1
set security acl ip ip1 permit arp
set security acl ip ip1 redirect a_1 ip host 44.0.0.1 host 43.0.0.1
set security acl ip ip1 redirect a_2 ip host 44.0.0.2 host 43.0.0.2
set security acl ip ip1 redirect a_3 ip host 44.0.0.3 host 43.0.0.3
set security acl ip ip1 redirect a_4 ip host 44.0.0.4 host 43.0.0.4
set security acl ip ip1 permit ip any any
#ip2
set security acl ip ip2 permit arp
set security acl ip ip2 redirect b_1 ip host 43.0.0.1 host 44.0.0.1
set security acl ip ip2 redirect b_2 ip host 43.0.0.2 host 44.0.0.2
set security acl ip ip2 redirect b_3 ip host 43.0.0.3 host 44.0.0.3
set security acl ip ip2 redirect b_4 ip host 43.0.0.4 host 44.0.0.4
set security acl ip ip2 permit ip any any
#pbf set
set pbf mac 00-11-22-33-44-55
#
commit security acl all
set security acl map ip1 1
set security acl map ip2 2
This example shows how to display MAC addresses learned by the switch for port 6/17 on VLAN 1:
Console> (enable) show cam dynamic 6/17
* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.
X = Port Security Entry $ = Dot1x Security Entry
VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]
---- ------------------ ----- -------------------------------------------
1 00-20-20-20-20-23 6/17 [ALL]
1 00-20-20-20-20-22 6/17 [ALL]
1 00-20-20-20-20-21 6/17 [ALL]
1 00-20-20-20-20-20 6/17 [ALL]
1 00-20-20-20-20-27 6/17 [ALL]
1 00-20-20-20-20-26 6/17 [ALL]
1 00-20-20-20-20-25 6/17 [ALL]
1 00-20-20-20-20-24 6/17 [ALL]
1 00-20-20-20-20-2b 6/17 [ALL]
1 00-20-20-20-20-2a 6/17 [ALL]
1 00-20-20-20-20-29 6/17 [ALL]
1 00-20-20-20-20-28 6/17 [ALL]
1 00-20-20-20-20-2f 6/17 [ALL]
1 00-20-20-20-20-2e 6/17 [ALL]
1 00-20-20-20-20-2d 6/17 [ALL]
1 00-20-20-20-20-2c 6/17 [ALL]
Total Matching CAM Entries Displayed for 6/17 = 16 for port 6/9, vlan 2
This example shows how to display MAC addresses learned by the switch for port 6/9 on VLAN 2:
Console> (enable) show cam dynamic 6/9
* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.
X = Port Security Entry $ = Dot1x Security Entry
VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]
---- ------------------ ----- -------------------------------------------
2 00-0a-0a-0a-0a-0e 6/9 [ALL]
2 00-0a-0a-0a-0a-0f 6/9 [ALL]
2 00-0a-0a-0a-0a-0c 6/9 [ALL]
2 00-0a-0a-0a-0a-0d 6/9 [ALL]
2 00-0a-0a-0a-0a-0a 6/9 [ALL]
2 00-0a-0a-0a-0a-0b 6/9 [ALL]
2 00-0a-0a-0a-0a-19 6/9 [ALL]
2 00-0a-0a-0a-0a-18 6/9 [ALL]
2 00-0a-0a-0a-0a-17 6/9 [ALL]
2 00-0a-0a-0a-0a-16 6/9 [ALL]
2 00-0a-0a-0a-0a-15 6/9 [ALL]
2 00-0a-0a-0a-0a-14 6/9 [ALL]
2 00-0a-0a-0a-0a-13 6/9 [ALL]
2 00-0a-0a-0a-0a-12 6/9 [ALL]
2 00-0a-0a-0a-0a-11 6/9 [ALL]
2 00-0a-0a-0a-0a-10 6/9 [ALL]
Total Matching CAM Entries Displayed for 6/9 = 16
This example shows how to display the PBF status and the PFC2 MAC address:
Console> (enable) show pbf
Pbf status Mac address
----------- ------------------
ok 00-11-22-33-44-55
This chapter describes how to configure the Generic Attribute Registration Protocol (GARP) VLAN
Registration Protocol (GVRP) on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note GVRP requires supervisor engine software release 5.2 or later releases.
Note GARP and GVRP are industry-standard protocols described in IEEE 802.1p.
Configuring GVRP
These sections describe how to configure GVRP:
• Enabling GVRP Globally, page 17-3
• Enabling GVRP on Individual 802.1Q Trunk Ports, page 17-3
• Enabling GVRP Dynamic VLAN Creation, page 17-4
• Configuring GVRP Registration, page 17-5
• Configuring GVRP VLAN Declarations from Blocking Ports, page 17-6
• Setting the GARP Timers, page 17-7
• Displaying GVRP Statistics, page 17-8
• Clearing GVRP Statistics, page 17-8
• Disabling GVRP on Individual 802.1Q Trunk Ports, page 17-8
• Disabling GVRP Globally, page 17-9
Task Command
Step 1 Enable GVRP on the switch. set gvrp enable
Step 2 Verify the configuration. show gvrp configuration
This example shows how to enable GVRP and verify the configuration:
Console> (enable) set gvrp enable
GVRP enabled
Console> (enable) show gvrp configuration
Global GVRP Configuration:
GVRP Feature is currently enabled on the switch.
GVRP dynamic VLAN creation is disabled.
GVRP Timers(milliseconds)
Join = 200
Leave = 600
LeaveAll = 10000
Note You can change the per-trunk GVRP configuration regardless of whether GVRP is enabled globally.
However, GVRP will not function on any ports until you enable it globally. For information on
configuring GVRP globally on the switch, see the “Enabling GVRP Globally” section on page 17-3.
To enable GVRP on individual 802.1Q-capable ports, perform this task in privileged mode:
Task Command
Step 1 Enable GVRP on an individual 802.1Q-capable set port gvrp mod/port enable
port.
Step 2 Verify the configuration. show gvrp configuration
Note VLANs can only be created dynamically on 802.1Q trunks in the normal registration mode.
To enable GVRP dynamic VLAN creation on the switch, perform this task in privileged mode:
Task Command
Step 1 Enable dynamic VLAN creation on the switch. set gvrp dynamic-vlan-creation enable
Step 2 Verify the configuration. show gvrp configuration
This example shows how to enable dynamic VLAN creation on the switch:
Console> (enable) set gvrp dynamic-vlan-creation enable
Dynamic VLAN creation enabled.
Console> (enable)
Task Command
Step 1 Configure normal registration on an 802.1Q trunk set gvrp registration normal mod/port
port.
Step 2 Verify the configuration. show gvrp configuration
This example shows how to configure normal registration on an 802.1Q trunk port:
Console> (enable) set gvrp registration normal 1/1
Registrar Administrative Control set to normal on port 1/1.
Console> (enable)
Task Command
Step 1 Configure fixed registration on an 802.1Q trunk set gvrp registration fixed mod/port
port.
Step 2 Verify the configuration. show gvrp configuration
This example shows how to configure fixed registration on an 802.1Q trunk port:
Console> (enable) set gvrp registration fixed 1/1
Registrar Administrative Control set to fixed on port 1/1.
Console> (enable)
Task Command
Step 1 Configure forbidden registration on an 802.1Q set gvrp registration forbidden mod/port
trunk port.
Step 2 Verify the configuration. show gvrp configuration
This example shows how to configure forbidden registration on an 802.1Q trunk port:
Console> (enable) set gvrp registration forbidden 1/1
Registrar Administrative Control set to forbidden on port 1/1.
Console> (enable)
Note Configuring fixed registration on the other device’s port also prevents undesirable STP topology
reconfiguration.
To configure an 802.1Q trunk port to send VLAN declarations when in the blocking state, perform this
task in privileged mode:
Task Command
Configure an 802.1Q trunk port to send VLAN set gvrp applicant state {normal | active}
declarations when in the blocking state. mod/port
This example shows how to configure a group of 802.1Q trunk ports to send VLAN declarations when
in the blocking state:
Console> (enable) set gvrp applicant state active 4/2-3,4/9-10,4/12-24
Applicant was set to active on port(s) 4/2-3,4/9-10,4/12-24.
Console> (enable)
Use the normal keyword to return to the default state (active mode disabled).
Note The commands set gvrp timer and show gvrp timer are aliases for set garp timer and show garp
timer. The aliases may be used if desired.
Note Modifying the GARP timer values affects the behavior of all GARP applications running on the
switch, not just GVRP. (For example, GMRP uses the same timers.)
You can modify the default GARP timer values on the switch.
When setting the timer values, the value for leave must be greater than three times the join value
(leave >= join * 3). The value for leaveall must be greater than the value for leave (leaveall > leave).
If you attempt to set a timer value that does not adhere to these rules, an error is returned. For example,
if you set the leave timer to 600 ms and you attempt to configure the join timer to 350 ms, an error is
returned. Set the leave timer to at least 1050 ms and then set the join timer to 350 ms.
Caution Set the same GARP timer values on all Layer 2-connected devices. If the GARP timers are set
differently on Layer 2-connected devices, GARP applications (for example, GMRP and GVRP) do
not operate successfully.
To set the GARP timer values, perform this task in privileged mode:
Task Command
Step 1 Set the GARP timer values. set garp timer {join | leave | leaveall}
timer_value
Step 2 Verify the configuration. show garp timer
This example shows how to set the GARP timers and verify the configuration:
Console> (enable) set garp timer leaveall 10000
GMRP/GARP leaveAll timer value is set to 10000 milliseconds.
Console> (enable) set garp timer leave 600
GMRP/GARP leave timer value is set to 600 milliseconds.
Console> (enable) set garp timer join 200
GMRP/GARP join timer value is set to 200 milliseconds.
Console> (enable) show garp timer
Timer Timer Value (milliseconds)
-------- --------------------------
Join 200
Leave 600
LeaveAll 10000
Console> (enable)
Task Command
Display GVRP statistics. show gvrp statistics [mod/port]
This example shows how to display GVRP statistics for port 1/1:
Console> (enable) show gvrp statistics 1/1
Join Empty Received: 0
Join In Received: 0
Empty Received: 0
LeaveIn Received: 0
Leave Empty Received: 0
Leave All Received: 40
Join Empty Transmitted: 156
Join In Transmitted: 0
Empty Transmitted: 0
Leave In Transmitted: 0
Leave Empty Transmitted: 0
Leave All Transmitted: 41
VTP Message Received: 0
Console> (enable)
Task Command
Clear GVRP statistics. clear gvrp statistics {mod/port | all}
This example shows how to clear all GVRP statistics on the switch:
Console> (enable) clear gvrp statistics all
GVRP Statistics cleared for all ports.
Console> (enable)
Task Command
Step 1 Disable GVRP on an individual 802.1Q trunk set port gvrp disable mod/port
port.
Step 2 Verify the configuration. show gvrp configuration
This example shows how to disable GVRP on 802.1Q trunk port 1/1:
Console> (enable) set gvrp disable 1/1
GVRP disabled on 1/1.
Console> (enable)
Task Command
Disable GVRP on the switch. set gvrp disable
This chapter describes how to configure dynamic port VLAN membership using the VLAN Management
Policy Server (VMPS).
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
If the assigned VLAN is restricted to a group of ports, VMPS verifies the requesting port against this
group. If the VLAN is allowed on the port, the VLAN name is returned to the client. If the VLAN is not
allowed on the port and VMPS is not in secure mode, the host receives an “access denied” response. If
VMPS is in secure mode, the port is shut down.
If a VLAN in the database does not match the current VLAN on the port and active hosts are on the port,
VMPS sends an access denied or a port shutdown response based on the VMPS secure mode.
You can configure a fallback VLAN name. If you connect a device with a MAC address that is not in
the database, VMPS sends the fallback VLAN name to the client. If you do not configure a fallback
VLAN and the MAC address does not exist in the database, VMPS sends an access denied response. If
VMPS is in secure mode, it sends a port shutdown response.
You can also make an explicit entry in the configuration table to deny access to specific MAC addresses
for security reasons by specifying a --NONE-- keyword for the VLAN name. In this case, VMPS sends
an access denied or port shutdown response.
A dynamic port can belong to only one native VLAN in software releases prior to release 6.2(1)—with
software release 6.2(1), a port can belong to a native VLAN and an auxiliary VLAN. See the “Dynamic
Port VLAN Membership with Auxiliary VLANs” section on page 18-12 for complete details.
When the link comes up, a dynamic port is isolated from its static VLAN. The source MAC address from
the first packet of a new host on the dynamic port is sent to VMPS, which attempts to match the MAC
address to a VLAN in the VMPS database. If there is a match, VMPS provides the VLAN number to
assign to the port. If there is no match, VMPS either denies the request or shuts down the port (depending
on the VMPS secure mode setting).
Multiple hosts (MAC addresses) can be active on a dynamic port if they are all in the same VLAN. If
the link goes down on a dynamic port, the port returns to an isolated state. Any hosts that come online
through the port are checked again with VMPS before the port is assigned to a VLAN.
Note The VTP management domain and the management VLAN of VMPS clients and the VMPS server
must be the same. For more information, see Chapter 10, “Configuring VTP,” and Chapter 11,
“Configuring VLANs.”
Note For an example ASCII text VMPS database configuration file, see the “VMPS Database
Configuration File Example” section on page 18-9.
Task Command
Step 1 Determine the MAC addresses of the hosts you show cam
want to be assigned to VLANs dynamically.
Step 2 Create an ASCII text file on your workstation or —
PC that contains the MAC address-to-VLAN
mappings.
Step 3 Move the ASCII text file to a TFTP server so it —
can be downloaded to the switch.
Configuring VMPS
When you enable VMPS, the switch downloads the VMPS database from the TFTP or rcp server and
begins accepting VMPS requests.
To configure VMPS, perform this task in privileged mode:
Task Command
Step 1 Specify the download method. set vmps downloadmethod rcp | tftp [username]
Step 2 Configure the IP address of the TFTP or rcp server set vmps downloadserver ip_addr [filename]
on which the ASCII text VMPS database
configuration file resides.
Step 3 Enable VMPS. set vmps state enable
Step 4 Verify the VMPS configuration. show vmps
Task Command
Step 1 Disable VMPS. set vmps state disable
Step 2 Verify that VMPS is disabled. show vmps
Task Command
Step 1 Specify the IP address of the VMPS server (the set vmps server ip_addr [primary]
switch with VMPS enabled).
Step 2 Verify the VMPS server specification. show vmps server
Step 3 Configure dynamic port VLAN membership set port membership mod/port dynamic
assignment to a port.
Step 4 Verify the dynamic port assignments. show port [mod[/port]]
This example shows how to specify the VMPS server, verify the VMPS server specification, assign
dynamic ports, and verify the configuration:
Console> (enable) show vmps server
VMPS domain server VMPS Status
---------------------------------------
192.0.0.6
192.0.0.1 primary
192.0.0.9
Console> (enable) set port membership 3/1-3 dynamic
Ports 3/1-3 vlan assignment set to dynamic.
Spantree port fast start option enabled for ports 3/1-3.
Console> (enable) set port membership 1/2 dynamic
Trunking port 1/2 vlan assignment cannot be set to dynamic.
Console> (enable) set port membership 2/1 dynamic
ATM LANE port 2/1 vlan assignment can not be set to dynamic.
Console> show port
Port Name Status Vlan Level Duplex Speed Type
1/1 connect dyn-3 normal full 100 100 BASE-TX
1/2 connect trunk normal half 100 100 BASE-TX
2/1 connect trunk normal full 155 OC3 MMF ATM
3/1 connect dyn-5 normal half 10 10 BASE-T
3/2 connect dyn-5 normal half 10 10 BASE-T
3/3 connect dyn-5 normal half 10 10 BASE-T
Console> (enable)
Note The show port command displays dyn- under the Vlan column of the display when it has not yet been
assigned a VLAN for a port.
Task Command
Show the VLAN to which a MAC address is show vmps mac [mac_address]
mapped in the database.
Show the MAC addresses that are mapped to a show vmps vlan [vlan_name]
VLAN in the database.
Show ports belonging to a restricted VLAN. show vmps vlanports [vlan_name]
Task Command
Show VMPS statistics. show vmps statistics
Task Command
Clear VMPS statistics. clear vmps statistics
Task Command
Clear a VMPS server entry. clear vmps server ip_addr
To reconfirm the dynamic port VLAN membership assignments, perform this task in privileged mode:
Task Command
Step 1 Reconfirm dynamic port VLAN membership. reconfirm vmps
Step 2 Verify the dynamic VLAN reconfirmation status. show dvlan statistics
This example shows how to reconfirm dynamic port VLAN membership assignments:
Console> (enable) reconfirm vmps
reconfirm process started
Use 'show dvlan statistics' to see reconfirm status
Console> (enable)
To download the VMPS database manually (to download a changed database configuration file or retry
after a failed download attempt), perform this task in privileged mode:
Task Command
Step 1 Download the VMPS database from the TFTP download vmps
server, or specify a different VMPS database
configuration file.
Step 2 Verify the VMPS database configuration file. show vmps
Task Command
Step 1 Configure static port VLAN membership set port membership mod/port static
assignment to a port.
Step 2 Verify the static port assignments. show port [mod[/port]]
This example shows how to return a port to static VLAN port membership:
Console> (enable) set port membership 3/1 static
Port 3/1 vlan assignment set to static.
Console> (enable)
Troubleshooting VMPS
Table 18-2 shows VMPS error messages you might see when you enter the set vmps state enable or the
download vmps command.
After VMPS successfully downloads the VMPS database configuration file, it parses the file and builds
a database. When the parsing is complete, VMPS outputs statistics about the total number of lines parsed
and the number of parsing errors.
To obtain more information on VMPS parsing errors, set the syslog level for VMPS to 3 using the set
logging level vmps 3 command.
!Port Groups
!
!vmps-port-group <group-name>
! device <device-id> { port <port-name> | all-ports }
!
vmps-port-group WiringCloset1
device 198.92.30.32 port 3/2
device 172.20.26.141 port 2/8
vmps-port-group “Executive Row”
device 198.4.254.222 port 1/2
device 198.4.254.222 port 1/3
device 198.4.254.223 all-ports
!
!
!VLAN groups
!
!vmps-vlan-group <group-name>
! vlan-name <vlan-name>
!
vmps-vlan-group Engineering
vlan-name hardware
vlan-name software
!
!
!VLAN port Policies
!
!vmps-port-policies {vlan-name <vlan_name> | vlan-group <group-name> }
! { port-group <group-name> | device <device-id> port <port-name> }
!
vmps-port-policies vlan-group Engineering
port-group WiringCloset1
vmps-port-policies vlan-name Green
device 198.92.30.32 port 4/8
vmps-port-policies vlan-name Purple
device 198.4.254.22 port 1/2
port-group “Executive Row”
TFTP server
Catalyst 6500 series switches
Primary VMPS
Server 1 Switch 1
172.20.22.7
172.20.26.150
3/1 Client
Switch 2
End station 1 172.20.26.151
Catalyst 6000
Secondary VMPS
Server 2 Switch 3
172.20.26.152
Switch 4
Ethernet segment
172.20.26.153
Switch 5
172.20.26.154
Switch 6
172.20.26.155
Switch 7
172.20.26.156
Switch 8
172.20.26.157
Client
Switch 9
End station 2 172.20.26.158
Catalyst 6500
series switches
55908
Secondary VMPS
Server 3 Switch 10
172.20.26.159
b. Enable VMPS:
Console> (enable) set vmps state enable
After entering these commands, the file Bldg-G.db is downloaded to Switch 1. Switch 1 becomes the
VMPS server.
Step 2 Configure the VMPS server addresses on each VMPS client.
a. Configure the primary VMPS server IP address:
Console> (enable) set vmps server 172.20.26.150 primary
Step 4 Connect End Station 2 on port 3/1. When End Station 2 sends a packet, Switch 2 sends a query to the
primary VMPS server, Switch 1. Switch 1 responds with the VLAN to assign to port 3/1. Because
spanning tree PortFast mode is enabled by default on dynamic ports, port 3/1 connects immediately and
enters forwarding mode.
Step 5 Repeat Steps 2 and 3 to configure the VMPS server addresses and assign dynamic ports on each VMPS
client switch.
This section describes how to configure a dynamic port to belong to two VLANs—a native VLAN and
an auxiliary VLAN. This section uses the following terminology:
• Auxiliary VLAN—Separate VLAN for IP phones
• Native VLAN—Traditional VLAN for data
• Auxiliary VLAN ID—VLAN ID of an auxiliary VLAN
• Native VLAN ID—VLAN ID of a native VLAN
Prior to software release 6.2(1), dynamic ports could only belong to one VLAN. You could not enable the
dynamic port VLAN feature on ports that carried a native VLAN and an auxiliary VLAN.
With software release 6.2(1) and later releases, the dynamic ports can belong to two VLANs. The switch
port configured for connecting an IP phone can have separate VLANs configured for carrying:
• Voice traffic to and from the IP phone (auxiliary VLAN)
• Data traffic to and from the PC connected to the switch through the access port of the IP phone
(native VLAN)
These sections include configuration guidelines and examples:
• Configuration Guidelines, page 18-13
• Configuring Dynamic Port VLAN Membership with Auxiliary VLANs, page 18-13
Note For detailed information on auxiliary VLANs and Cisco voice-over-IP networks, see Chapter 44,
“Configuring a VoIP Network.”
Configuration Guidelines
These guidelines and restrictions apply to configuring dynamic port VLAN membership for auxiliary
VLANs:
• Configuration of the native VLAN ID is dynamic for the PC connected to the access port of the IP phone.
Configuration of the auxiliary VLAN ID is not dynamic; you need to configure it manually. As the
auxiliary VLAN ID is manually configured, the VMPS server is queried for packets coming from the PC,
not for packets coming from the IP phone.
• All packets except Cisco Discovery Protocol (CDP) packets from the IP phone are tagged with the
auxiliary VLAN ID. All packets tagged with the auxiliary VLAN ID are considered to be packets
from the phone and all other packets are considered to be packets from the PC.
• When configuring the auxiliary VLAN ID with 802.1p or untagged frames, you need to configure
the VMPS server with the IP phone’s MAC address (see the “Dynamic Port VLAN Membership with
VMPS Configuration Examples” section on page 18-9 for information on configuring VMPS).
• For dynamic ports, the auxiliary VLAN ID cannot be the same as the native VLAN ID assigned by
VMPS for the dynamic port.
• See the “Dynamic Port VLAN Membership and VMPS Configuration Guidelines” section on
page 18-3 prior to configuring any port.
This example shows that the auxiliary VLAN ID specified cannot be the same as the native VLAN ID:
Console> (enable) set port auxiliaryvlan 5/10 223
Auxiliary vlan cannot be set to 223 as PVID=223.
Console> (enable)
This chapter describes how to check switch port status and connectivity on the Catalyst 6000 family
switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Mod MAC-Address(es) Hw Fw Sw
--- -------------------------------------- ------ ---------- -----------------
1 00-50-f0-a8-26-b2 to 00-50-f0-a8-26-b3 1.4 5.1(1) 5.2(1)CSX
00-50-f0-a8-26-b0 to 00-50-f0-a8-26-b1
00-50-3e-8d-64-00 to 00-50-3e-8d-67-ff
2 00-50-54-6c-e9-a8 to 00-50-54-6c-e9-bf 1.3 4.2(0.24)V 5.2(1)CSX
3 00-50-54-6c-93-6c to 00-50-54-6c-93-73 1.4 4.2(0.24)V 5.2(1)CSX
4 00-50-54-bf-59-64 to 00-50-54-bf-59-93 0.103 4.2(0.24)V 5.2(1)CSX
5 00-50-f0-ac-30-54 to 00-50-f0-ac-30-83 1.0 4.2(0.24)V 5.2(1)CSX
Mod MAC-Address(es) Hw Fw Sw
--- -------------------------------------- ------ ---------- -----------------
4 00-50-54-bf-59-64 to 00-50-54-bf-59-93 0.103 4.2(0.24)V 5.2(1)CSX
Console> (enable)
This example shows how to see information on the ports on a specific module only:
Console> (enable) show port 1
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
1/1 connected 1 full 1000 1000BaseSX
1/2 notconnect 1 full 1000 1000BaseSX
Last-Time-Cleared
--------------------------
Tue Jun 8 1999, 10:01:35
Console> (enable)
Last-Time-Cleared
--------------------------
Tue Jun 8 1999, 10:01:35
Console> (enable)
Using Telnet
You can access the switch command-line interface (CLI) using Telnet. In addition, you can use Telnet
from the switch to access other devices in the network. Up to eight simultaneous Telnet sessions are
possible.
To Telnet to another device on the network from the switch, perform this task in privileged mode:
Task Command
Open a Telnet session with a remote host. telnet host [port]
This example shows how to Telnet from the switch to a remote host:
Console> (enable) telnet labsparc
Trying 172.16.10.3...
Connected to labsparc.
Escape character is '^]'.
login:
The Secure Shell encryption feature provides security for Telnet sessions to the switch. Secure Shell
encryption is supported for remote logins to the switch only. Telnet sessions initiated from the switch
cannot be encrypted. To use this feature, you must install the application on the client accessing the
switch, and you must configure Secure Shell encryption on the switch.
The current implementation of Secure Shell encryption supports SSH version 1, the DES and 3DES
encryption methods, and can be used with RADIUS and TACACS+ authentication. To configure
authentication with Secure Shell encryption, use the telnet keyword in the set authentication
commands.
Note If you are using Kerberos to authenticate to the switch, you will not be able to use the Secure Shell
encryption feature.
To enable Secure Shell encryption on the switch, perform this task in privileged mode:
Task Command
Create the RSA host key. set crypto key rsa nbits [force]
The nbits value specifies the RSA key size. The valid key size range is 512 to 2048 bits. A key size with a
larger number provides higher security but takes longer to generate.
You can enter the optional force keyword to regenerate the keys and suppress the warning prompt of
overwriting existing keys.
Task Command
Display the currently active user sessions on the show users [noalias]
switch.
This example shows the output of the show users command when local authentication is enabled for
console and Telnet sessions (the asterisk [*] indicates the current session):
Console> (enable) show users
Session User Location
-------- ---------------- -------------------------
console
telnet sam-pc.bigcorp.com
* telnet jake-mac.bigcorp.com
Console> (enable)
This example shows the output of the show users command when TACACS+ authentication is enabled
for console and Telnet sessions:
Console> (enable) show users
Session User Location
-------- ---------------- -------------------------
console sam
telnet jake jake-mac.bigcorp.com
telnet tim tim-nt.bigcorp.com
* telnet suzy suzy-pc.bigcorp.com
Console> (enable)
This example shows how to display information about user sessions using the noalias keyword to
display the IP addresses of connected hosts:
Console> (enable) show users noalias
Session User Location
-------- ---------------- -------------------------
console
telnet 10.10.10.12
* telnet 10.10.20.46
Console> (enable)
Task Command
Disconnect an active user session on the switch. disconnect {console | ip_addr}
This example shows how to disconnect an active console port session and an active Telnet session:
Console> (enable) show users
Session User Location
-------- ---------------- -------------------------
console sam
telnet jake jake-mac.bigcorp.com
telnet tim tim-nt.bigcorp.com
* telnet suzy suzy-pc.bigcorp.com
Console> (enable) disconnect console
Console session disconnected.
Console> (enable) disconnect tim-nt.bigcorp.com
Telnet session from tim-nt.bigcorp.com disconnected. (1)
Console> (enable) show users
Session User Location
-------- ---------------- -------------------------
telnet jake jake-mac.bigcorp.com
* telnet suzy suzy-pc.bigcorp.com
Console> (enable)
Using Ping
These sections describe how to use IP ping:
• Understanding How Ping Works, page 19-7
• Executing Ping, page 19-8
Executing Ping
To ping another device on the network from the switch, perform one of these tasks in normal or
privileged mode:
Task Command
Ping a remote host. ping host
Ping a remote host using ping options. ping -s host [packet_size] [packet_count]
This example shows how to ping a remote host from normal executive mode:
Console> ping labsparc
labsparc is alive
Console> ping 72.16.10.3
12.16.10.3 is alive
Console>
This example shows how to ping a remote host using the ping -s option:
Console> ping -s 12.20.5.3 800 10
PING 12.20.2.3: 800 data bytes
808 bytes from 12.20.2.3: icmp_seq=0. time=2 ms
808 bytes from 12.20.2.3: icmp_seq=1. time=3 ms
808 bytes from 12.20.2.3: icmp_seq=2. time=2 ms
808 bytes from 12.20.2.3: icmp_seq=3. time=2 ms
808 bytes from 12.20.2.3: icmp_seq=4. time=2 ms
808 bytes from 12.20.2.3: icmp_seq=5. time=2 ms
808 bytes from 12.20.2.3: icmp_seq=6. time=2 ms
808 bytes from 12.20.2.3: icmp_seq=7. time=2 ms
808 bytes from 12.20.2.3: icmp_seq=8. time=2 ms
808 bytes from 12.20.2.3: icmp_seq=9. time=3 ms
This example shows how to enter a ping command in privileged mode specifying the number of packets,
the packet size, and the timeout period:
Console> (enable) ping
Target IP Address []: 12.20.5.19
Number of Packets [5]: 10
Datagram Size [56]: 100
Timeout in seconds [2]: 10
Source IP Address [12.20.2.18]: 12.20.2.18
!!!!!!!!!!
Task Command
(Optional) Trace a Layer 2 path using MAC l2trace {src-mac-addr} {dest-mac-addr} [vlan] [detail]
addresses.
(Optional) Trace a Layer 2 path using l2trace {src-ip-addr} {dest-ip-addr} [detail]
IP addresses or IP aliases.
This example shows the source and destination MAC addresses specified, with no VLAN specified, and
the detail option specified. For each Catalyst 5000 and 6000 family switch found in the path, the output
shows the device type, device name, device IP address, in port name, in port speed, in port duplex mode,
out port name, out port speed, and out port duplex mode.
Console> (enable) l2trace 00-01-22-33-44-55 10-22-33-44-55-66 detail
00-01-22-33-44-55 found in C5500 named wiring-1 on port 4/1 10Mb half duplex
C5500:wiring-1:192.168.242.10:4/1 10Mb half duplex -> 5/2 100MB full duplex
C5000:backup-wiring-1:192.168.242.20:1/1 100Mb full duplex -> 3/1 100MB full duplex
C5000:backup-core-1:192.168.242.30:4/1 100 MB full duplex -> 1/1 100MB full duplex
C6000:core-1:192.168.242.40:1/1 100MB full duplex -> 2/1 10MB half duplex.
10-22-33-44-55-66 found in C6000 named core-1 on port 2/1 10MB half duplex.
Using IP Traceroute
The IP Traceroute utility allows you to identify the path that packets take through the network at Layer 3
on a hop-by-hop basis. The command output displays all network layer (Layer 3) devices, such as
routers, that the traffic passes through on the way to the destination.
These sections describe how to use IP Traceroute:
• Understanding How IP Traceroute Works, page 19-10
• Executing IP Traceroute, page 19-11
To determine when a datagram reaches its destination, traceroute sets the UDP destination port in the
datagram to a very large value which the destination host is unlikely to be using. When a host receives
a datagram with an unrecognized port number, it sends an ICMP port unreachable error to the source.
This message indicates to the traceroute facility that it has reached the destination.
Switches can participate as the source or destination of the traceroute command but will not appear as
a hop in the traceroute command output.
Executing IP Traceroute
To trace the path that packets take through the network, perform this task in privileged mode:
Task Command
Execute IP traceroute to trace the Layer 3 path traceroute [-n] [-w wait_time] [-i initial_ttl]
that packets take through the network. [-m max_ttl] [-p dest_port] [-q nqueries] [-t tos]
host [data_size]
This example shows how to perform a traceroute with six queries to each hop with packets of
1400 bytes each:
Console> (enable) traceroute -q 6 10.1.1.100 1400
traceroute to 10.1.1.100 (10.1.1.100), 30 hops max, 1440 byte packets
1 10.1.1.1 (10.1.1.1) 2 ms 2 ms 2 ms 1 ms 2 ms 2 ms
2 10.1.1.100 (10.1.1.100) 2 ms 4 ms 3 ms 3 ms 3 ms 3 ms
Console> (enable)
This chapter describes how to perform various administrative tasks on the Catalyst 6000 family
switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
If the DNS lookup is successful, the DNS host name of the switch is configured as the system name of
the switch and is saved in NVRAM (the domain name is removed).
If you have not configured a system prompt, the first 20 characters of the system name are used as the
system prompt (a greater-than symbol [>] is appended). The prompt is updated whenever the system
name changes, unless you manually configure the prompt using the set prompt command.
The switch performs a DNS lookup for the system name whenever one of the following occurs:
• The switch is initialized (power on or reset)
• You configure the IP address on the sc0 interface using the command-line interface (CLI) or Simple
Network Management Protocol (SNMP)
• You configure a route using the set ip route command
• You clear the system name using the set system name command
• You enable DNS or specify DNS servers
If the system name is user configured, no DNS lookup is performed.
Task Command
Set the static system name. set system name name_string
Note When you set the system name, the system name is used as the system prompt. You can override the
prompt string with the set prompt command.
This example shows how to configure the system name on the switch:
Console> (enable) set system name Catalyst 6000
System name set.
Catalyst 6000> (enable)
Task Command
Set the static system prompt. set prompt prompt_string
This example shows how to set the static system prompt on the switch:
Console> (enable) set prompt Catalyst6509>
Catalyst6509> (enable)
Task Command
Clear the system name. set system name
Task Command
Step 1 Set the system contact. set system contact [contact_string]
Step 2 Set the system location. set system location [location_string]
Step 3 Verify the global system information. show system
This example shows how to set the system contact and location and verify the configuration:
Catalyst 6000> (enable) set system contact [email protected]
System contact set.
Catalyst 6000> (enable) set system location Sunnyvale CA
System location set.
Catalyst 6000> (enable) show system
PS1-Status PS2-Status Fan-Status Temp-Alarm Sys-Status Uptime d,h:m:s Logout
---------- ---------- ---------- ---------- ---------- -------------- ---------
ok none ok off ok 0,04:04:07 20 min
Task Command
Step 1 Set the system clock. set time [day_of_week] [mm/dd/yy] [hh:mm:ss]
Step 2 Display the current date and time. show time
This example shows how to set the system clock and display the current date and time:
Console> (enable) set time Mon 06/15/98 12:30:00
Mon Jun 15 1998, 12:30:00
Console> (enable) show time
Mon Jun 15 1998, 12:30:02
Console> (enable)
Task Command
Step 1 Enter the message of the day. set banner motd c message_of_the_day c
Step 2 Display the login banner by logging out and
logging back into the switch.
This example shows how to configure the login banner on the switch using the # symbol as the beginning
and ending delimiter:
Console> (enable) set banner motd #
Welcome to the Catalyst 6000 Switch!
Unauthorized access prohibited.
Contact [email protected] for access.
#
MOTD banner set
Console> (enable)
Task Command
Clear the message of the day. set banner motd cc
Task Command
Step 1 Define a command alias on the switch. set alias name command [parameter] [parameter]
Step 2 Verify the currently defined command aliases. show alias [name]
This example shows how to define two command aliases, sm8 and sp8. sm8 issues the show module 8
command, and sp8 issues the show port 8 command. This example also shows how to verify the
currently defined command aliases and what happens when you enter the command aliases at the
command line:
Console> (enable) set alias sm8 show module 8
Command alias added.
Console> (enable) set alias sp8 show port 8
Command alias added.
Console> (enable) show alias
sm8 show module 8
sp8 show port 8
Console> (enable) sm8
Mod Module-Name Ports Module-Type Model Serial-Num Status
--- ------------------- ----- --------------------- --------- --------- -------
8 2 DS3 Dual PHY ATM WS-X5166 007243262 ok
Mod MAC-Address(es) Hw Fw Sw
--- -------------------------------------- ------ ---------- -----------------
8 00-60-2f-45-26-2f 2.0 1.3 51.1(103)
Console> (enable) sp8
Port Name Status Vlan Level Duplex Speed Type
----- ------------------ ---------- ---------- ------ ------ ----- ------------
8/1 notconnect trunk normal full 45 DS3 ATM
8/2 notconnect trunk normal full 45 DS3 ATM
Port ifIndex
----- -------
8/1 285
8/2 286
Last-Time-Cleared
--------------------------
Thu Sep 10 1998, 16:56:08
Console> (enable)
Defining IP Aliases
You can use the set ip alias command to define textual aliases for IP addresses. IP aliases can make it
easier to refer to other network devices when using ping, telnet, and other commands, even when DNS
is not enabled.
The name argument defines the IP alias. The ip_addr argument defines the IP address to which the name
refers.
To define an IP alias on the switch, perform this task in privileged mode:
Task Command
Step 1 Define an IP alias on the switch. set ip alias name ip_addr
Step 2 Verify the currently defined IP aliases. show ip alias [name]
This example shows how to define two IP aliases, sparc and cat6509. sparc refers to IP address
172.20.52.3, and cat6509 refers to IP address 172.20.52.71. This example also shows how to verify the
currently defined IP aliases and what happens when you use the IP aliases with the ping command:
Console> (enable) set ip alias sparc 172.20.52.3
IP alias added.
Console> (enable) set ip alias cat6509 172.20.52.71
IP alias added.
Console> (enable) show ip alias
default 0.0.0.0
sparc 172.20.52.3
cat6509 172.20.52.71
Console> (enable) ping sparc
sparc is alive
Console> (enable) ping cat6509
cat6509 is alive
Console> (enable)
In some situations, you might need to add a static routing table entry for one or more destination
networks. Static route entries consist of the destination IP network address, the IP address of the next
hop router, and the metric (hop count) for the route.
The destination IP network address can be variably subnetted to support Classless Interdomain Routing
(CIDR). You can specify the subnet mask (netmask) for a destination network using the number of
subnet bits or using the subnet mask in dotted decimal format. If no subnet mask is specified, the default
(classful) mask is used.
The switch forwards IP traffic generated by the switch using the longest address match in the IP routing
table. The switch does not use the IP routing table to forward traffic from connected devices, only IP
traffic generated by the switch itself (for example, Telnet, TFTP, and ping).
To configure a static route, perform this task in privileged mode:
Task Command
Step 1 Configure a static route to the remote network. set ip route destination[/netmask] gateway
[metric]
Step 2 Verify that the static route appears correctly in the show ip route
IP routing table.
This example shows how to configure a static route on the switch and how to verify that the route is
configured properly in the routing table:
Console> (enable) set ip route 172.16.16.0/20 172.20.52.127
Route added.
Console> (enable) show ip route
Fragmentation Redirect Unreachable
------------- -------- -----------
enabled enabled enabled
Task Command
Step 1 Configure a static or permanent ARP entry. set arp [dynamic | permanent | static] {ip_addr
hw_addr}
Step 2 (Optional) Specify the ARP aging time. set arp agingtime seconds
Step 3 Verify the ARP configuration. show arp
Task Command
Step 1 Clear a dynamic, static, or permanent ARP entry. clear arp [dynamic | permanent | static]
{ip_addr hw_addr}
Step 2 Verify the ARP configuration. show arp
This example shows how to clear all permanent ARP entries and verify the configuration:
Console> (enable) clear arp permanent
Permanent ARP entries cleared.
Console> (enable)
Console> (enable) show arp
ARP Aging time = 300 sec
+ - Permanent Arp Entries
* - Static Arp Entries
172.20.52.1 at 00-60-5c-86-5b-28 port 8/1 on vlan 1
* 20.1.1.1 at 00-80-1c-93-80-40 port 8/1 on vlan 1
Console> (enable)
Task Command
Step 1 Schedule the reset time at a specific time. reset [mindown] at {hh:mm} [mm/dd] [reason]
Step 2 Verify the scheduled reset. show reset
Note The minimum downtime argument is valid only if the system has a standby supervisor engine.
This example shows how to schedule a reset at a specific time and include a reason for the reset:
Console> (enable) reset at 23:00 8/18 Software upgrade to 5.3(1).
Reset scheduled at 23:00:00, Wed Aug 18 1999.
Reset reason: Software upgrade to 5.3(1).
Proceed with scheduled reset? (y/n) [n]? y
Reset scheduled for 23:00:00, Wed Aug 18 1999 (in 0 day 8 hours 39 minutes).
Console> (enable)
To schedule a reset within a specified time, perform this task in privileged mode:
Task Command
Step 1 Schedule the reset time within a specific amount reset [mindown] in [hh] {mm} [reason]
of time.
Step 2 Verify the scheduled reset. show reset
Note The minimum downtime argument is valid only if the system has a standby supervisor engine.
Power Management
This section describes power management in the Catalyst 6000 family switches and includes the
following information:
• Enabling or Disabling Power Redundancy, page 20-11
• Using the CLI to Power Modules Up or Down, page 20-13
• Determining System Power Requirements, page 20-14
Note In systems with redundant power supplies, both power supplies must be of the same wattage. The
Catalyst 6000 family switches allow you to mix AC-input and DC-input power supplies in the same
chassis. For detailed information on supported power supply configurations for each chassis, refer to
the Catalyst 6000 Family Installation Guide.
Catalyst 6000 family modules have different power requirements and, depending upon the wattage of
the power supply, certain switch configurations might require more power than a single power supply
can provide. Although the power management feature allows you to power all installed modules with
two power supplies, redundancy is not supported in this configuration. Redundant and nonredundant
power configurations are discussed in the following sections.
turn on two power supplies of equal wattage, each concurrently provides approximately half of the
required power to the system. Load sharing and redundancy are enabled automatically; no software
configuration is required.
With redundancy enabled, if you power up the system with two power supplies of unequal wattage, both
power supplies come online but a syslog message displays that the lower wattage power supply will be
disabled. If the active power supply fails, the lower wattage power supply that was disabled comes
online and, if necessary, modules are powered down to accommodate the lower wattage power supply.
In a nonredundant configuration, the power available to the system is the combined power capability of
both power supplies. The system powers up as many modules as the combined capacity allows.
However, if one supply should fail and there is not enough power for all previously powered up modules,
the system powers down some modules. These modules are marked as power-deny in the show module
Status field.
You can change the configuration of the power supplies to redundant or nonredundant at any time. If
you switch from a redundant to a nonredundant configuration, both power supplies are enabled (even a
power supply that was disabled because it was of a lower wattage than the other power supply). If you
change from a nonredundant to a redundant configuration, both power supplies are initially enabled, and
if they are of the same wattage, remain enabled. If they are of different wattage, a syslog message
displays and the lower wattage supply is disabled.
Table 20-1 describes how the system responds to changes in the power supply configuration.
Note Enter the show environment power command to display current system power usage.
Environmental Monitoring
Environmental monitoring of chassis components provides early warning indications of possible
component failure to ensure safe and reliable system operation and avoid network interruptions. This
section describes how to monitor these critical system components, enabling you to identify and rapidly
correct hardware-related problems in your system.
The following sections describe the environmental monitors:
• Environmental Monitoring Using CLI Commands, page 20-16
• LED Indications, page 20-16
LED Indications
There are two alarm types, major and minor. Major alarms indicate a critical problem that could lead to
the system being shut down. Minor alarms are for informational purposes only, giving you notice of a
problem that could turn critical if corrective action is not taken.
When the system has an alarm (major or minor), indicating an overtemperature condition, the alarm is
not canceled or any action taken (such as a module reset or shutdown) for 5 minutes. If the temperature
falls 5°C (41°F) below the alarm threshold during this period, the alarm is canceled.
Table 20-3 lists the environmental indicators for the supervisor engine and switching modules.
Note For additional information on LED indications, refer to the Catalyst 6000 Family Module Installation
Guide.
Table 20-3 Environmental Monitoring for Supervisor Engine and Switching Modules
Alarm
Component Type LED Indication Action
2 3
Supervisor engine Major STATUS LED red syslog message and SNMP trap
temperature sensor exceeds generated.
major threshold1
If redundancy, system switches to
redundant supervisor engine and the
active supervisor engine shuts down.
If there is no redundancy and the
overtemperature condition is not
corrected, the system shuts down after
5 minutes.
Supervisor engine Minor STATUS LED syslog message and SNMP trap
temperature sensor exceeds orange generated.
minor threshold
Monitor the condition.
Redundant supervisor engine Major STATUS LED red syslog message and SNMP trap
temperature sensor exceeds generated.
major or minor threshold If major alarm and the overtemperature
condition is not corrected, the system
shuts down after 5 minutes.
Minor STATUS LED If minor alarm, monitor the condition.
orange
Switching module Major STATUS LED red syslog message and SNMP trap
temperature sensor exceeds generated.
major threshold
Power down the module4.
Switching module Minor STATUS LED syslog message and SNMP trap
temperature sensor exceeds orange generated.
minor threshold
Monitor the condition.
1. Temperature sensors monitor key supervisor engine components including daughter cards.
2. A STATUS LED is located on the supervisor engine front panel and all module front panels.
3. The STATUS LED is red on the failed supervisor engine. If there is no redundant supervisor, the SYSTEM LED is red also.
4. See the “Power Management” section on page 20-11 for instructions.
Task Command
Generate a system status report that write tech-support {host} {filename} [module mod] [port
you can send to TAC. mod/port] [vlan vlan] [memory] [config]
This example shows a report sent to host 172.20.32.10 to a filename you supply. No keywords are
specified, so the complete status of the switch will be included in the report.
Console> (enable) write tech-support 172.20.32.10 tech.txt
Upload tech-report to tech.txt on 172.20.32.10 (y/n) [n]? y
/
Finished network upload. (67784 bytes)
Console> (enable)
Task Command
Enable or disable the core dump set system core-dump {enable | disable}
feature.
The size of the file system depends on the size of your memory card. An error process will generate a
core image that is proportional to the size of the system DRAM. Make sure that you have enough
memory available to store the core dump file.
Task Command
Specify the core image filename. set system core-file {device:filename}
Task Command
Display the stack dump. show log
The following is an example of an image stack that may display after you enter the show log command:
Breakpoint Exception occurred.
Software version = 6.2(0.83)
Process ID #52, Name
= Console
EPC: 807523F4
Stack content:
sp+00: 00000000 80A75698 00000005 00000005
sp+10: BE000A00 00000000 83F84150 801194B8
sp+20: 80A75698 80A74BC8 80C8DBDC 000006E8
sp+30: 8006AF30 8006AE98 82040664 00000630
sp+40: 801AC744 801AC734 80A32488 80A32484
sp+50: 80A3249C 00000000 00000002 000009E4
sp+60: 8204067B 82040670 8011812C 81CAFC98
sp+70: 8011814C 82040670 8011812C 81CAFC98
sp+80: 00000002 000009E4 80110160 80110088
sp+90: 82040670 80A71EB4 81F1E9F8 00000004
sp+A0: 00000000 81F25EAC 81FF5750 00000000
sp+B0: 00000000 00000000 81F1E314 800840BC
sp+C0: 0000000B 80084EB0 00000001 8073A358
sp+D0: 00000003 0000000D 00000000 0000000A
sp+E0: 00000020 00000000 800831B4 0000001A
sp+F0: 00000000 00000000 00000000 000D84F0
Register content:
Status: 3401FC23 Cause: 00000024
AT: 81640000
V0: 00000007 V1: 00000007
A0: 00000000 A1: 80A756A6
A2: 00000011 A3: BE000BD0
T0: BFFFFFFE T1: 80000000
T2: 00000000 T3: 00000001
T4: 00000000 T5: 00000007
T6: 00000000 T7: 00000000
S0: 00000001 S1: 00000032
S2: 81F1E9F8 S3: 80A74BC8
S4: 80C8DBDC S5: 000006E8
S6: 00000000 S7: 00000000
T8: F0D09E3A T9: 82940828
K0: 3041C001 K1: 80C73038
GP: 811F39C0 SP: 83F84010
S8: 83F84010 RA: 807523F4
HIGH: 00000001 LOW: D5555559
BADVADDR: 7DFF7FFF ERR EPC: 58982466
GDB: Breakpoint Exception
GDB: The system has trapped into the debugger.
GDB: It will hang until examined with gdb.
This chapter describes how to configure authentication, authorization, and accounting (AAA) to monitor
and control access to the command-line interface (CLI) on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Authentication Overview
You can configure any combination of these authentication methods to control access to the switch:
• Login authentication
• Local authentication
• RADIUS authentication
• TACACS+ authentication
• Kerberos authentication
• 802.1x authentication
Note Kerberos authentication does not work if TACACS+ is used as the authentication method.
When you enable local authentication with one or more other authentication methods, local
authentication is always attempted last. However, you can specify different authentication methods
for console and Telnet connections. For example, you might use local authentication for console
connections and RADIUS authentication for Telnet connections.
Note For more information about how the RADIUS protocol operates, refer to RFC 2138, “Remote
Authentication Dial In User Service (RADIUS).”
Term Definition
Kerberized Applications and services that have been modified to support the
Kerberos credential infrastructure.
Kerberos credential General term referring to authentication tickets, such as ticket granting
tickets (TGTs) and service credentials. Kerberos credentials verify the
ticket of a user or service. If a network service decides to trust the
Kerberos server that issued the ticket, the Kerberos credential can be
used in place of retyping in a username and password. Credentials have
a default life span of eight hours.
Kerberos identity (See Kerberos principal.)
Kerberos principal The Kerberos principal is who you are or what a service is according to
the Kerberos server. (Also known as a Kerberos identity.)
Kerberos realm A domain consisting of users, hosts, and network services that are
registered to a Kerberos server. The Kerberos server is trusted to verify
the identity of a user or network service to another user or network
service. Kerberos realms must always be in uppercase characters.
Kerberos server A daemon running on a network host. Users and network services
register their identity with the Kerberos server. Network services query
the Kerberos server to authenticate to other network services.
Key distribution center A Kerberos server and database program running on a network host that
(KDC) allocates the Kerberos credentials to different users or network services.
Service credential A credential for a network service. When issued from the KDC, this
credential is encrypted with the password shared by the network service
and the KDC and with the user’s TGT.
SRVTAB A password that a network service shares with the KDC. The network
service authenticates an encrypted service credential by using the
SRVTAB (also known as a KEYTAB) to decrypt it.
Ticket granting ticket A credential that the KDC issues to authenticated users. When users
(TGT) receive a TGT, they can authenticate to network services within the
Kerberos realm represented by the KDC.
In the Catalyst 6000 family switches, Telnet clients and servers through both the console and in-band
management port can be Kerberized.
Note Kerberos authentication does not work if TACACS+ is used as the authentication mechanism.
Note If you are logged in to the console through a modem or a terminal server, you cannot use a Kerberized
login procedure.
5
6
6000
30794
Note A non-Kerberized login can be performed through a modem or terminal server through the in-band
management port. Telnet does not support non-Kerberized login.
Host
(Telnet client) Kerberos server
(contains KDC)
1 2
3
55510
Catalyst switch
802.1x controls network access by creating two distinct virtual access points at each port. One access
point is an uncontrolled port; the other is a controlled port. All traffic through the single port is available
to both access points. Only EAPOL traffic is allowed to pass through the uncontrolled port, which is
always open. The controlled port is open only when the device connected to the port has been authorized
by 802.1x. After this authorization takes place, the controlled port opens, allowing normal traffic to pass.
Table 21-2 defines the terms used in 802.1x.
Term Definition
Authenticator PAE (Referred to as the “authenticator”) entity at one end of a
point-to-point LAN segment that enforces supplicant authentication.
The authenticator is independent of the actual authentication method
and functions only as a pass-through for the authentication exchange.
It communicates with the supplicant, submits the information from
the supplicant to the authentication server, and authorizes the
supplicant when instructed to do so by the authentication server.
Authentication server Entity that provides the authentication service for the authenticator
PAE. It checks the credentials of the supplicant PAE and then notifies
its client, the authenticator PAE, whether the supplicant PAE is
authorized to access the LAN/switch services.
Authorized state Status of the port after the supplicant PAE is authorized.
Both Bidirectional flow control, incoming and outgoing, at an
unauthorized switch port.
Controlled port Secured access point.
EAP Extensible Authentication Protocol.
1
EAPOL Encapsulated EAP messages that can be handled directly by a LAN
MAC service.
In Flow control only on incoming frames in an unauthorized switch port.
Port Single point of attachment to the LAN infrastructure (for example,
MAC bridge ports).
PAE2 Protocol object associated with a specific system port.
PDU Protocol data unit.
RADIUS Remote Access Dial-In User Service.
Supplicant PAE (Referred to as the “supplicant”) entity that requests access to the
LAN/switch services and responds to information requests from the
authenticator.
Unauthorized state Status of the port before the supplicant PAE is authorized.
Uncontrolled port Unsecured access point that allows the uncontrolled exchange of
PDUs.
1. EAPOL=Extensible Authorization Protocol over LAN
2. PAE=port access entity
Traffic Control
You can restrict traffic in both directions or just incoming traffic.
Authentication Server
The frames exchanged between the authenticator and the authentication server are dependent on the
authentication mechanism, so they are not defined by the 802.1x standard. You can use other protocols,
but we recommend RADIUS for authentication, particularly when the authentication server is located
remotely, because RADIUS has extensions that support encapsulation of EAP frames built into it.
Configuring Authentication
These sections describe how to configure the different authentication methods:
• Authentication Default Configuration, page 21-10
• Authentication Configuration Guidelines, page 21-11
• Configuring Login Authentication, page 21-12
• Configuring Local Authentication, page 21-13
• Configuring TACACS+ Authentication, page 21-17
• Configuring RADIUS Authentication, page 21-23
• Configuring Kerberos Authentication, page 21-31
• Configuring 802.1x Authentication, page 21-40
• Authentication Example, page 21-48
Task Command
Step 1 Enable login attempt limits on the switch. Enter set authentication login attempt {count}
the console or telnet keyword if you want to [console | telnet]
enable local authentication only for the console
port or for Telnet connection attempts.
Step 2 Enable the login lockout time on the switch. Enter set authentication login lockout {time} [console
the console or telnet keyword if you want to | telnet]
enable local authentication only for the console
port or for Telnet connection attempts.
Step 3 Verify the local authentication configuration. show authentication
This example shows how to limit login attempts to five, set the lockout time for both console and Telnet
connections to 50 seconds, and verify the configuration:
Console> (enable) set authentication login attempt 5
Login authentication attempts for console and telnet logins set to 5.
Console> (enable) set authentication login lockout 50
Login lockout time for console and telnet logins set to 50.
Console> (enable) show authentication
Task Command
Step 1 Enable the login attempt limits for privileged set authentication enable attempt {count}
mode. Enter the console or telnet keyword if you [console | telnet]
want to enable local authentication only for the
console port or for Telnet connection attempts.
Step 2 Enable the login lockout time for privileged set authentication enable lockout {time}
mode. Enter the console or telnet keyword if you [console | telnet]
want to enable local authentication only for the
console port or for Telnet connection attempts.
Step 3 Verify the local authentication configuration. show authentication
This example shows how to limit enable mode login attempts to five, set the enable mode lockout time
for both console and Telnet connections to 50 seconds, and verify the configuration:
Console> (enable) set authentication enable attempt 5
Enable mode authentication attempts for console and telnet logins set to 5.
Console> (enable) set authentication enable lockout 50
Enable mode lockout time for console and telnet logins set to 50.
Console> (enable) show authentication
Note Local login and enable authentication are enabled for both console and Telnet connections by default.
You do not need to perform this task unless you want to modify the default configuration or you have
disabled local authentication.
To enable local authentication on the switch, perform this task in privileged mode:
Task Command
Step 1 Enable local login authentication on the switch. set authentication login local enable [all |
Enter the console or telnet keyword if you want to console | http | telnet]
enable local authentication only for console port
or Telnet connection attempts.
Step 2 Enable local enable authentication on the switch. set authentication enable local enable [all |
Enter the console or telnet keyword if you want to console | http | telnet]
enable local authentication only for console port
or Telnet connection attempts.
Step 3 Verify the local authentication configuration. show authentication
This example shows how to enable local login, how to enable authentication for both console and Telnet
connections, and how to verify the configuration:
Console> (enable) set authentication login local enable
local login authentication set to enable for console and telnet session.
Console> (enable) set authentication enable local enable
local enable authentication set to enable for console and telnet session.
Console> (enable) show authentication
Note Passwords set in releases prior to software release 5.4 remain non-case sensitive. You must reset the
password after installing software release 5.4 to activate case sensitivity.
To set the login password for local authentication, perform this task in privileged mode:
Task Command
Set the login password for access. Enter your old set password
password (press Return on a switch with no
password configured), enter your new password,
and reenter your new password.
This example shows how to set the login password on the switch:
Console> (enable) set password
Enter old password: <old_password>
Enter new password: <new_password>
Retype new password: <new_password>
Password changed.
Console> (enable)
Note Passwords set in releases prior to software release 5.4 remain non-case sensitive. You must reset the
password after installing software release 5.4 to activate case sensitivity.
To set the enable password for local authentication, perform this task in privileged mode:
Task Command
Set the password for privileged mode. Enter your set enablepass
old password (press Return on a switch with no
password configured), enter your new password,
and reenter your new password.
This example shows how to set the enable password on the switch:
Console> (enable) set enablepass
Enter old password: <old_password>
Enter new password: <new_password>
Retype new password: <new_password>
Password changed.
Console> (enable)
Caution Make sure that RADIUS or TACACS+ authentication is configured and operating correctly before
disabling local login or enable authentication. If you disable local authentication and RADIUS or
TACACS+ is not configured correctly, or if the RADIUS or TACACS+ server is not online, you may
be unable to log in to the switch.
To disable local authentication on the switch, perform this task in privileged mode:
Task Command
Step 1 Disable local login authentication on the switch. set authentication login local disable [all |
Enter the console or telnet keyword if you want to console | http | telnet]
disable local authentication only for console port
or Telnet connection attempts.
Step 2 Disable local enable authentication on the switch. set authentication enable local disable [all |
Enter the console or telnet keyword if you want to console | http | telnet]
disable local authentication only for console port
or Telnet connection attempts.
Step 3 Verify the local authentication configuration. show authentication
Note You must have either RADIUS or TACACS+ authentication enabled before you disable local
authentication.
This example shows how to disable local login authentication, how to enable authentication for both
console and Telnet connections, and how to verify the configuration:
Console> (enable) set authentication login local disable
local login authentication set to disable for console and telnet session.
Console> (enable) set authentication enable local disable
local enable authentication set to disable for console and telnet session.
Console> (enable) show authentication
Step 1 Connect to the switch through the supervisor engine console port. You cannot recover the password if
you are connected through a Telnet connection.
Step 2 Enter the reset system command to reboot the switch.
Step 3 At the “Enter Password” prompt, press Return. The login password is null for 30 seconds when you are
connected to the console port.
Step 4 Enter privileged mode using the enable command.
Step 5 At the “Enter Password” prompt, press Return. (The enable password is null for 30 seconds when you
are connected to the console port.)
Step 6 Enter the set password or set enablepass command, as appropriate.
Step 7 When prompted for your old password, press Return.
Step 8 Enter and confirm your new password.
Task Command
Step 1 Specify the IP address of one or more TACACS+ set tacacs server ip_addr [primary]
servers.
Step 2 Verify the TACACS+ configuration. show tacacs
This example shows how to specify TACACS+ servers and verify the configuration:
Console> (enable) set tacacs server 172.20.52.3
172.20.52.3 added to TACACS server table as primary server.
Console> (enable) set tacacs server 172.20.52.2 primary
172.20.52.2 added to TACACS server table as primary server.
Console> (enable) set tacacs server 172.20.52.10
172.20.52.10 added to TACACS server table as backup server.
Console> (enable)
Note Specify at least one TACACS+ server before enabling TACACS+ authentication on the switch. For
information on specifying a TACACS+ server, see the “Specifying TACACS+ Servers” section on
page 21-17.
You can enable TACACS+ authentication for login and enable access to the switch. If desired, you can
use the console and telnet keywords to specify that TACACS+ authentication be used only on console
or Telnet connections. If you are using both RADIUS and TACACS+, you can use the primary keyword
to force the switch to try TACACS+ authentication first.
To enable TACACS+ authentication, perform this task in privileged mode:
Task Command
Step 1 Enable TACACS+ authentication for normal login set authentication login tacacs enable [all |
mode. Enter the console or telnet keyword if you console | http | telnet] [primary]
want to enable TACACS+ only for console port or
Telnet connection attempts.
Step 2 Enable TACACS+ authentication for enable set authentication enable tacacs enable [all |
mode. Enter the console or telnet keyword if you console | http | telnet] [primary]
want to enable TACACS+ only for console port or
Telnet connection attempts.
Step 3 Verify the TACACS+ configuration. show authentication
This example shows how to enable TACACS+ authentication for console and Telnet connections and
how to verify the configuration:
Console> (enable) set authentication login tacacs enable
tacacs login authentication set to enable for console and telnet session.
Note If you configure a TACACS+ key on the client, make sure you configure an identical key on the
TACACS+ server.
Task Command
Step 1 Specify the key used to encrypt packets. set tacacs key key
Step 2 Verify the TACACS+ configuration. show tacacs
This example shows how to specify the TACACS+ key and verify the configuration:
Console> (enable) set tacacs key Secret_TACACS_key
The tacacs key has been set to Secret_TACACS_key.
Console> (enable) show tacacs
Tacacs key: Secret_TACACS_key
Tacacs login attempts: 3
Tacacs timeout: 5 seconds
Tacacs direct request: disabled
Tacacs-Server Status
---------------------------------------- -------
172.20.52.3
172.20.52.2 primary
172.20.52.10
Console> (enable)
To specify the TACACS+ timeout interval, perform this task in privileged mode:
Task Command
Step 1 Specify the TACACS+ timeout interval. set tacacs timeout seconds
Step 2 Verify the TACACS+ configuration. show tacacs
This example shows how to specify the server timeout interval and verify the configuration:
Console> (enable) set tacacs timeout 30
Tacacs timeout set to 30 seconds.
Console> (enable) show tacacs
Tacacs key: Secret_TACACS_key
Tacacs login attempts: 3
Tacacs timeout: 30 seconds
Tacacs direct request: disabled
Tacacs-Server Status
---------------------------------------- -------
172.20.52.3
172.20.52.2 primary
172.20.52.10
Console> (enable)
Task Command
Step 1 Specify the number of allowed login attempts. set tacacs attempts number
Step 2 Verify the TACACS+ configuration. show tacacs
This example shows how to specify the number of login attempts and verify the configuration:
Console> (enable) set tacacs attempts 5
Tacacs number of attempts set to 5.
Console> (enable) show tacacs
Tacacs key: Secret_TACACS_key
Tacacs login attempts: 5
Tacacs timeout: 30 seconds
Tacacs direct request: disabled
Tacacs-Server Status
---------------------------------------- -------
172.20.52.3
172.20.52.2 primary
172.20.52.10
Console> (enable)
Task Command
Step 1 Enable TACACS+ directed request on the switch. set tacacs directedrequest enable
Step 2 Verify the TACACS+ configuration. show tacacs
This example shows how to enable TACACS+ directed request and verify the configuration:
Console> (enable) set tacacs directedrequest enable
Tacacs direct request has been enabled.
Console> (enable) show tacacs
Tacacs key: Secret_TACACS_key
Tacacs login attempts: 5
Tacacs timeout: 30 seconds
Tacacs direct request: enabled
Tacacs-Server Status
---------------------------------------- -------
172.20.52.3
172.20.52.2 primary
172.20.52.10
Console> (enable)
Task Command
Step 1 Disable TACACS+ directed request on the switch. set tacacs directedrequest disable
Step 2 Verify the TACACS+ configuration. show tacacs
Task Command
Step 1 Specify the IP address of the TACACS+ server to clear tacacs server [ip_addr | all]
clear from the configuration. Enter the all
keyword to clear all of the servers from the
configuration.
Step 2 Verify the TACACS+ server configuration. show tacacs
This example shows how to clear a specific TACACS+ server from the configuration:
Console> (enable) clear tacacs server 172.20.52.3
172.20.52.3 cleared from TACACS table
Console> (enable)
This example shows how to clear all TACACS+ servers from the configuration:
Console> (enable) clear tacacs server all
All TACACS servers cleared
Console> (enable)
Task Command
Step 1 Clear the TACACS+ key. clear tacacs key
Step 2 Verify the TACACS+ configuration. show tacacs
Task Command
Step 1 Disable TACACS+ authentication for normal set authentication login tacacs disable [all |
login mode. Enter the console or telnet keyword console | http | telnet]
if you want to disable TACACS+ only for console
port or Telnet connection attempts.
Step 2 Disable TACACS+ authentication for enable set authentication enable tacacs disable [all |
mode. Enter the console or telnet keyword if you console | http | telnet]
want to disable TACACS+ only for console port
or Telnet connection attempts.
Step 3 Verify the TACACS+ configuration. show authentication
This example shows how to disable TACACS+ authentication for console and Telnet connections and
how to verify the configuration:
Console> (enable) set authentication login tacacs disable
tacacs login authentication set to disable for console and telnet session.
Console> (enable) set authentication enable tacacs disable
tacacs enable authentication set to disable for console and telnet session.
Console> (enable) show authentication
Task Command
Step 1 Specify the IP address of up to three RADIUS set radius server ip_addr [auth-port port]
servers. Specify the primary server using the [primary]
primary keyword. Optionally, specify the
destination UDP port to use on the server.
Step 2 Verify the RADIUS server configuration. show radius
This example shows how to specify a RADIUS server and verify the configuration:
Console> (enable) set radius server 172.20.52.3
172.20.52.3 with auth-port 1812 added to radius server table as primary server.
Console> (enable) show radius
Note If you specify a RADIUS key on the client, make sure you specify an identical key on the RADIUS
server.
The RADIUS key is used to encrypt and authenticate all communication between the RADIUS client
and server. You must configure the same key on the client and the RADIUS server.
The length of the key is limited to 65 characters. It can include any printable ASCII characters except
tabs.
Task Command
Step 1 Specify the RADIUS key used to encrypt packets set radius key key
sent to the RADIUS server.
Step 2 Verify the RADIUS configuration. show radius
This example shows how to specify the RADIUS key and verify the configuration (in normal mode, the
RADIUS key value is hidden):
Console> (enable) set radius key Secret_RADIUS_key
Radius key set to Secret_RADIUS_key
Console> (enable) show radius
Login Authentication: Console Session Telnet Session
--------------------- ---------------- ----------------
tacacs disabled disabled
radius enabled(primary) enabled(primary)
local enabled enabled
Note Specify at least one RADIUS server before enabling RADIUS authentication on the switch. For
information on specifying a RADIUS server, see the “Specifying RADIUS Servers” section on
page 21-24.
You can enable RADIUS authentication for login and enable access to the switch. If desired, you can
enter the console or telnet keyword to specify that RADIUS authentication be used only on console or
Telnet connections. If you are using both RADIUS and TACACS+, you can use the primary keyword
to force the switch to try RADIUS authentication first.
To set up the RADIUS username and enable RADIUS authentication, perform this task in privileged
mode:
Step 1 Enable RADIUS authentication for normal login set authentication login radius enable [all |
mode. Enter the console or telnet keyword if you console | http | telnet] [primary]
want to enable RADIUS only for console port or
Telnet connection attempts.
Step 2 Enable RADIUS authentication for enable mode. set authentication enable radius enable [all |
Enter the console or telnet keyword if you want console | http | telnet] [primary]
to enable RADIUS only for console port or Telnet
connection attempts.
Step 3 Create a user $enab15$ on the RADIUS server, See the Note below for additional information.
and assign a password to that user.
Step 4 Verify the RADIUS configuration. show authentication
Note To use RADIUS authentication for enable mode, you will need to create a user $enab15$ on the
RADIUS server, and assign a password to that user. This user needs to be created in addition to your
assigned username and password on the RADIUS server (example: username john, password hello.)
After you log in to the Catalyst 6000 family switch with your assigned username and password
(john/hello), you can enter enable mode using the password assigned to the $enab15$ user.
If your RADIUS server does not support the $enab15$ username, you can set the service-type
attribute (attribute 6) to Administrative (value 6) for a RADUIS user to directly launch the user into
enable mode without asking for a separate enable password.
This example shows how to enable RADIUS authentication and verify the configuration:
Console> (enable) set authentication login radius enable
radius login authentication set to enable for console and telnet session.
Console> (enable) set authentication enable radius enable
radius enable authentication set to enable for console and telnet session.
Console> (enable) show authentication
Task Command
Step 1 Specify the RADIUS timeout interval. set radius timeout seconds
Step 2 Verify the RADIUS configuration. show radius
This example shows how to specify the RADIUS timeout interval and verify the configuration:
Console> (enable) set radius timeout 10
Radius timeout set to 10 seconds.
Console> (enable) show radius
Task Command
Step 1 Specify the RADIUS server retransmit count. set radius retransmit count
Step 2 Verify the RADIUS configuration. show radius
This example shows how to specify the RADIUS retransmit count and verify the configuration:
Console> (enable) set radius retransmit 4
Radius retransmit count set to 4.
Console> (enable) show radius
Task Command
Step 1 Specify the RADIUS server deadtime interval. set radius deadtime minutes
Step 2 Verify the RADIUS configuration. show radius
This example shows how to specify the RADIUS deadtime interval and verify the configuration:
Console> (enable) set radius deadtime 5
Radius deadtime set to 5 minute(s)
Console> (enable) show radius
Task Command
Step 1 Specify the IP address of the RADIUS server to clear radius server [ip_addr | all]
clear from the configuration. Enter the all
keyword to clear all of the servers from the
configuration.
Step 2 Verify the RADIUS server configuration. show radius
This example shows how to clear a single RADIUS server from the configuration:
Console> (enable) clear radius server 172.20.52.3
172.20.52.3 cleared from radius server table.
Console> (enable)
This example shows how to clear all RADIUS servers from the configuration:
Console> (enable) clear radius server all
All radius servers cleared from radius server table.
Console> (enable)
Task Command
Step 1 Clear the RADIUS key. clear radius key
Step 2 Verify the RADIUS configuration. show radius
This example shows how to clear the RADIUS key and verify the configuration:
Console> (enable) clear radius key
Radius key cleared.
Console> (enable) show radius
Task Command
Step 1 Disable RADIUS authentication for login mode. set authentication login radius disable [all |
console | http | telnet]
Step 2 Disable RADIUS authentication for enable mode. set authentication enable radius disable [all |
console | http | telnet]
Step 3 Verify the RADIUS configuration. show authentication
Note Kerberos authentication requires that NTP is enabled. Additionally, we recommend that you enable
DNS.
Step 1 Before you can enter the switch in the Kerberos server’s key table, you must create the database the KDC
will use. In the following example, a database called CISCO.EDU is created:
/usr/local/sbin/kdb5_util create -r CISCO.EDU -s
Step 2 Add the switch to the database. The following example adds a switch called Cat6509 to the CISCO.EDU
database:
ank host/[email protected]
Step 5 Using the admin.local ktadd command, create the database entry for the switch as follows:
ktadd host/[email protected]
Step 6 Move the keytab file to a place where the switch can reach it.
Enabling Kerberos
To enable Kerberos authentication, perform this task in privileged mode:
Task Command
Step 1 Specify Kerberos as the authentication method. set authentication login kerberos enable [all |
console | http | telnet] [primary]
Step 2 Verify the configuration. show authentication
This example shows how to enable Kerberos as the login authentication method for Telnet and verify
the configuration:
kerberos> (enable) set authentication login kerberos enable telnet
kerberos login authentication set to enable for telnet session.
kerberos> (enable) show authentication
This example shows how to enable Kerberos as the login authentication method for the console and
verify the configuration:
kerberos> (enable) set authentication login kerberos enable console
kerberos login authentication set to enable for console session.
kerberos> (enable) show authentication
Task Command
Define the default realm for the switch. set kerberos local-realm kerberos_realm
Note Make sure the realm is entered in uppercase letters. Kerberos will not authenticate users if the realm
is entered in lowercase letters.
This example shows how to define a local realm and how to verify the configuration:
kerberos> (enable) set kerberos local-realm CISCO.COM
Kerberos local realm for this switch set to CISCO.COM.
kerberos> (enable) show kerberos
Kerberos Local Realm:CISCO.COM
Kerberos server entries:
Realm:CISCO.COM, Server:187.0.2.1, Port:750
Task Command
Step 1 Specify which KDC to use in a given Kerberos set kerberos server kerberos_realm {hostname |
realm. Optionally, enter the port number the KDC ip_address} [port]
is monitoring. (The default port number is 750.)
Step 2 Clear the Kerberos server entry. clear kerberos server kerberos_realm {hostname
| ip_address} [port]
This example shows how to specify which Kerberos server will serve as the KDC for the specified
Kerberos realm and how to clear the entry:
kerberos> (enable) set kerberos server CISCO.COM 187.0.2.1 750
Kerberos Realm-Server-Port entry set to:CISCO.COM - 187.0.2.1 - 750
kerberos> (enable)
Task Command
Step 1 (Optional) Map a host name or DNS domain to a set kerberos realm {dns_domain | host}
Kerberos realm. kerberos_realm
Step 2 Clear the Kerberos realm domain or host mapping clear kerberos realm {dns_domain | host}
entry. kerberos_realm
This example shows how to map a Kerberos realm to a DNS domain and how to clear the entry:
Console> (enable) set kerberos realm CISCO CISCO.COM
Kerberos DnsDomain-Realm entry set to CISCO - CISCO.COM
Console> (enable)
To remotely copy SRVTAB files to the switch from the KDC, perform this task in privileged mode:
Task Command
Step 1 Retrieve a specified SRVTAB file from the KDC. set kerberos srvtab remote {hostname |
ip_address} filename
Step 2 (Optional) Enter the SRVTAB directly into the set kerberos srvtab entry kerberos_principal
switch. principal_type timestamp key_version number
key_type key_length encrypted_keytab
This example shows how to retrieve an SRVTAB file from the KDC, enter an SRVTAB directly into the
switch, and verify the configuration:
kerberos> (enable) set kerberos srvtab remote 187.20.32.10 /users/jdoe/krb5/ninerskeytab
kerberos> (enable)
Task Command
Delete the SRVTAB entry for a particular clear kerberos srvtab entry kerberos_principal
Kerberos principal. principal_type
Task Command
Step 1 Set all clients to forward user credentials upon set kerberos credentials forward
successful Kerberos authentication.
Step 2 (Optional) Configure Telnet to fail if clients set kerberos clients mandatory
cannot authenticate to the remote server.
This example shows how to configure clients to forward user credentials and verify the configuration:
kerberos> (enable) set kerberos credentials forward
Kerberos credentials forwarding enabled
kerberos> (enable) show kerberos
Kerberos Local Realm:CISCO.COM
Kerberos server entries:
Realm:CISCO.COM, Server:187.0.2.1, Port:750
Realm:CISCO.COM, Server:187.20.2.1, Port:750
This example shows how to configure the switch so that Kerberos clients are mandatory for users to
authenticate to other network services:
Console> (enable) set kerberos clients mandatory
Kerberos clients set to mandatory
Console> (enable)
Task Command
Clear the credentials forwarding configuration. clear kerberos credentials forward
This example shows how to clear the credentials forwarding configuration and verify the change:
Console> (enable) clear kerberos credentials forward
Kerberos credentials forwarding disabled
Console> (enable) show kerberos
Kerberos Local Realm not configured
Kerberos server entries:
To clear the Kerberos clients mandatory configuration, perform this task in privileged mode:
Task Command
Clear the Kerberos clients mandatory clear kerberos clients mandatory
configuration.
This example shows how to clear the clients mandatory configuration and verify the change:
Console> (enable) clear kerberos clients mandatory
Kerberos clients mandatory cleared
Console> (enable) show kerberos
Kerberos Local Realm not configured
Kerberos server entries:
Task Command
Define a DES key for the switch. set key config-key string
This example shows how to define a DES key and verify the configuration:
kerberos> (enable) set key config-key abcd
Kerberos config key set to abcd
kerberos> (enable) show kerberos
Kerberos Local Realm:CISCO.COM
Kerberos server entries:
Realm:CISCO.COM, Server:170.20.2.1, Port:750
Realm:CISCO.COM, Server:172.20.2.1, Port:750
Task Command
Clear a DES key from the switch. clear key config-key string
Task Command
Encrypt a Telnet session. telnet encrypt kerberos host
This example shows how to configure a Telnet session for Kerberos authentication and encryption:
Console> (enable) telnet encrypt kerberos
Task Command
Display the Kerberos configuration. show kerberos
Task Command
Display the Kerberos credentials. show kerberos creds
Task Command
Clear all credentials. clear kerberos creds
This example shows how to clear all Kerberos credentials from the switch:
Console> (enable) clear kerberos creds
Console> (enable)
Task Command
Globally enable 802.1x. set dot1x system-auth-control enable
Task Command
Globally disable 802.1x. set dot1x system-auth-control disable
Note You must specify at least one RADIUS server before you can enable 802.1x authentication on the
switch. For information on specifying a RADIUS server, see the “Specifying RADIUS Servers”
section on page 21-24.
To enable and initialize 802.1x authentication for access to the switch, perform this task in privileged
mode:
Task Command
Step 1 Enable 802.1x control on a specific port. set port dot1x mod/port port-control auto
Step 2 Initialize 802.1x on the same port. set port dot1x mod/port initialize
Step 3 Verify the 802.1x configuration. show port dot1x mod/port
This example shows how to enable 802.1x authentication on port 1 in module 4, initialize 802.1x
authentication on the same port, and verify the configuration:
Console> (enable) set port dot1x 4/1 port-control auto
Port 4/1 dot1x port-control is set to auto.
Trunking disabled for port 4/1 due to Dot1x feature.
Spantree port fast start option enabled for port 4/1.
Console> (enable) set port dot1x 4/1 initialize
Port 4/1 initializing...
Port 4/1 dot1x initialization complete.
Task Command
Step 1 Set the time constant for reauthenticating the set dot1x re-authperiod seconds
supplicant.
Step 2 Enable reauthentication. set port dot1x re-authentication enable
Step 3 Verify the 802.1x configuration. show port dot1x mod/port
This example shows how to set automatic reauthentication to 7200 seconds, enable 802.1x
reauthentication, and verify the configuration:
Console> (enable) set dot1x re-authperiod 7200
dot1x re-authperiod set to 7200 seconds
Console> (enable) set port dot1x re-authentication enable
Port 4/1 re-authentication enabled.
Console> (enable) show port dot1x 4/1
Port Auth-State BEnd-State Port-Control Port-Status
----- ------------------- ---------- ------------------- -------------
4/1 connecting finished auto unauthorized
Port Multiple-Host Re-authentication
----- ------------- -----------------
4/1 disabled enabled
To manually reauthenticate a supplicant connected to a specific port, perform this task in privileged
mode:
Task Command
Manually reauthenticate the supplicant connected set port dot1x mod/port re-authenticate
to a specific port.
This example shows how to manually reauthenticate the supplicant connected to port 1 on module 4:
Console> (enable) set port dot1x 4/1 re-authenticate
Port 4/1 re-authenticating...
dot1x re-authentication successful...
dot1x port 4/1 authorized.
Task Command
Enable multiple hosts on a specific port. set port dot1x mod/port multiple-host enable
This example shows how to enable access for multiple hosts on port 1 on module 4:
Console> (enable) set port dot1x 4/1 multiple-host enable
Port 4/1 multiple hosts allowed.
Task Command
Disable multiple hosts on a specific port. set port dot1x mod/port multiple-host disable
This example shows how to disable access for multiple hosts on port 1 on module 4:
Console> (enable) set port dot1x 4/1 multiple-host disable
Port 4/1 multiple hosts not allowed.
To set the value for the quiet period, perform this task in privileged mode:
Task Command
Set the quiet-period value. set dot1x quiet-period seconds
Task Command
Set the authenticator-to-supplicant set dot1x tx-period seconds
retransmission time for EAP-request/identity
frames.
This example shows how to set the authenticator-to-supplicant retransmission time for the
EAP-request/identity frame to 15 seconds:
Console> (enable) set dot1x tx-period 15
dot1x tx-period set to 15 seconds.
Task Command
Set the back-end authenticator-to-supplicant set dot1x supp-timeout seconds
retransmission time for the EAP-request frame.
This example shows how to set the back-end authenticator-to-supplicant retransmission time for the
EAP-request frame to 15 seconds:
Console> (enable) set dot1x supp-timeout 15
dot1x supp-timeout set to 15 seconds.
Task Command
Set the back-end authenticator-to-authentication-server set dot1x server-timeout seconds
retransmission time for transport layer packets.
This example shows how to set the value for the retransmission time for transport layer packets sent from
the back-end authenticator to the authentication server to 15 seconds:
Console> (enable) set dot1x server-timeout 15
dot1x server-timeout set to 15 seconds.
Task Command
Set the back-end authenticator-to-supplicant set dot1x max-req count
frame retransmission number.
This example shows how to set the number of retransmitted frames sent from the back-end authenticator
to the supplicant to 4:
Console> (enable) set dot1x max-req 4
dot1x max-req set to 4.
To reset the 802.1x configuration parameters to the default values, perform this task in privileged mode:
Task Command
Step 1 Reset the 802.1x configuration parameters to the clear dot1x config
default values and globally disable 802.1x.
Step 2 Verify the 802.1x configuration. show dot1x
This example shows how to reset the 802.1x configuration parameters to the default values and verify
the configuration:
Console> (enable) clear dot1x config
This command will disable dot1x on all ports and take dot1x parameter values back to
factory defaults.
Do you want to continue (y/n) [n]?
Console> (enable) show dot1x
PAE Capability Authenticator Only
Protocol Version 1
system-auth-control enabled
max-req 2
quiet-period 60 seconds
re-authperiod 3600 seconds
server-timeout 30 seconds
supp-timeout 30 seconds
tx-period 30 seconds
Task Command
Display the usage options for the show port show port dot1x help
dot1x command.
This example shows how to display the usage options for the show port dot1x command:
To display the values for all the parameters associated with the authenticator PAE and back-end
authenticator on a specific port on a specific module, perform this task in normal mode:
Task Command
Display the values for all configurable and current show port dot1x mod/port
state parameters associated with the authenticator
PAE and back-end authenticator on a specific port
on a specific module.
This example shows how to display the values for all the parameters associated with the authenticator
PAE and back-end authenticator on port 1 on module 4:
Console> (enable) show port dot1x 4/1
Port Auth-State BEnd-State Port-Control Port-Status
----- ------------------- ---------- ------------------- -------------
4/1 connecting finished auto unauthorized
Port Multiple-Host Re-authentication
----- ------------- -----------------
4/1 disabled enabled
To display the statistics for the different types of EAP frames transmitted and received by the
authenticator on a specific port on a specific module, perform this task in normal mode:
Task Command
Display the statistics for the different types of show port dot1x statistics mod/port
EAP frames transmitted and received by the
authenticator on a specific port on a specific
module.
This example shows how to display the statistics for the different types of EAP frames transmitted and
received by the authenticator on port 1 on module 4:
Console> (enable) show port dot1x statistics 4/1
Port Tx_Req/Id Tx_Req Tx_Total Rx_Start Rx_Logoff Rx_Resp/Id Rx_Resp
----- --------- ------ -------- -------- --------- ---------- -------
4/1 97 0 97 0 0 0 0
Port Rx_Invalid Rx_Len_Err Rx_Total Last_Rx_Frm_Ver Last_Rx_Frm_Src_Mac
----- ---------- ---------- -------- --------------- -------------------
4/1 0 0 0 0 00-00-00-00-00-00
To display the global 802.1x parameters, perform this task in normal mode:
Task Command
Display the PAE capabilities, protocol version, show dot1x
system-auth-control, and other global dot1x
parameters.
Authentication Example
Figure 21-3 shows a simple network topology using TACACS+.
In this example, TACACS+ authentication is enabled and local authentication is disabled for both login
and enable access to the switch for all Telnet connections. When Workstation A attempts to connect to
the switch, the user is challenged for a TACACS+ username and password.
However, only local authentication is enabled for both login and enable access on the console port. Any
user with access to the directly connected terminal can access the switch using the login and enable
passwords.
TACACS+
server
172.20.52.10
Switch
Console port
connection
Terminal
18927
Workstation A
This example shows how to configure the switch so that TACACS+ authentication is enabled for Telnet
connections, local authentication is enabled for console connections, and a TACACS+ encryption key
is specified:
Console> (enable) show tacacs
Tacacs key:
Tacacs login attempts: 3
Tacacs timeout: 5 seconds
Tacacs direct request: disabled
Tacacs-Server Status
---------------------------------------- -------
Console> (enable) set tacacs server 172.20.52.10
172.20.52.10 added to TACACS server table as primary server.
Tacacs-Server Status
---------------------------------------- -------
172.20.52.10 primary
Console> (enable)
Authorization Overview
Catalyst 6000 family switches support TACACS+ and RADIUS authorization. Authorization limits
access to specified users using a dynamically applied access list (or user profile) based on the username
and password pair. The access list resides on the host running the TACACS+ or RADIUS server. The
server responds to the user password information with an access list number that causes the specific list
to be applied.
Authorization Events
You can enable authorization for the following:
• Commands—When you enable the authorization feature for commands, the user must supply a valid
username and password pair to execute certain commands. You can require authorization for all
commands or for configuration (enable mode) commands only. When a user issues a command, the
authorization server receives the command and user information and compares it against an access
list. If the user is authorized to issue that command, the command is executed; otherwise, the
command is not executed.
• EXEC mode (normal login)—When the authorization feature is enabled for EXEC mode, the user
must supply a valid username and password pair to gain access to EXEC mode. Authorization is
required only if you have enabled the authorization feature.
• Enable mode (privileged login)—When the authorization feature is enabled for enable mode, the
user must supply a valid username and password pair to gain access to enable mode. Authorization
is required only if you have enabled the authorization feature for enable mode.
• If you have enabled authorization for configuration commands only, the switch will verify that the
argument string matches one of the commands listed above. If there is no match, the switch
completes the command. If there is a match, the switch forwards the command to the NAS for
authorization.
• If you have enabled authorization for all commands, the switch forwards the command to the NAS
for authorization.
RADIUS Authorization
RADUIS has limited authorization. There is one attribute, Service-Type, in the authentication protocol
that provides authorization information. This attribute is part of the user-profile.
When you log in using RADIUS authentication and you do not have Administrative/Shell (6)
Service-Type access, the network access server (NAS) authenticates you, and then logs you in to the
EXEC mode. If you have Administrative/Shell (6) Service-Type access, the NAS authenticates you, and
then logs you in to the privileged mode.
Configuring Authorization
These sections describe how to configure authorization:
• TACACS+ Authorization Default Configuration, page 21-51
• TACACS+ Authorization Configuration Guidelines, page 21-51
• Configuring TACACS+ Authorization, page 21-52
• Configuring RADIUS Authorization, page 21-55
• You must specify the mode, option, fallback option, and connection type when enabling
authorization.
• Configure RADIUS and TACACS+ servers before enabling authorization. See the “Specifying
TACACS+ Servers” section on page 21-17 or the “Specifying RADIUS Servers” section on
page 21-24 for more information on server setup.
• Configure RADIUS and TACACS+ keys to encrypt protocol packets before enabling authorization.
See the “Specifying the TACACS+ Key” section on page 21-19 or the “Specifying the RADIUS
Key” section on page 21-24 for more information on the key setup.
Task Command
Step 1 Enable authorization for normal mode. Enter the set authorization exec enable
console or telnet keyword if you want to enable {option}{fallbackoption} [console | telnet | both]
authorization only for console port or Telnet
connection attempts. Enter the both keyword to
enable authorization for both console port and
Telnet connection attempts.
Step 2 Enable authorization for enable mode. Enter the set authorization enable enable {option}
console or telnet keyword if you want to enable {fallbackoption} [console | telnet | both]
authorization only for console port or Telnet
connection attempts. Enter the both keyword to
enable authorization for both console port and
Telnet connection attempts.
Step 3 Enable authorization of configuration commands. set authorization commands enable {config |
Enter the console or telnet keyword if you want to all} {option}{fallbackoption} [console | telnet |
enable authorization only for console port or both]
Telnet connection attempts. Enter the both
keyword to enable authorization for both console
port and Telnet connection attempts.
Step 4 Verify the TACACS+ authorization configuration. show authorization
This example shows how to enable TACACS+ EXEC mode authorization for both console and Telnet
connections. Authorization is configured with the tacacs+ option. The fallback option is deny:
Console> (enable) set authorization exec enable tacacs+ deny both
Successfully enabled enable authorization.
Console>
This example shows how to enable TACACS+ enable mode authorization for console and Telnet
connections. Authorization is configured with the tacacs+ option. The fallback option is deny:
Console> (enable) set authorization enable enable tacacs+ deny both
Successfully enabled enable authorization.
Console>
This example shows how to enable TACACS+ command authorization for both console and Telnet
connections. Authorization is configured with the tacacs+ option. The fallback option is deny:
Console> (enable) set authorization commands enable config tacacs+ deny both
Successfully enabled commands authorization.
Console> (enable)
Console:
--------
Primary Fallback
------- --------
exec: tacacs+ deny
enable: tacacs+ deny
commands:
config: tacacs+ deny
all: - -
Console> (enable)
Task Command
Step 1 Disable authorization for normal mode. Enter the set authorization exec disable [console | telnet |
console or telnet keyword if you want to disable both]
authorization only for console port or Telnet
connection attempts. Enter the both keyword to
disable authorization for both console port and
Telnet connection attempts.
Step 2 Disable authorization for enable mode. Enter the set authorization enable disable [console |
console or telnet keyword if you want to disable telnet | both]
authorization only for console port or Telnet
connection attempts. Enter the both keyword to
disable authorization for both console port and
Telnet connection attempts.
Task Command
Step 3 Disable authorization of configuration set authorization commands disable [console |
commands. Enter the console or telnet keyword if telnet | both]
you want to disable authorization only for console
port or Telnet connection attempts. Enter the both
keyword to disable authorization for both console
port and Telnet connection attempts.
Step 4 Verify the TACACS+ authorization configuration. show authorization
This example shows how to disable TACACS+ EXEC mode authorization for both console and Telnet
connections and how to verify the configuration:
Console> (enable) set authorization exec disable both
Successfully disabled enable authorization.
Console> (enable)
This example shows how to disable TACACS+ enable mode authorization for both console and Telnet
connections and how to verify the configuration:
Console> (enable) set authorization enable disable both
Successfully disabled enable authorization.
Console> (enable)
This example shows how to disable TACACS+ command authorization for both console and Telnet
connections and how to verify the configuration:
Console> (enable) set authorization commands disable both
Successfully disabled commands authorization.
Console> (enable)
Telnet:
-------
Primary Fallback
------- --------
exec: tacacs+ deny
enable: tacacs+ deny
commands:
config: tacacs+ deny
all: - -
Console:
--------
Primary Fallback
------- --------
exec: tacacs+ deny
enable: tacacs+ deny
commands:
config: tacacs+ deny
all: - -
Console> (enable)
Step 1 Enter the set authentication login radius enable command in privileged mode. This command enables
both RADIUS authentication and authorization.
Step 2 Set the Service-Type (RADIUS attribute 6) for the user to Admistrative (that is, a value of 6) in the
RADIUS server to launch the user into enable mode in the RADIUS server. If the service-type is set for
anything other than 6-administrative (for example, 1-login, 7-shell, or 2-framed), you will be at the
switch EXEC prompt, not the enable prompt.
Authorization Example
Figure 21-4 shows a simple network topology using TACACS+.
When Workstation A initiates a command on the switch, the switch registers a request with the
TACACS+ daemon. The TACACS+ daemon determines if the user is authorized to use the feature and
sends a response either executing the command or denying access.
TACACS+
server
172.20.52.10
Switch
Console port
connection
Terminal
18927
Workstation A
In this example, TACACS+ authorization is enabled for enable mode access to the switch for both Telnet
and console connections, authorizing configuration commands:
Console> (enable) set authorization enable enable tacacs+ deny both
Successfully enabled enable authorization.
Console> (enable) set authorization commands enable config tacacs+ deny both
Successfully enabled commands authorization.
Console> (enable) show authorization
Telnet:
-------
Primary Fallback
------- --------
exec: tacacs+ deny
enable: tacacs+ deny
commands:
config: tacacs+ deny
all: - -
Console:
--------
Primary Fallback
------- --------
exec: tacacs+ deny
enable: tacacs+ deny
commands:
config: tacacs+ deny
all: - -
Console> (enable)
Accounting Overview
You can configure these accounting methods to monitor access to the switch:
• TACACS+ accounting
• RADIUS accounting
Accounting allows you to track user activity to a specified host, suspicious connection attempts in the
network, and unauthorized changes to the NAS configuration itself. The accounting information is sent
to the accounting server where it is saved in the form of a record. Accounting information typically
consists of the user’s action and the duration for which the action lasted. You can use the accounting
feature for security, billing, and resource allocation purposes.
The accounting protocol operates in a client-server model, using TCP for transport. The NAS acts as the
client and the accounting server acts as the daemon. The NAS sends accounting information to the
server. The server, after successfully processing the information, sends a response to the NAS,
acknowledging the request. All transactions between the NAS and server are authenticated using a key.
Once accounting has been enabled and an accountable event occurs on the system, the accounting
information is gathered dynamically in memory. When the event ends, an accounting record is created
and sent to the NAS, and then the system deletes the record from memory. The amount of memory used
by the NAS for accounting varies depending on the number of concurrent accountable events.
Accounting Events
You can configure accounting for the following types of events:
• EXEC mode accounting—Provides information about user EXEC sessions (normal login sessions)
on the NAS (includes the duration of the EXEC session but does not include traffic statistics).
• Connect accounting—Provides information about all outbound connections from the NAS (such as
Telnet, rlogin).
Note If you get a connection immediately upon login and then your connection terminates, the
EXEC and connect events overlap and have almost identical start and stop times.
• System accounting—Provides information on system events not related to users (includes system
reset, system boot, and user configuration of accounting).
• Command accounting—Sends a record for each command issued by the user. This permits audit trail
information to be gathered.
Note Stop records include complete information of the event (when the event started, its
duration, and traffic statistics). However, you might want redundancy and, therefore,
may monitor both start and stop records of events occurring on the NAS.
Task Command
Step 1 Specify the IP address of up to three RADIUS set radius server ip_addr [acct-port port]
servers. Specify the primary server using the [primary]
primary keyword. Optionally, specify the
destination UDP port to use on the server.
Step 2 Verify the RADIUS server configuration. show radius
This example shows how to specify a RADIUS server and verify the configuration:
Console> (enable) set radius server 172.20.52.3
172.20.52.3 with auth-port 1812 added to radius server table as primary server.
Console> (enable) show radius
Suppressing Accounting
You can configure the system to suppress accounting when an unknown user with no username accesses
the switch by using the set accounting suppress null-username enable command.
Note RADIUS and TACACS+ accounting are the same, except that RADIUS does not do command
accounting, periodic updates, or allow null-username suppression.
Configuring Accounting
These sections describe how to configure accounting for both TACACS+ and RADIUS:
• Accounting Default Configuration, page 21-59
• Accounting Configuration Guidelines, page 21-60
• Configuring Accounting, page 21-60
Note The amount of DRAM allocated for one accounting event is approximately 500 bytes. The total
amount of DRAM used by accounting depends on the number of concurrent accountable events in
the system.
Configuring Accounting
These sections describe how to configure RADIUS and TACACS+ accounting on the switch:
• Enabling Accounting, page 21-60
• Disabling Accounting, page 21-61
Enabling Accounting
To enable accounting on the switch, perform this task in privileged mode:
Task Command
Step 1 Enable accounting for connection events. set accounting connect enable {start-stop |
stop-only} {tacacs+ | radius}
Step 2 Enable accounting for EXEC mode. set accounting exec enable {start-stop |
stop-only} {tacacs+ | radius}
Step 3 Enable accounting for system events. set accounting system enable {start-stop |
stop-only} {tacacs+ | radius}
Step 4 Enable accounting of configuration commands. set accounting commands enable {config | all}
{stop-only} tacacs+
Step 5 Enable suppression of information for unknown set accounting suppress null-username enable
users.
Step 6 Configure accounting to be updated as new set accounting update {new-info | {periodic
information is available. [interval]}}
Step 7 Verify the accounting configuration. show accounting
Accounting information:
-----------------------
Active Accounted actions on tty0, User (null) Priv 0
Active Accounted actions on tty288091924, User (null) Priv 0
Overall Accounting Traffic:
Starts Stops Active
----- ----- ------
Exec 0 0 0
Connect 0 0 0
Command 0 0 0
System 1 0 0
Console> (enable)
Disabling Accounting
To disable RADIUS accounting on the switch, perform this task in privileged mode:
Task Command
Step 1 Disable accounting for connection events. set accounting connect disable
Step 2 Disable accounting for EXEC mode. set accounting exec disable
Step 3 Disable accounting for system events. set accounting system disable
Task Command
Step 4 Disable accounting of configuration commands. set accounting commands disable
Step 5 Disable suppression of information for unknown set accounting suppress null-username disable
users.
Step 6 Verify the accounting configuration. show accounting
Accounting information:
-----------------------
Active Accounted actions on tty0, User (null) Priv 0
Active Accounted actions on tty288091924, User (null) Priv 0
Overall Accounting Traffic:
Starts Stops Active
----- ----- ------
Exec 0 0 0
Connect 0 0 0
Command 0 0 0
System 1 2 0
Console> (enable)
Accounting Example
Figure 21-5 shows a simple network topology using TACACS+.
When Workstation A initiates an accountable event on the switch, the switch gathers event information
and forwards the information to the server at the conclusion of the event. Accounting information is
gathered at the conclusion of the event. Accounting is suspended for unknown users and the system is
updated every 120 minutes.
TACACS+
server
172.20.52.10
Switch
Console port
connection
Terminal
18927
Workstation A
In this example, TACACS+ accounting is enabled for connection, exec, system, and all command
accounting:
Console> (enable) set accounting connect enable stop-only tacacs+
Accounting set to enable for connect events in stop-only mode.
Console> (enable) set accounting exec enable stop-only tacacs+
Accounting set to enable for exec events in stop-only mode.
Console> (enable) set accounting commands enable all stop-only tacacs+
Accounting set to enable for commands-all events in stop-only mode.
Console> (enable) set accounting update periodic 120
Accounting updates will be periodic at 120 minute intervals.
Console> (enable) show accounting
Event Method Mode
----- ------- ----
exec: tacacs+ stop-only
connect: tacacs+ stop-only
system: tacacs+ stop-only
commands:
config: - -
all: tacacs+ stop-only
Accounting information:
-----------------------
Active Accounted actions on tty0, User (null) Priv 0
Active Accounted actions on tty288091924, User (null) Priv 0
Overall Accounting Traffic:
Starts Stops Active
----- ----- ------
Exec 0 0 0
Connect 0 0 0
Command 0 0 0
System 1 0 0
Console> (enable)
This chapter describes how to configure redundant supervisor engines and how to configure redundancy
on Multilayer Switch Feature Cards (MSFCs) on the Catalyst 6000 family switches.
This chapter consists of these sections:
• Understanding How Supervisor Engine Redundancy Works, page 22-2
• Configuring Redundant Supervisor Engines, page 22-3
• MSFC Redundancy, page 22-18
Caution Dual MSFCs in a single chassis are designed to be used in redundant mode only and must have
identical configurations. See the “MSFC Redundancy” section on page 22-18 for detailed
information.
We do not support configurations where the MSFCs are not configured identically.
Note Except where specifically differentiated, the information and procedures in this chapter apply to both
Supervisor Engine 2 with Layer 3 Switching Engine II (Policy Feature Card 2 or PFC2) and
Supervisor Engine 1 with Layer 3 Switching Engine II.
Note The term MSFC is used to refer to the MSFC and MSFC2 except where specifically differentiated.
For more information about installing redundant Catalyst 6000 family supervisor engines, refer to the
Catalyst 6000 Family Module Installation Guide. For syntax and usage information for the commands
used in this chapter, refer to the Catalyst 6000 Family Command Reference publication.
When you install two supervisor engines, the first supervisor engine to come online becomes the active
module; the second supervisor engine goes into standby mode. All administrative and network
management functions, such as SNMP, command-line interface (CLI) console, Telnet, Spanning Tree
Protocol (STP), Cisco Discovery Protocol (CDP), and VLAN Trunk Protocol (VTP) are processed on
the active supervisor engine.
On the standby supervisor engine, the console port is inactive, the module status shows as “standby,” and
the status for the uplink ports is shown normally.
You must install redundant supervisor engines in slots 1 and 2 of the chassis. Redundant supervisor
engines are hot swappable. The system continues to operate with the same configuration after switching
over to the redundant supervisor engine.
Note To allow you to control the booting of each supervisor engine separately, the configuration registers
are not synchronized between the supervisor engines.
Note The switchover time from the active to the standby supervisor engine does not include spanning tree
convergence time.
At power-up, both supervisor engines run initial module-level diagnostics. Assuming both supervisor
engines pass this level of diagnostics, the two supervisor engines communicate over the backplane,
allowing them to cooperate during switching-bus diagnostics. The supervisor engine in slot 1 becomes
active, and the supervisor engine in slot 2 enters standby mode. If the software versions of the two
supervisor engines are different, or if the NVRAM configuration of the two supervisor engines is
different, the active supervisor engine automatically downloads its software image and configuration to
the standby supervisor engine.
If the background diagnostics on the active supervisor engine detect a major problem or an exception
occurs, the active supervisor engine resets. The standby supervisor engine detects that the active
supervisor engine is no longer running and becomes active. The standby supervisor engine can detect if
the active supervisor engine is not functioning and can force a reset, if necessary. If the reset supervisor
engine comes online again, it enters standby mode.
If you hot insert a second supervisor engine, the second module communicates with the active supervisor
engine after completing its initial module-level diagnostics. Because the active supervisor engine is
already switching traffic on the backplane, no switching-bus diagnostics are run for the second
supervisor engine because running diagnostics can disrupt normal traffic. The second supervisor engine
immediately enters standby mode. The active supervisor engine downloads the software image and
configuration to the standby supervisor engine, if necessary.
The supervisor engines use two Flash images: the boot image and the runtime image. The boot image
filename is specified in the BOOT environment variable, which is stored in NVRAM. The runtime image
is the boot image that the ROM monitor uses to boot the supervisor engine. After the system boots, the
runtime image resides in dynamic RAM (DRAM).
When you power up or reset a switch with redundant supervisor engines, synchronization occurs to
ensure that the runtime and boot images on the standby supervisor engine are the same as the images on
the active supervisor engine.
The supervisor engines can have different runtime and boot images. If the boot image and the runtime
image are the same, and you change the BOOT environment variable or overwrite or destroy the current
boot image on the Flash device that was used to boot the system, the runtime and boot images will differ.
Whenever you reconfigure the boot image, the active supervisor engine synchronizes its current boot
image with the standby supervisor engine.
The boot image is read directly into the Flash file system. You can perform operations (such as copy,
delete, undelete, and so on) on files stored on Flash memory devices, and you can store the boot image
of the active supervisor engine in the standby supervisor engine bootflash. For more information about
using the Flash file system, see Chapter 24, “Working With the Flash File System.”
The supervisor engine has a Flash PC card (PCMCIA) slot (slot0) in addition to the onboard Flash
memory; this slot can hold a Flash PC card that can store additional boot images.
Note Throughout this publication, the term Flash PC card is used in place of the term PCMCIA card.
Because you can store multiple boot images, you must specify the name of the boot file image and the
location of the image file in the Flash file system in order to boot and synchronize properly. For
information about how to specify the name and location of the boot image, see Chapter 23, “Modifying
the Switch Boot Configuration.”
In the synchronization process, the active supervisor engine checks the standby supervisor engine
runtime image to make sure it matches its own runtime image. The active supervisor engine checks three
conditions:
• If it needs to copy its boot image to the standby supervisor engine
• If the standby supervisor engine bootstring needs to be changed
• If the standby supervisor engine needs to be reset
The following section describes the conditions that can initiate Flash synchronization. For examples of
how the system synchronizes the supervisor engine Flash images with various configurations, see the
“Supervisor Engine Synchronization Examples” section on page 22-14.
Note The show module output provides information about installed daughter cards. The show test
command provides information about onboard application-specific integrated circuits (ASICs).
To verify the status of the standby supervisor engine, perform one or more of these tasks:
Task Command
Show the status of the standby supervisor engine. show module [mod]
Show the state of the standby supervisor engine show port [mod[/port]]
uplink ports.
Show diagnostic test results for the standby show test [mod]
supervisor engine.
This example shows how to check the status of the standby supervisor engine using the show module
and show test commands:
Console> (enable) show module 2
Mod Slot Ports Module-Type Model Status
--- ---- ----- ------------------------- ------------------- --------
2 2 2 1000BaseX Supervisor WS-X6K-SUP1-2GE ok
Mod MAC-Address(es) Hw Fw Sw
--- -------------------------------------- ------ ---------- -----------------
2 00-e0-14-0e-f5-6c to 00-e0-14-0e-f5-6d 0.404 4.2(2038) 4.2(0.24)VAI50
00-e0-14-0e-f5-6e to 00-e0-14-0e-f5-6f
00-10-7b-bb-2b-00 to 00-10-7b-bb-2e-ff
Port Status :
Ports 1 2
-----------
. .
Line Card Diag Status for Module 2 (. = Pass, F = Fail, N = N/A)
Module 2
Cafe II Status :
NewLearnTest: .
IndexLearnTest: .
DontForwardTest: .
DontLearnTest: .
ConditionalLearnTest: .
BadBpduTest: .
TrapTest: .
Loopback Status [Reported by Module 2] :
Ports 1 2
-----------
. .
Console> (enable)
Note Resetting the active supervisor engine disconnects any open Telnet sessions.
To force a switchover to the standby supervisor engine, perform this task in privileged mode:
Task Command
Reset the active supervisor engine (where mod is reset mod
the number of the active supervisor engine).
In addition, you can also force a switchover to the standby supervisor engine by setting the
CISCO-STACK-MIB moduleAction variable to reset(2) on the active supervisor engine. When the
switchover occurs, the system sends a standard SNMP warm-start trap to the configured trap receivers.
This example shows the console output on the active supervisor engine when you force a switchover
from the active to the standby supervisor engine:
Console> (enable) reset 1
This command will force a switch-over to the standby Supervisor module.
Do you want to continue (y/n) [n]? y
Console> (enable) 12/07/1998,17:04:39:SYS-5:Module 1 reset from Console//
This example shows the console output on the standby supervisor engine when you force a switchover
from the active to the standby supervisor engine:
Cisco Systems Console
Enter password:
12/07/1998,17:04:43:MLS-5:Multilayer switching is enabled
12/07/1998,17:04:43:MLS-5:Netflow Data Export disabled
12/07/1998,17:04:44:SYS-5:Module 2 is online
12/07/1998,17:04:45:SYS-5:Module 5 is online
12/07/1998,17:04:45:SYS-5:Module 7 is online
12/07/1998,17:04:45:SYS-5:Module 3 is online
12/07/1998,17:04:52:MLS-5:Route Processor 172.20.52.6 added
12/07/1998,17:05:10:SYS-5:Module 8 is online
12/07/1998,17:05:14:SYS-5:Module 9 is online
12/07/1998,17:05:22:SYS-5:Module 4 is online
12/07/1998,17:06:13:SYS-5:Module 1 is in standby mode
Supervisor image synchronization process will start in 10 seconds
12/07/1998,17:06:37:SYS-5:Ports on standby supervisor(Module 1) are UP
12/07/1998,17:06:41:SYS-5:Active supervisor is synchronizing the NMP image.
12/07/1998,17:06:44:SYS-5:The active supervisor has synchronized the NMP image.
Console>
High Availability
High availability allows you to minimize the switchover time from the active supervisor engine to the
standby supervisor engine if the active supervisor engine fails.
Prior to this feature, fast switchover ensured that a switchover to the standby supervisor engine happened
quickly. However, with fast switchover, because the state of the switch features before the switchover
was unknown, you had to reinitialize and restart all the switch features when the standby supervisor
engine assumed the active role.
High availability removes this limitation; high availability allows the active supervisor engine to
communicate with the standby supervisor engine, keeping feature protocol states synchronized.
Synchronization between the supervisor engines allows the standby supervisor engine to take over in the
event of a failure.
In addition, high availability provides a versioning option that allows you to run different software
images on the active and standby supervisor engines.
These features are discussed in these sections:
• High-Availability Overview, page 22-8
• High-Availability Supported Features, page 22-9
• Versioning Overview, page 22-10
• CLI Commands, page 22-11
• Loading a Different (but Compatible) Image on the Standby Supervisor Engine, page 22-13
High-Availability Overview
For high availability, a system database is maintained on the active supervisor engine and updates are
sent to the standby supervisor engine for any change of data in the system database. The active
supervisor engine communicates and updates the standby supervisor engine when any state changes
occur, ensuring that the standby supervisor engine knows the current protocol state of supported
features. The standby supervisor engine knows the current protocol states for all modules, ports, and
VLANs; the protocols can initialize with this state information and start running immediately.
The active supervisor engine controls the system bus (backplane), sends and receives packets to and
from the network, and controls all modules. Protocols run on the active supervisor engine only.
The standby supervisor engine is isolated from the system bus and does not switch packets. But it does
receive packets from the switching bus to learn and populate its Layer 2 forwarding table for
Layer 2-switched flows. The standby supervisor engine also receives packets from the switching bus to
learn and populate the Multilayer Switching (MLS) table for Layer 3-switched flows. The standby
supervisor engine does not participate in forwarding any packets and does not communicate with any
modules.
If you enable high availability when the standby supervisor engine is running, image version
compatibility is checked and if found compatible, the database synchronization is started. High
availability compatible features continue from the saved states on the standby supervisor engine after a
switchover.
When you disable high availability, the database synchronization is not done and all features must restart
on the standby supervisor engine after a switchover.
If you change high availability from enabled to disabled, synchronization from the active supervisor
engine is stopped and the standby supervisor engine discards all current synchronization data.
If you change high availability from disabled to enabled, synchronization from the active to standby
supervisor engine is started (provided the standby supervisor engine is present and its image version is
compatible).
NVRAM synchronization occurs irrespective of high availability being enabled or disabled (provided
there are compatible NVRAM versions on the two supervisor engines).
If you do not install a standby supervisor engine during system bootup, the active supervisor engine
detects this and the database updates are not queued for synchronization. Similarly, when you reset or
remove the standby supervisor engine, the synchronization updates are not queued and any pending
updates in the synchronization queue are discarded. When you hot insert or restart a second supervisor
engine that becomes the standby supervisor engine, the active supervisor engine downloads the entire
system database to the standby supervisor engine. Only after this global synchronization is completed,
the active supervisor engine queues and synchronizes the individual updates to the standby supervisor
engine.
Note When you hot insert or restart a second supervisor engine, it might take a few minutes for the global
synchronization to complete.
Note MLS flows are preserved from the active supervisor engine to the standby supervisor engine.
Note High availability does not preserve routing table entries on the active MSFC because high
availability is not run on the MSFC IOS software. However, you can configure both MSFCs on the
active and standby supervisor engines with the same configuration to preserve routing table entries
across the active and standby MSFCs. You can then configure HSRP on the MSFCs to provide
automatic routing backup. See the “MSFC Redundancy” section on page 22-18 for detailed
information.
High availability for the Catalyst 6000 family switch is classified into three categories (see Table 22-1):
• Supported features—High availability is fully supported; the feature’s database is synchronized
from the active supervisor engine to the standby supervisor engine.
• Compatible features—High availability is not supported; the feature’s database is not synchronized
from the active supervisor engine to the standby supervisor engine. However, the feature can be
enabled (operational) with high availability.
• Incompatible features—High availability is not supported; the feature’s database is not
synchronized from the active supervisor engine to the standby supervisor engine. The feature cannot
be enabled if high availability is enabled and similarly, high availability cannot be enabled if the
feature is enabled.
Note Timers and statistics are not synchronized from the active to the standby supervisor engine.
Versioning Overview
When you enable high-availability versioning, you can have two different but compatible images on the
active and standby supervisor engines. The active supervisor engine exchanges image version
information with the standby supervisor engine and determines whether the images are compatible for
enabling high availability. If the active and standby supervisor engines are not running compatible image
versions, you cannot enable high availability.
Image versioning is supported in supervisor engine software release 5.4(1)CSX and later releases. With
versioning enabled, high availability is fully supported with the active and standby supervisor engines
running different images as long as the images are compatible. The only fully compatible images are as
follows:
• 5.5(3) and 5.5(4)
• 6.1(3) and 6.1(4)
Images that are compatible with all modules except Gigabit Ethernet switching modules are as follows:
• 5.4(3) and 5.4(4)
• 5.5(3) and 5.5(5)
• 5.5(4) and 5.5(5)
Images that are compatible with Gigabit Ethernet switching modules but not compatible with
10/100BASE-T modules are as follows:
• 5.5(6a) and 5.5(7)
Note Attempting to run incompatible image versions could result in configuration loss.
Note When you install two supervisor engines, the first supervisor engine to come online becomes the
active module; the second supervisor engine goes into standby mode. If two supervisor engines are
installed in your system, at power up the supervisor engine in slot 1 becomes active, and the
supervisor engine in slot 2 enters standby mode. If the software versions of the two supervisor
engines are different, or if the NVRAM configuration of the two supervisor engines is different, and
if you do not enable versioning, the active supervisor engine automatically downloads its software
image and configuration to the standby supervisor engine.
CLI Commands
This section describes the CLI commands for high availability and versioning.
High availability is disabled by default. To enable or disable high availability, perform this task in
privileged mode:
Task Command
Enable or disable high availability. set system highavailability {enable | disable}
Task Command
Enable or disable high-availability versioning. set system highavailability versioning {enable |
disable}
Task Command
Show high-availability configuration and show system highavailability
operational states.
Step 2 Download the new image to the active supervisor engine bootflash.
Console> (enable) copy tftp:image2.bin bootflash
IP address or name of remote host []? 172.20.52.3
Step 3 Copy the new image to the standby supervisor engine bootflash.
Console> (enable) copy bootflash:image2.bin 2/bootflash:
Step 4 Modify the BOOT environment variable so the standby supervisor engine boots the new image.
Console> (enable) set boot system flash bootflash:image2.bin prepend 2
BOOT variable = bootflash:image2.bin,1;slot0:image1.bin,1
Console> (enable)
Step 5 To boot the new image, reset the standby supervisor engine.
Console> (enable) reset 2
This command will reset the system.
Do you want to continue (y/n) [n]? y
Note In the following examples, the number 1 following the filename in the bootstring (for example,
bootflash:f1,1) indicates the number of Trivial File Transfer Protocol (TFTP) boot retries that are
attempted. However, the supervisor engine does not support TFTP booting. The number is included
in these examples to be consistent with Cisco IOS conventions.
Note These examples are not intended to cover every possible condition.
Example 3: File not copied, bootstring changed, standby supervisor engine reset
Synchronizing the Boot Images on the Active and Standby Supervisor Engines
This section contains four examples in which the bootstrings on the active and standby supervisor
engines are synchronized.
– The active supervisor engine f1 image is not copied to the standby supervisor engine.
– The standby supervisor engine bootstring is not modified.
– The standby supervisor engine is not reset.
Example 2: File copied, bootflash modified, standby supervisor engine not reset
Example 3: File not copied, bootstring modified, standby supervisor engine not reset
Example 4: File copied, oldest file deleted, bootflash squeezed, bootstring modified, standby supervisor engine not reset
MSFC Redundancy
MSFC redundancy is described in these sections:
• Dual MSFC Redundancy, page 22-19
• Single Router Mode Redundancy, page 22-41
• Manual-Mode MSFC Redundancy, page 22-45
Caution You must configure both MSFCs identically. Table 22-2 on page 22-20 summarizes the identical
requirements and the exceptions for Layer 3 redundancy for a single switch chassis.
We do not support configurations where the MSFCs are not configured identically.
Note Each MSFC must be running the same release of Cisco IOS software.
Caution You must configure both MSFCs identically. Table 22-2 summarizes the identical requirements and
the exceptions for Layer 3 redundancy for a single switch chassis.
Identical Requirements—
Global and Interface Levels Exceptions—Interface Level Exceptions—Global Level
• Both MSFCs must have the • HSRP standby commands • IP default-gateway
following: 3
• IP address commands • IPX internal-network
– Same routing protocols
• IPX network3 • IPX default-route
– Same static routes
– Same default routes
– Same policy routes
– Same VLAN interfaces
– Same IOS ACLs 1, 2
For information on specifying alternate configurations for the interface and global level exceptions
listed in Table 22-2, see the “alt Keyword Usage” section on page 22-33.
Redundant supervisor engines must have identical hardware (MSFC and PFC). See the “Hardware and
Software Requirements” section on page 22-19 for more information.
Note For MSFC and MSFC2 memory requirements, refer to the Release Notes for MSFC publication:
http://www.cisco.com/univercd/cc/td/doc/product/lan/cat6000/relnotes/index.htm
Note PFC: With the PFC, MLS entries can be associated with either MSFC (based on which MSFC routed
the first packet). Only the PFC on the active supervisor engine switches the packets.
Note PFC2: With PFC2, only the designated MSFC programs the forwarding information base (FIB) the
adjacency table, Cisco IOS software, and policy routing ACLs on the active supervisor engine. If you
configure static routes or policy routing, you must have the identical configuration on both MSFCs.
If you have a static route on the nondesignated MSFC that is not on the designated MSFC, that route
will not be programmed in the PFC2.
Both MSFCs are operational from a routing protocol peering perspective. For example, if you
have two MSFCs in a single Catalyst 6000 family switch chassis, each configured with interface
VLAN 10 and VLAN 21, the MSFCs are peered to each other over these VLANs. Combined with a dual
chassis and dual MSFC design for the same VLANs, each MSFC has 6 peers: its peer in the same chassis
as well as the 2 MSFCs in the second chassis (3 in VLAN 10 and 3 in VLAN 21). See Figure 22-1.
Switch 1 Switch 2
Trunk
Slot 1 Slot 1
Sup#1/MSFC#1 Sup#1/MSFC#1
Slot 2 Slot 2
Sup#2/MSFC#2 Sup#2/MSFC#2
VLAN 10
38594
VLAN 21
Although the MSFCs (from a peering perspective) act as independent routers, the two MSFCs in the
chassis operate at the same time, have the same interfaces, and run the same routing protocols.
If you combine high availability on the supervisor engines with HSRP on the MSFCs, you have the
following Layer 2 and Layer 3 redundancy mechanisms:
• Layer 2 redundancy for the supervisor engines (one active and one in standby)—If the active
supervisor engine fails (the MSFC installed on it will also fail), both Layer 2 and Layer 3 functions
roll over to the redundant supervisor engine and MSFC combination.
• Layer 3 redundancy and load sharing for the two MSFCs—If one MSFC fails, the other MSFC takes
over almost immediately (using HSRP) without any Layer 2 disruption (the active supervisor engine
continues to forward Layer 2 traffic).
The Layer 3 entries programmed by the failed MSFC on the active supervisor engine are used until they
gracefully age out and are replaced by the Layer 3 entries populated by the newly active MSFC. Aging
takes 4 minutes and allows the newly active MSFC to repopulate the MLS entries using its XTAG value,
while concurrently hardware-switching flows yet to be aged. In addition, this process prevents a newly
active MSFC from being overwhelmed with initial flow traffic.
Note Each MSFC has its own XTAG value to identify itself as the MLS Route Processor. MSFC #1 (on the
active supervisor engine) has an XTAG of 1, and MSFC #2 (on the standby supervisor engine) has
an XTAG of 2.
Only Supervisor Engine 1 uses the XTAG values; XTAG values are not used on Supervisor Engine 2.
Caution For same-chassis Layer 3 redundancy to function as expected, the configuration on each MSFC must
be the same (see Table 22-2 on page 22-20).
Note Table 22-2 lists configuration exceptions. For example, in Figure 22-1, there are 4 MSFCs on
VLAN 10; therefore, each MSFC has different IP addresses and HSRP priorities.
Note In addition to defining the same ACLs on both MSFCs, you must also apply the ACLs to the same
VLAN interfaces on both MSFCs.
Note Dynamic and reflexive ACLs, which are based on actual data flow, may be programmed by either
MSFC.
Note PFC: For detailed information on hardware and software handling of IOS ACLs with the PFC, see
the “Hardware and Software Handling of Cisco IOS ACLs with PFC” section on page 16-10.
Note PFC2: For detailed information on hardware and software handling of IOS ACLs with the PFC2, see
the “Hardware and Software Handling of Cisco IOS ACLs with PFC2” section on page 16-12.
To determine the status of the designated MSFC, enter the show fm features or the show redundancy
command:
Router-15# show redundancy
Designated Router: 1 Non-designated Router:2
Redundancy Status: non-designated
Config Sync AdminStatus : enabled
Config Sync RuntimeStatus: enabled
(Sup #2/MSFC #2). Sup #1 is active and Sup #2 is in standby mode in both switches. High availability
is enabled on the supervisor engines. The supervisor engines automatically perform image and
configuration synchronization; you must manually synchronize the images and configurations on the
MSFCs.
Figure 22-2 Dual MSFC Operational Model for Redundancy and Load Sharing—VLANs 10 and 21
Trunk 1 Trunk 2
Switch S1 Switch S2
Slot 1 Slot 1
Sup#1/MSFC#1 Sup#1/MSFC#1
HSRP Active VLAN 10: priority 110 HSRP Standby VLAN 10: priority 108
HSRP Standby VLAN 21: priority 108 HSRP Active VLAN 21: priority 110
Slot 2 Slot 2
Sup#2/MSFC#2 Sup2/MSFC#2
38595
HSRP Standby VLAN 10: priority 109 HSRP Standby VLAN 10: priority 107
HSRP Standby VLAN 21: priority 107 HSRP Standby VLAN 21: priority 109
In Figure 22-2, you should configure redundancy and load sharing as follows:
• VLAN 10 (even-numbered VLANs)—Configure MSFC #1 in Switch S1 as the primary HSRP
router (priority 110) and configure MSFC #2 as the standby router (priority 109).
• VLAN 21 (odd-numbered VLANs)—Configure MSFC #1 in Switch S2 as the primary HSRP router
(priority 110) and configure MSFC #2 as the standby router (priority 109).
Load sharing is achieved by having the even-numbered VLANs routed by Switch S1 and the
odd-numbered VLANs by Switch S2. In a complete switch failure, the remaining switch would service
both even and odd VLANs.
You can achieve further load sharing by using MSFC #2 in Switch S1 as the primary HSRP router for
VLAN 12 and MSFC #2 as the primary HSRP router in Switch S2 for VLAN 23 (see Figure 22-3).
Figure 22-3 Dual MSFC Operational Model for Redundancy and Load Sharing—
VLANs 10, 12, 21, and 23
Trunk 1 Trunk 2
Switch S1 Switch S2
Slot 1 Slot 1
Sup#1/MSFC#1 Sup#1/MSFC#1
HSRP Active VLAN 10: priority 110 HSRP Standby VLAN 10: priority 108
HSRP Standby VLAN 21: priority 108 HSRP Active VLAN 21: priority 110
HSRP Standby VLAN 12: priority 109 HSRP Standby VLAN 12: priority 107
HSRP Standby VLAN 23: priority 107 HSRP Standby VLAN 23: priority 109
Slot 2 Slot 2
Sup#2/MSFC#2 Sup#2/MSFC#2
HSRP Standby VLAN 10: priority 109 HSRP Standby VLAN 10: priority 107
HSRP Standby VLAN 21: priority 107 HSRP Standby VLAN 21: priority 109
HSRP Active VLAN 12: priority 110 HSRP Standby VLAN 12: priority 108
38850
HSRP Standby VLAN 23: priority 108 HSRP Active VLAN 23: priority 110
Only the active HSRP router for a VLAN will respond with the HSRP MAC address for ARP requests
to the HSRP IP address. The active HSRP router will in turn ARP for the end stations’ MAC address and
populate its ARP cache. By using both MSFCs in a single chassis to share HSRP duties for even VLANs,
you can share the control plane ARP traffic. In an MSFC failure, only the ARP entries on the affected
VLAN would need to be relearned.
The tradeoff for this level of redundancy and load sharing is the added complexity of keeping track of
the even and odd VLANs on the MSFCs within a Catalyst 6000 family switch chassis.
MLS entries are created for packets arriving at the HSRP MAC addresses as well as those arriving with
the router’s real MAC addresses. HSRP is used for unicast traffic first-hop redundancy; for traffic
received through another router attached to VLAN 10, for example, the actual MAC address of
Sup #1/MSFC #1 is used.
Note While the examples are specific to the PFC, the failover scenarios for the PFC2/MSFC2 would be
similar for handling ACLs and CEF table entries. On a Supervisor Engine 2, the designated MSFC2
programs many of the ASICs on the PFC2 including building the CEF table. In a designated MSFC2
HSRP failover to the nondesignated MSFC2, the PFC2 continues to function with the CEF table
programmed by the previously designated MSFC2. Similar to the process with the MLS cache in a
Supervisor Engine 1/MSFC configuration, the newly designated MSFC2 eventually reprograms the
CEF table with its own entries and the old entries age out.
Figure 22-4 Single Chassis with Dual Supervisor Engines and Dual MSFCs
VLAN 10 VLAN 21
Slot 1
Sup#1(active)/MSFC#1
HSRP Active VLAN 10: priority 110
HSRP Standby VLAN 21: priority 109
Slot 2
Switch S1
Sup#2(standby)/MSFC#2
38596
HSRP Active VLAN 21: priority 110
HSRP Standby VLAN 10: priority 109
This sequence occurs when the active supervisor engine (Sup #1) fails:
1. Because the Layer 3 state is maintained, MLS entries of MSFC #1 gracefully age out of the
Sup #2 Layer 3 cache while MSFC #2 takes temporary ownership of these MLS entries using its
XTAG value.
2. The standby supervisor engine maintains the Layer 2 state so that there is no Layer 2 convergence
time.
3. MSFC #2 removes all dynamic and reflexive ACLs programmed in hardware by MSFC #1.
4. MSFC #2 reprograms the static ACLs in the Sup #2 ACL ASIC. MSFC #2 is now the designated
MSFC.
This sequence occurs when the standby supervisor engine (Sup #2) fails:
1. MLS entries for MSFC #2 gracefully age out of the Sup #1 Layer 3 cache while MSFC #1 takes
temporary ownership of these MLS entries using its XTAG value.
2. MLS entries from MSFC #1 are not affected.
3. MSFC #1 removes all dynamic and reflexive ACLs programmed in hardware by MSFC #2.
MSFC #1 remains the designated MSFC.
This sequence occurs when the previously failed supervisor engine (Sup #2) comes online:
1. Sup #1 continues to be the active supervisor engine.
2. Sup #2 synchronizes its image and configuration with Sup #1 (unless high-availability versioning is
enabled).
3. MSFC #2 (on Sup #2) comes up. If the HSRP preempt for VLAN 21 is configured, then MSFC #2
becomes HSRP active. The MLS entries for MSFC #1 are purged and then relearned via MSFC #2.
4. MSFC #1 remains the designated MSFC for the static ACLs.
Note PFC2: The PFC2 supports a maximum of 16 unique HSRP group numbers. You can use the same
HSRP group numbers in different VLANs. If you configure more than 16 HSRP groups, this
restriction prevents use of the VLAN number as the HSRP group number.
Note PFC2: Identically numbered HSRP groups use the same virtual MAC address, which might cause errors
if you configure bridging on the MSFC.
The standby use-bia option should not be used in an HSRP configuration. MLS entries are not created
when you use the standby use-bia option. When the standby use-bia option is configured, if an HSRP
active interface goes up and down, there will be no router CAM address for the standby VLAN interface
and without the router CAM entry, no shortcuts are created. This problem is independent of any MSFC
Cisco IOS release. (This problem is documented in caveat CSCdz17169.)
To configure HSRP on an MSFC VLAN interface, perform this task in interface configuration mode:
Task Command
Step 1 Enable HSRP and specify the HSRP IP Router(config-if)# standby [group_number] ip [ip_address]
address. If you do not specify a
group_number, group 0 is used. To assist in
troubleshooting, configure the group number
to match the VLAN number.
Step 2 Specify the priority for the HSRP interface. Router(config-if)# standby [group_number] priority priority
Increase the priority of at least one interface
in the HSRP group (the default is 100). The
interface with the highest priority becomes
active for that HSRP group.
Step 3 Configure the interface to preempt the current Router(config-if)# standby [group_number] preempt [delay
active HSRP interface and become active if delay]
the interface priority is higher than the
priority of the current active interface.
Step 4 (Optional) Set the HSRP hello timer and Router(config-if)# standby [group_number] timers hellotime
holdtime timer for the interface. The default holdtime
values are 3 (hello) and 10 (holdtime). All
interfaces in the HSRP group should use the
same timer values.
Step 5 (Optional) Specify a clear-text HSRP Router(config-if)# standby [group_number] authentication
authentication string for the interface. All string
interfaces in the HSRP group should use the
same authentication string.
This example shows how to configure an interface as part of HSRP group 100:
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface vlan100
Router(config-if)# standby 100 ip 172.20.100.10
Router(config-if)# standby 100 priority 110
Router(config-if)# standby 100 preempt
Router(config-if)# standby 100 timers 5 15
Router(config-if)# standby 100 authentication Secret
Router(config-if)# ^Z
Router#
Configuration Examples
This section describes three configuration options for achieving redundancy:
• Example 1—Two Chassis with One Supervisor Engine and One MSFC Each, page 22-28
• Example 2—Single Chassis with Dual Supervisor Engines and MSFCs, page 22-29
• Example 3—Double Chassis with Dual Supervisor Engines and MSFCs, page 22-30
For the following examples, the designated MSFC is on the active supervisor engine. To determine the
status of the designated MSFC, enter the show fm features or the show redundancy command. This
example shows that Router-16 is the designated MSFC:
Router-15# show redundancy
Designated Router: 1 Non-designated Router:2
Example 1—Two Chassis with One Supervisor Engine and One MSFC Each
In the example in Figure 22-5, high availability cannot be configured on the supervisor engines but
HSRP can be configured on the MSFCs.
Figure 22-5 Two Chassis with One Supervisor Engine and One MSFC Each
VLAN 10 VLAN 21
Slot 1 Slot 1
Sup#1/MSFC#1 Sup#1/MSFC#1
HSRP Active VLAN 10: priority 110 HSRP Active VLAN 21: priority 110
HSRP Standby VLAN 21: priority 109 HSRP Standby VLAN 10: priority 109
38597
Switch S1 Switch S2
This example shows how to configure HSRP on the MSFC in Switch S1:
Console> (enable) switch console 15
Trying Router-15...
Connected to Router-15.
Type ^C^C^C to switch back...
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface vlan10
Router(config-if)# standby 10 ip 172.20.100.10
Router(config-if)# standby 10 priority 110
Router(config-if)# standby 10 preempt
Router(config-if)# standby 10 timers 5 15
Router(config-if)# standby 10 authentication Secret
Router(config-if)# interface vlan21
Router(config-if)# standby 21 ip 192.20.100.21
This example shows how to configure HSRP on the MSFC in Switch S2:
Console> (enable) switch console 15
Trying Router-15...
Connected to Router-15.
Type ^C^C^C to switch back...
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface vlan10
Router(config-if)# standby 10 ip 172.20.100.10
Router(config-if)# standby 10 priority 109
Router(config-if)# standby 10 preempt
Router(config-if)# standby 10 timers 5 15
Router(config-if)# standby 10 authentication Secret
Router(config-if)# interface vlan21
Router(config-if)# standby 21 ip 192.20.100.21
Router(config-if)# standby 21 priority 110
Router(config-if)# standby 21 preempt
Router(config-if)# standby 21 timers 5 15
Router(config-if)# standby 21 authentication Secret
Router(config-if)# ^Z
Router# ^C^C^C
In the example in Figure 22-6, high availability is configured on the supervisor engines, and HSRP is
configured on the MSFCs.
VLAN 10 VLAN 21
Slot 1
Sup#1(active)/MSFC#1
HSRP Active VLAN 10: priority 110
HSRP Standby VLAN 21: priority 109
Slot 2
Switch S1
Sup#2(standby)/MSFC#2
38596
This example shows how to configure HSRP on the MSFC in Switch S1:
Console> (enable) switch console 15
Trying Router-15...
Connected to Router-15.
Type ^C^C^C to switch back...
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface vlan10
Router(config-if)# standby 10 ip 172.20.100.10
Figure 22-7 shows two Catalyst 6000 family switches (S1 and S2), each with a supervisor engine and
MSFC in slot 1 (Sup #1/MSFC #1) and slot 2 (Sup #2/MSFC #2). Because there is no Layer-2 loop,
HSRP is used for convergence and load sharing. In both switches, Sup #1 is the active supervisor engine,
and Sup #2 is the standby supervisor engine.
Figure 22-7 Dual MSFC Operational Model for Redundancy and Load Sharing
VLAN 10 VLAN 21
Slot 1 Slot 1
Sup#1/MSFC#1 Sup#1/MSFC#1
HSRP Active VLAN 10: priority 110 HSRP Standby VLAN 10: priority 108
HSRP Standby VLAN 21: priority 108 HSRP Active VLAN 21: priority 110
Slot 2 Slot 2
Switch S1 Switch S2
Sup#2/MSFC#2 Sup#2/MSFC#2
HSRP Standby VLAN 10: priority 109
38599
This example shows how to configure HSRP on the MSFC in Switch S1:
Console> (enable) switch console 15
Trying Router-15...
Connected to Router-15.
Type ^C^C^C to switch back...
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface vlan10
Router(config-if)# standby 10 ip 172.20.100.10
Router(config-if)# standby 10 priority 110
Router(config-if)# standby 10 preempt
Router(config-if)# standby 10 timers 5 15
Router(config-if)# standby 10 authentication Secret
Router(config-if)# interface vlan21
Router(config-if)# standby 21 ip 192.20.100.21
Router(config-if)# standby 21 priority 108
Router(config-if)# standby 21 preempt
Router(config-if)# standby 21 timers 5 15
Router(config-if)# standby 21 authentication Secret
Router(config-if)# ^Z
Router# ^C^C^C
This example shows how to configure HSRP on the MSFC in Switch S2:
Console> (enable) switch console 15
Trying Router-15...
Connected to Router-15.
Type ^C^C^C to switch back...
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface vlan10
Router(config-if)# standby 10 ip 172.20.100.10
Router(config-if)# standby 10 priority 108
Router(config-if)# standby 10 preempt
Router(config-if)# standby 10 timers 5 15
Router(config-if)# standby 10 authentication Secret
Router(config-if)# interface vlan21
Router(config-if)# standby 21 ip 192.20.100.21
Router(config-if)# standby 21 priority 110
Router(config-if)# standby 21 preempt
Router(config-if)# standby 21 timers 5 15
Router(config-if)# standby 21 authentication Secret
Router(config-if)# ^Z
Router# ^C^C^C
Caution Configuration synchronization is only supported for IP and IPX configurations. Before enabling
synchronization, you must ensure that both MSFCs have identical configurations for all protocols. If
you are using AppleTalk, DECnet, VINES or any other routing, you must manually ensure that
identical configurations are on both MSFCs for all protocols.
To determine the status of the designated MSFC, enter the show fm features or the show redundancy
command:
Router-15# show redundancy
Designated Router: 1 Non-designated Router:2
When you enable high-availability redundancy, every configuration command executed on the
designated MSFC is sent to the nondesignated MSFC. Also, the running configuration synchronization
is updated when you enter the copy source running-config command on the designated MSFC.
These sections provide information about MSFC configuration synchronization:
• Configuration Synchronization States, page 22-33
• alt Keyword Usage, page 22-33
When you enable the Config Sync RuntimeStatus, the configuration mode on the nondesignated MSFC
is disabled; only the EXEC mode is still available. Configuration of both MSFCs is made through the
console or a Telnet session on the designated MSFC.
To configure both MSFCs from a single console, enter the alt keyword to specify an alternate
configuration. When specifying the alternate configuration, the configuration specified before the alt
keyword relates to the MSFC on the supervisor engine in slot 1 of the switch; the configuration specified
after the alt keyword relates to the MSFC on the supervisor engine in slot 2.
Note The alt keyword is required when Config Sync AdminStatus is enabled.
Table 22-3 shows the interface and global configuration commands that contain the alt keyword.
Table 22-3 Interface and Global Configuration Commands Containing the alt Keyword
This example shows how the alt keyword is used when entering the ip address command:
Router-1(config-if)# ip address 1.2.3.4 255.255.255.0 alt ip address 1.2.3.5 255.255.255.0
Task Command
Step 1 Enable redundancy. redundancy
Step 2 Enable high availability. high-availability
Step 3 Enable or disable configuration [no] config-sync
synchronization.
This example shows how to enable high-availability redundancy and configuration synchronization
(Router-15 is the designated MSFC):
Console>(enable) session 15
Trying Router-15...
Connected to Router-15.
Escape character is ’^]’.
Router-15> enable
Router-15# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router-15(config)# redundancy
Router-15(config-r)# high-availability
Router-15(config-r-ha)# config-sync
Router-15(config-r-ha)# end
Note When you enable high-availability redundancy, the configuration mode is disabled on the
nondesignated MSFC; only the EXEC mode is available.
In this example, Router-16 is the nondesignated MSFC; high-availability redundancy and configuration
synchronization are enabled:
Console>(enable) session 16
Trying Router-16...
Connected to Router-16.
Escape character is ’^]’.
Router-16> enable
Router-16# configure terminal
Config mode is disabled on non-designated Router, please configure from designated Router
Note When specifying the alternate IP configuration, the configuration specified before the alt keyword
relates to the MSFC on the supervisor engine in slot 1 of the switch; the configuration specified after
the alt keyword relates to the MSFC on the supervisor engine in slot 2. See the “alt Keyword Usage”
section on page 22-33 for more information.
This example shows how to specify the alternate configuration for VLAN 1:
Router-16(config)# interface vlan 1
Router-16(config-if)# ip address 70.0.70.4 255.255.0.0 alt ip address 70.0.70.5
255.255.0.0
Router-16(config-if)# exit
Because the Config Sync AdminStatus on the nondesignated MSFC is disabled, the Config Sync
RuntimeStatus on the designated MSFC will remain in disabled mode. The following message is
displayed on the designated MSFC:
00:17:05: %RUNCFGSYNC-6-SYNCEVENT:
Non-Designated Router is now online
High-Availability Redundancy Feature is not enabled on the Non-Designated Router
This example shows how to enable the configuration synchronization feature on the nondesignated
MSFC:
Router-151(config)# redundancy
Router-15(config-r)# high-availability
Router-15(config-r-ha)# config-sync
Router-15(config-r-ha)# end
Router-15#
00:03:31: %SYS-5-CONFIG_I: Configured from console by console
Note When you enable high-availability redundancy, the configuration mode is disabled on the console of
the nondesignated MSFC; only the EXEC mode is available.
The following message, acknowledging that the high-availability redundancy is enabled, and that the
configuration mode will be automatically exited, is displayed on the nondesignated MSFC:
00:18:57: %RUNCFGSYNC-6-SYNCEVENT:
The High-Availability Redundancy Feature is enabled
The config mode is no longer accessible
Router-15#
00:19:41: %RUNCFGSYNC-6-SYNCEVENT:
Non-Designated Router is now online
Running Configuration Synchronization will begin in 1 minute
A one-minute timer will start, allowing for stabilization of the nondesignated MSFC. When the timer
expires, a snapshot of the current running configuration is sent to the nondesignated MSFC. This
message is displayed before the running configuration is synchronized:
00:20:41: %RUNCFGSYNC-6-SYNCEVENT:
Syncing Running Configuration to the Non-Designated Router
00:20:41: %RUNCFGSYNC-6-SYNCEVENT:
Syncing Startup Configuration to the Non-Designated Router
These examples show that the designated MSFC and nondesignated MSFC have the same running
configuration after synchronization:
<designated MSFC>
Router-16# show running-config
Building configuration...
Current configuration:
!
version 12.1
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Router-15 alt hostname Router-16
!
boot bootldr bootflash:c6msfc-boot-mz.120-7.XE1
!
ip subnet-zero
!
ip cef
redundancy
high-availability
config-sync
cns event-service server
!
!
!
interface Vlan1
ip address 70.0.70.4 255.255.0.0 alt ip address 70.0.70.5 255.255.0.0
!
interface Vlan10
ip address 192.10.10.1 255.255.255.0 alt ip address 192.10.10.2 255.255.255.0
no ip redirects
shutdown
standby ip 192.20.20.1 alt standby ip 192.20.20.1
!
ip classless
ip route 223.255.254.0 255.255.255.0 70.0.100.0
no ip http server
!
!
!
line con 0
transport input none
line vty 0 4
login
transport input lat pad mop telnet rlogin udptn nasi
!
end
<nondesignated MSFC>
Router-15# show running-config
Building configuration...
Current configuration:
!
version 12.1
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
In this scenario, configuration synchronization is enabled. These examples show how to disable
configuration synchronization:
Router-16# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)# redundancy
Router2(config-r)# high-availability
Router2(config-r-ha)# no config-sync
Configuration mode is available on the CLI of the designated and nondesignated MSFC.
In this scenario, Config Sync AdminStatus is enabled. The designated MSFC validates the alternate
configuration, allowing configuration synchronization to occur when the nondesignated MSFC
comes up.
Because the nondesignated MSFC is not up yet, Config Sync RuntimeStatus is disabled, and there is no
configuration synchronization. See the “Scenario 4: Nondesignated MSFC Comes Up” section on
page 22-39 for information on the nondesignated MSFC.
This example shows that Router-16 is the designated MSFC, Config Sync AdminStatus is enabled, and
Config Sync RuntimeStatus is disabled:
Router-16# show redundancy
Designated Router: 1 Non-designated Router:0
00:00:51: %RUNCFGSYNC-6-SYNCEVENT:
Non-Designated Router is now online
Running Configuration Synchronization will begin in 1 minute
A one-minute timer will start, allowing the nondesignated MSFC to stabilize. When the timer expires, a
snapshot of the current running configuration is sent to the nondesignated MSFC. The following
message is displayed before synchronizing the running configuration:
00:01:51: %RUNCFGSYNC-6-SYNCEVENT:
Syncing Running Configuration to the Non-Designated Router
This example shows how to enable the high-redundancy availability feature on the nondesignated
MSFC:
Router-15# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router-15(config)# redundancy
Router-15(config-r)# high-availability
Router-15(config-r-ha)# config-sync
Router-15(config-r-ha)#
00:03:47: %SYS-5-CONFIG_I: Configured from console by console
00:03:47: %RUNCFGSYNC-6-SYNCEVENT:
The High-Availability Redundancy Feature is enabled
The config mode is no longer accessible
00:00:51: %RUNCFGSYNC-6-SYNCEVENT:
Non-Designated Router is now online
Running Configuration Synchronization will begin in 1 minute
A one-minute timer will start, allowing the nondesignated MSFC to stabilize. When the timer expires, a
snapshot of the current running configuration is sent to the nondesignated MSFC. This message is
displayed before synchronizing the running configuration:
00:01:51: %RUNCFGSYNC-6-SYNCEVENT:
Syncing Running Configuration to the Non-Designated Router
These examples show that Config Sync AdminStatus and RuntimeStatus are enabled on the designated
and nondesignated MSFCs:
Router-15# show redundancy
Designated Router: 1 Non-designated Router:2
In this scenario, the nondesignated MSFC will become the designated MSFC. Configuration
synchronization is disabled, and the configuration mode on the CLI is now available.
When the previously designated MSFC comes back up, it will become the nondesignated MSFC; see the
“Scenario 4: Nondesignated MSFC Comes Up” section on page 22-39.
Note Cisco IOS Release 12.1(8a)E4 provides initial support for single router mode (SRM)
redundancy with Supervisor Engine 1 and MSFC.
When using Supevisor Engine 1 with the MSFC or MSFC2 for SRM redundancy, be aware that
failover to the second MSFC is not stateful for multicast MLS. When the primary MSFC fails, all
multicast MLS entries are removed and are then recreated and reinstalled in the hardware by the
newly active MSFC.
Configuration Guidelines
Use these guidelines when configuring SRM redundancy:
• SRM redundancy requires that both the designated router and nondesignated router run the same
Cisco IOS image.
• SRM redundancy requires that a Cisco IOS image is present in the bootflash of both the designated
router and nondesignated router.
• With SRM redundancy, the nondesignated router cannot connect to external networks.
• With SRM redundancy, we do not recommend booting from an external network with the designated
router. Booting from the network could severely degrade SRM functionality.
• With SRM redundancy, the designated router can reach external networks and copy commands such
as copy tftp: can be used without any restrictions.
• For SRM to work properly, high availability must be enabled on the supervisor engine.
• When using authentication methods to control access to the switch such as RADIUS or TACACS+,
you need to configure a fallback option to login in with a local username and password if you want
to be able to access the nondesignated router through the switch console or session commands.
See Chapter 21, “Configuring Switch Access Using AAA” for information on configuring the
fallback option.
Caution Before going from dual router mode to SRM redundancy, we recommend that you use the copy
running-config command on the MSFCs to save the non-SRM configuration to bootflash. When
going to SRM redundancy, the alternative configuration (the configuration following the alt
keyword) is lost. Therefore, before enabling SRM redundancy, save the dual router mode
configuration to bootflash by entering the following command on both MSFCs:
copy running-config bootflash:nosrm_dual_router_config.
See the “Getting Out of Single Router Mode” section on page 22-45 for additional information.
Note This procedure assumes that the designated router is the MSFC2 in slot 1 and the nondesignated
router is the MSFC2 in slot 2; the active supervisor engine is in slot 1 and the standby supervisor
engine is in slot 2.
Step 1 Enter the show version command to ensure that both supervisor engines are running supervisor engine
software release 6.3(1) or later releases.
Step 2 Enter the set system highavailability enable command to enable high availability on the active
supervisor engine. Enter the show system highavailability command to verify that high availability is
enabled.
Step 3 If you have a console connection, enter the switch console command to access the designated router. If
connected through a Telnet session, enter the session mod command to access the designated router.
Step 4 Copy the Cisco IOS Release 12.1(8a)E2 or later image to the bootflash of the designated router and
nondesignated router.
Step 5 Set the boot image and configuration register on the designated router and nondesignated router to boot
the new image on a reload:
For the designated router, enter boot system flash bootflash:image_name and ensure that this image is
the first in the boot list. Clear any existing “'boot system” commands that appear in the running
configuration (show running-config) using the no form of the boot system command.
For the nondesignated router, set the configuration register to auto boot by entering
config-register 0x102.
Step 6 Enter the reload command to reload the designated router and nondesignated router.
Note If you already have SRM-capable Cisco IOS images loaded, you do not need to perform
Step 6.
Step 7 Disable configuration synchronization (config-sync) on the designated router using the no form of the
command. Enter the write memory command. This lets you have access to configuration mode on both
designated and nondesignated routers.
Step 8 Enable SRM on the designated router first, and then enable SRM on the nondesignated router as follows:
Router(config)#redundancy
Router(config-r)#high-availability
Router(config-r-ha)#single-router-mode
Step 9 Enter the write memory command on the designated router to ensure that the nondesignated router’s
start-up configuration has SRM enabled.
Step 10 Enter the show startup-config command on the nondesignated router to ensure that the nondesignated
router has the following configuration statements:
redundancy
high-availability
single-router-mode
Step 11 Enter the show redundancy command on the designated router and nondesignated router to ensure that
both have the following configuration statement:
Single Router Mode RuntimeStatus: enabled
Note This procedure impacts data traffic. We recommend that it be performed during a scheduled maintenance
window.
Step 1 On the active supervisor engine, enter the copy tftp sup-slot0: command and follow the prompts to load
the new (c6msfc2-jsv-mz.9E) image onto the supervisor engine Flash PC card.
Step 2 If you have a console connection, enter the switch console command to access the active MSFC. If you
are connected through a Telnet session, enter the session mod command to access the active MSFC.
Step 3 On the active MSFC, copy the new image from the supervisor engine Flash PC card to the MSFC
bootflash as follows:
copy sup-slot0:c6msfc2-jsv-mz.9E bootflash:c6msfc2-jsv-mz.9E
Step 4 Access the standby MSFC by entering the switch supervisor command and then the switch console
command on the active supervisor engine.
Note The standby MSFC does not appear in the show module command display that is issued from the active
supervisor engine.
Step 5 On the standby MSFC, copy the new image from the supervisor engine Flash PC card to the MSFC
bootflash as follows:
copy sup-slot0:c6msfc2-jsv-mz.9E bootflash:c6msfc2-jsv-mz.9E
Step 6 On the active MSFC, specify that the new image is booted when the MSFC is reloaded as follows:
boot system flash bootflash:c6msfc2-jsv-mz.9E
Step 7 On the active MSFC, enter the write memory command to ensure that the standby MSFC start-up
configuration gets the boot information.
Step 8 Enter the reload command to reload the standby MSFC.
Step 9 Enter the show redundancy command on the active and standby MSFCs to ensure that both have the
following configuration statement:
Single Router Mode RuntimeStatus: enabled
Note If you saved a copy of the running configuration used in dual router mode before configuring SRM
redundancy, you do not need to use the procedure in this section. To get out of SRM redundancy and
back to dual router mode, enter the following command on both MSFCs:
copy bootflash:nosrm_dual_router_config startup-config. After the configurations are copied,
reload the MSFCs using the reload command.
Step 1 On the designated router, disable SRM using the no form of the command as follows:
Router(config)#redundancy
Router(config-r)#high-availability
Router(config-r-ha)#no single-router-mode
Step 2 Enter the write memory command on the designated router and nondesignated router.
Step 3 Enter the show startup-config command on the designated and nondesignated routers to ensure that
“single-router mode” is not in the startup configuration.
Step 4 Enter the reload command to reload the designated router and nondesignated router.
SRM is now disabled on the designated router and nondesignated router.
Note Manual-mode MSFC redundancy will be supported until December, 2002, due to the release of
supervisor engine software release 6.3(1), which contains the feature SRM. Cisco recommends using
SRM rather than manual-mode MSFC redundancy to attain automatic Layer-3 failover capabilities
in addition to unlimited support of the feature.
These sections describe how to configure redundant MSFCs with one MSFC active and the other MSFC
in ROM-monitor mode:
• Hardware and Software Requirements, page 22-46
• Guidelines for Configuring Manual-Mode MSFC Redundancy, page 22-46
• Accessing the Standby MSFC, page 22-47
• Manually Booting the MSFC, page 22-47
• Setting the MSFC Configuration Register, page 22-47
• MSFC Recovery Procedures, page 22-48
Note Each MSFC must be running the same release of Cisco IOS software.
Note Setting both MSFCs to 0x0 is a supported option but requires user intervention in the event the switch
is reset.
• To conserve IP address space and reduce the overall Layer 3 complexity, ensure that configuration
synchronization is disabled on both MSFCs and that all “alt” addresses are removed. If alt addresses
are used, IP address space is not conserved and in cases where link-level peering is present (such as
BGP), the Layer 3 complexity is increased.
• When the MSFC in ROM-monitor mode is brought up during a maintenance window, ensure that it
has the exact same configuration as the active MSFC. Follow the configuration guidelines in
Table 22-2 on page 22-20.
• During manual-mode MSFC redundancy, high availability should be enabled on the supervisor
engine to keep Layer 2 downtime to a minimum when doing an MSFC switchover. Since high
availability is not compatible with protocol filtering, port security, DVLAN, or GVRP, we
recommend that you disable these features when using manual-mode MSFC redundancy.
• Ensure that the console port on both supervisor engines is accessible to operations personnel
(out-of-band access through terminal server or modem).
The procedures in this section use the switch console command to access the MSFC from the
supervisor engine. The switch console command is not supported on Telnet sessions.
Note The standby MSFC does not appear in the show module command display issued from the active
supervisor engine.
Step 1 Enter the switch console command to gain access to the MSFC ROMMON prompt.
Step 2 Enter the boot bootflash:image command.
Step 3 Once the MSFC has booted, enter ^C^C^C at the Router> prompt to return to the supervisor engine
prompt. Now you may enter the session command to access the MSFC.
Step 1 From Cisco IOS configuration mode on the active MSFC (MSFC-15), perform the following:
Router(config)#config-register 0x2102
Router(config)#
Step 2 From Cisco IOS configuration mode on the MSFC in ROM-monitor mode (MSFC-16), perform the
following:
Router(config)#config-register 0x0
Router(config)#
Note We recommend that boot system commands in both MSFC configurations point to a valid image on
bootflash and that you do not set the configuration registers to ignore these boot commands.
If you have physical access to the switch, use this option. You can remove the active supervisor engine
with the problematic MSFC, so the redundant supervisor engine will take over. From the redundant
supervisor engine’s physical console port, perform these steps:
If you only have remote access to the switch, use this option. From the active supervisor engine with the
problematic MSFC, perform these steps:
Note If the problematic MSFC is on the standby supervisor engine, enter the switch supervisor
command.
##########################################################################################
##########################################################################################
##########################################################################################
##########################################################################################
##########################################################################################
### [OK]
Configuration Summary
enabled are:
load rom after netboot fails
console baud: 9600
boot: the ROM Monitor
You must reset or power cycle for new config to take effect
rommon 2 >
Step 10 Enter the reset command at the ROMMON prompt to boot the system.
Step 11 After the MSFC has booted from the IOS configuration mode on the newly active MSFC’s console port,
enter the config-register 0x2102 command.
This chapter describes how to modify the switch boot configuration on the Catalyst 6000 family
switches, including the BOOT environment variable, the CONFIG_FILE environment variable, and the
configuration register.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Two user-configurable parameters determine how the switch boots: the configuration register and the
BOOT environment variable. The configuration register is described in the “Understanding the
Configuration Register” section on page 23-2. The BOOT environment variable is described in the
“Understanding the BOOT Environment Variable” section on page 23-3.
Note The Break key is always enabled for 60 seconds after rebooting the system, regardless of whether
the configuration-register setting has the Break key disabled.
• When the boot field equals a value between 0010 and 1111, the switch loads the system image
specified by boot system commands in the NVRAM configuration. It attempts to boot the image in
the order in which you entered the boot system commands. If it cannot boot any image in the BOOT
environment variable list, the switch remains in ROM-monitor mode. The exact booting sequence
is defined by the ROM monitor.
The other bits in the configuration register function as follows when set:
• Bit 5 (0x0020)—Enables CONFIG_FILE recurrence.
• Bit 6 (0x0040)—Causes system software to clear NVRAM contents.
• Bit 7 (0x0080)—Enables OEM bit (not used).
• Bit 8 (0x0100)—Disables break.
• Bit 9 (0x0200)—Uses secondary bootstrap (not used by the ROM monitor).
• Bit 10 (0x0400)—Provides IP broadcast with all zeros (not used).
• Bits 11/12 (0x0800/0x1000)—Provide console line speed: 0/0=9600, 0/1=1200, 1/0=4800,
1/1=2400 (default is 9600).
• Bit 13 (0x2000)—Boots default Flash software if network boot fails (not used).
• Bit 14 (0x4000)—IP broadcasts do not have network numbers (not used).
• Bit 15 (0x8000)—Enables diagnostic messages and ignores NVRAM contents (not used).
• Recurring—When you add a list of configuration files to the CONFIG_FILE environment variable,
the list is stored indefinitely in NVRAM. Each time the switch is restarted, the system erases the
configuration in NVRAM and configures the switch using the configuration files specified. The
CONFIG_FILE environment variable is not cleared.
For information on specifying recurrence or nonrecurrence, see the “Setting CONFIG_FILE
Recurrence” section on page 23-7.
• Overwrite—When you add a list of configuration files to the CONFIG_FILE environment variable,
overwriting means that the NVRAM configuration will be cleared before executing the
configuration files. Overwrite is the default setting.
• Append—Append means that the configuration files will be executed without first clearing
NVRAM.
For information on specifying overwriting or appending, see the “Setting CONFIG_FILE
Overwrite” section on page 23-7.
• Sync enable—Enables synchronization to force the configuration files to synchronize automatically
to the standby supervisor engine. The file(s) are kept consistent with what is on the active supervisor
engine.
• Sync disable—Disables synchronization.
For information on specifying synchronization, see the “Setting CONFIG_FILE Synchronization”
section on page 23-8.
Tip Remember that you can alter the CONFIG_FILE environment variable or change its other properties
by commands in the configuration files used to configure the switch at startup.
You can add multiple configuration files to the CONFIG_FILE environment variable. The specified files
can be any valid configuration file stored on a local Flash device (bootflash: or slot0:).
When the switch boots up, if any of the files specified in the CONFIG_FILE environment variable are
valid configuration files, the configuration in NVRAM is erased and the system uses the specified
configuration file to configure the switch. If multiple valid configuration files are specified, each
configuration file is executed in the order in which it appears in the CONFIG_FILE environment
variable.
If any specified file is not a valid configuration file, the entry is skipped and subsequent files are tried
until there are no additional images specified. If no valid configuration file is specified, the system
retains the last configuration stored in NVRAM.
Note We recommend that you use only the rommon and system options to the set boot config-register
boot command.
To set the configuration register boot field, perform this task in privileged mode:
Task Command
Set the boot field in the configuration register. set boot config-register boot {rommon |
bootflash | system} [mod]
This example shows how to set the boot field in the configuration register:
Console> (enable) set boot config-register boot rommon
Configuration register is 0x0
ignore-config: disabled
auto-config: non-recurring
console baud: 9600
boot: the ROM monitor
Console> (enable)
Note The baud rate specified in the configuration register is used by the ROM monitor only and is different
from the baud rate specified by the set system baud command.
To set the ROM-monitor console-port baud rate in the configuration register, perform this task in
privileged mode:
Task Command
Set the ROM-monitor console-port baud rate in set boot config-register baud {1200 | 2400 | 4800
the configuration register. | 9600} [mod]
This example shows how to set the ROM-monitor console-port baud rate in the configuration register to
2400:
Console> (enable) set boot config-register baud 2400
Configuration register is 0x1800
ignore-config: disabled
auto-config: non-recurring
console baud: 2400
boot: the ROM monitor
Console> (enable)
Caution With the CONFIG_FILE environment variable set to recurring, the current configuration in
NVRAM is erased each time the switch is restarted and the switch is configured using the specified
configuration files. With the CONFIG_FILE environment variable set to non-recurring, the current
configuration in NVRAM is erased at the next restart and the switch is configured using the specified
configuration files. The NVRAM configuration is retained after subsequent restarts (unless you again
set the CONFIG_FILE variable).
To set the switch to retain the current CONFIG_FILE environment variable indefinitely, perform this
task in privileged mode:
Task Command
Set the switch to retain the current set boot config-register auto-config
CONFIG_FILE environment variable {recurring | non-recurring}
indefinitely.
This example shows how to set the switch to retain the current CONFIG_FILE environment variable
indefinitely:
Console> (enable) set boot config-register auto-config recurring
Configuration register is 0x1820
ignore-config: disabled
auto-config: recurring, overwrite, sync disabled
console baud: 2400
boot: the ROM monitor
Console> (enable)
To specify if the auto-config file should be used to overwrite the NVRAM configuration or if the file
configuration should be appended to what is currently in NVRAM, perform this task in privileged mode:
Task Command
Specify if the auto-config file should be used to set boot config-register auto-config
overwrite the NVRAM configuration or if the file {overwrite | append}
configuration should be appended to what is
currently in NVRAM.
This example shows how to specify that the auto-config file be used to overwrite the NVRAM
configuration:
Console> (enable) set boot config-register auto-config overwrite
Configuration register is 0x12F
ignore-config: disabled
auto-config: recurring, overwrite, sync disabled
console baud: 9600
boot: image specified by the boot system commands
Console> (enable)
This example shows how to specify that the auto-config file be appended to what is currently in
NVRAM:
Console> (enable) set boot config-register auto-config append
Configuration register is 0x12F
ignore-config: disabled
auto-config: recurring, append, sync disabled
console baud: 9600
boot: image specified by the boot system commands
Console> (enable)
Task Command
Specify if synchronization should be enabled or set boot config-register auto-config sync
disabled. {enable | disable}
Caution Enabling the ignore-config parameter is the same as entering the clear config all command; that is,
it clears the entire configuration stored in NVRAM the next time the switch is restarted.
To set the switch to ignore the NVRAM configuration at the next startup, perform this task in privileged
mode:
Task Command
Set the switch to ignore the contents of NVRAM set boot config-register ignore-config enable
at startup.
This example shows how to set the switch to ignore the NVRAM configuration at the next startup:
Console> (enable) set boot config-register ignore-config enable
Configuration register is 0x1860
ignore-config: enabled
auto-config: recurring
console baud: 2400
boot: the ROM monitor
Console> (enable)
Task Command
Set the configuration register. set boot config-register 0xvalue [mod]
This example shows how to set the configuration register value to 0x90f:
Console> (enable) set boot config-register 0x90f
Configuration register is 0x90f
ignore-config: disabled
auto-config: non-recurring
console baud: 4800
boot: image specified by the boot system commands
Console> (enable)
Task Command
Set the BOOT environment variable. set boot system flash device:[filename]
[prepend] [mod]
Task Command
Clear a specific image from the BOOT clear boot system flash device:[filename] [mod]
environment variable.
Clear the entire BOOT environment variable. clear boot system all [mod]
This example shows how to clear a specific entry from the BOOT environment variable:
Console> (enable) clear boot system flash bootflash:cat6000-sup.5-1-1.bin
BOOT variable = bootflash:cat6000-sup.5-2-1.bin,1;bootflash:cat6000-sup.4-5-2.
bin,1;
Console> (enable)
This example shows how to clear the entire BOOT environment variable:
Console> (enable) clear boot system all
BOOT variable =
Console> (enable)
Note You cannot prepend or append configuration files to the CONFIG_FILE environment variable.
Entering the set boot auto-config command erases any list of configuration files previously specified
using the set boot auto-config command.
To set the CONFIG_FILE environment variable, perform this task in privileged mode:
Task Command
Set the CONFIG_FILE environment variable. set boot auto-config
device:filename[;device:filename...]
Task Command
Clear the entries in the CONFIG_FILE clear boot auto-config
environment variable.
This example shows how to clear the entries in the CONFIG_FILE environment variable:
Console> (enable) clear boot auto-config
CONFIG_FILE variable =
Console> (enable)
Task Command
Display the current configuration register, the show boot [mod]
BOOT environment variable, and the
CONFIG_FILE environment variable settings.
This example shows how to display the current configuration register, the BOOT environment variable,
and the CONFIG_FILE environment variable settings:
Console> (enable) show boot
BOOT variable = bootflash:cat6000-sup.5-2-1.bin,1;
CONFIG_FILE variable = bootflash:generic.cfg;bootflash:6509_1_noc.cfg
Console> (enable)
This chapter describes how to use the Flash file system on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Task Command
Step 1 Set the default Flash device for the switch. cd [[m/][bootflash: | slot0:]]
Step 2 Verify the default Flash device for the switch. pwd [mod]
This example shows how to change the default Flash device to slot0: and verify the default device:
Console> (enable) cd slot0:
Console> (enable) pwd
slot0
Console> (enable)
Note VLAN commands are not saved as part of the configuration file when the switch is operating in text
mode with the VTP mode set to server.
Task Command
Step 1 Set the file configuration mode for the system to set config mode {binary | text} [nvram |
text. device:file-id]
Step 2 Verify the file configuration mode for the system. show config mode
Step 3 Save the text file configuration. write memory
Step 4 Display the current runtime configuration. show running-config all
Step 5 Display the startup configuration that will be used show config
after the next reset.
This example shows how to configure the system to save its configuration as a text file in NVRAM,
verify the configuration mode, and display the current runtime configuration:
Console> (enable) set config mode text nvram
Binary system configuration has been deleted from NVRAM. Configuration
mode set to text. Use the write memory command to save configuration changes.
System configuration file set to: nvram
The nvram file will be used for configuration during the next bootup.
Console> (enable) show config mode
System configuration mode set to text.
System configuration file set to nvram.
Console> (enable) show running-config all
...........
begin
!
# ***** ALL (DEFAULT and NON-DEFAULT) CONFIGURATION *****
!
!
#time: Wed Jul 18 2001, 06:51:56
!
#version 6.3(0.74)
!
set password $2$FMFQ$HfZR5DUszVHIRhrz4h6V70
set enablepass $2$FMFQ$HfZR5DUszVHIRhrz4h6V70
set prompt Console>
set length 24 default
set logout 20
set config mode text nvram
set banner motd ^C^C
set banner lcd ^C^C
!
#test
set test diaglevel complete
!
#errordetection
set errordetection inband disable
set errordetection memory disable
set errordetection portcounter enable
!
#system
set system baud 9600
set system modem disable
set system name
set system location
----display truncated------
Console> (enable)
Task Command
Display a list of files on a Flash device. dir [[m/]device:][filename]
Display a list of deleted files on a Flash device. dir [[m/]device:][filename] deleted
Display a list of all files on a Flash device, including dir [[m/]device:][filename] all
deleted files.
Display a detailed list of files on a Flash device. dir [[m/]device:][filename] long
This example shows how to list the files on the default Flash device:
Console> (enable) dir
-#- -length- -----date/time------ name
4 3134688 Mar 15 1999 08:27:01 cat6000-sup.5-2-1-CSX.bin
5 3231989 Jan 24 1999 12:04:40 cat6000-sup.5-1-1-CSX.bin
6 135 Feb 17 1999 11:30:05 dns_config.cfg
This example shows how to list the files on a Flash device other than the default device:
Console> (enable) dir slot0:
-#- -length- -----date/time------ name
1 3209261 Jun 16 1998 13:18:19 cat6000-sup.5-2-1-CSX.bin
2 135 Jul 17 1998 11:32:53 dns-config.cfg
3 3231989 Jul 17 1998 16:54:23 cat5000-sup3.4-1-2.bin
4 8589 Jul 17 1998 17:02:52 6000_config.cfg
This example shows how to list the deleted files on the default Flash device:
Console> (enable) dir deleted
-#- ED --type-- --crc--- -seek-- nlen -length- -----date/time------ name
1 .D ffffffff 81a027ca 41bdc 22 7004 Apr 01 1998 15:27:45 5002.config.
4.1.98.cfg
2 .D ffffffff ccce97a3 43644 23 6630 Apr 01 1998 15:36:47 5002.default
.config.cfg
3 .D ffffffff 81a027ca 45220 15 7004 Apr 19 1998 10:05:59 5002_config.
cfg
Copying Files
To copy a file, perform one of these tasks in privileged mode:
Task Command
Copy a Flash file to a TFTP server, rcp server, copy file-id {tftp | rcp | flash | file-id | config}
Flash memory, another Flash device, or to the
running configuration.
Copy a file from a TFTP server, rcp server to copy {tftp | rcp} {flash | file-id | config}
Flash memory, to a Flash device, or to the running
configuration.
Copy a file from Flash memory to a TFTP server, copy flash {tftp | rcp | file-id | config}
rcp server, to a Flash device, or to the running
configuration.
Copy the running configuration to Flash memory, copy config {flash | file-id | tftp | rcp}
another Flash device, to a TFTP server, or rcp
server.
This example shows how to copy a file from the default Flash device to another Flash device:
Console> (enable) copy cat6000-sup.5-2-1-CSX.bin slot0:
This example shows how to copy a file from a TFTP server to the running configuration:
Console> (enable) copy tftp config
IP address or name of remote host []? 172.20.52.3
Name of file to copy from []? dns_config.cfg
This example shows how to download a configuration file from a TFTP server for storage on a Flash
device:
Console> (enable) copy tftp flash
IP address or name of remote host []? 172.20.52.3
Name of file to copy from []? dns-config.cfg
Flash device [slot0]?
Name of file to copy to [dns-config.cfg]?
This example shows how to copy the running configuration to Flash memory:
Console> (enable) copy config flash
Flash device [bootflash]? slot0:
Name of file to copy to []? 6000_config.cfg
..
Configuration has been copied successfully.
Console> (enable)
This example shows how to upload a configuration file on a Flash device to a TFTP server:
Console> (enable) copy slot0:6000_config.cfg tftp
IP address or name of remote host []? 172.20.52.3
Name of file to copy to [6000_config.cfg]?
/
File has been copied successfully.
Console> (enable)
This example shows how to upload an image from a remote host into Flash using rcp:
Console> (enable) copy rcp flash
IP address or name of remote host []? 172.20.52.3
Name of file to copy from []? 6000_config.cfg
Flash device [bootflash]?
Name of file to copy to [6000_config.cfg]?
Deleting Files
Caution If you enter the squeeze command on a Flash device, you cannot restore files deleted prior to the
squeeze command.
Task Command
Step 1 Delete a file on a Flash device. delete [[m/]device:]filename
Step 2 If desired, permanently remove all deleted files on squeeze [m/]device:
the Flash device (this operation can take a number
of minutes to complete).
Step 3 Verify the files are deleted. dir [[m/]device:][filename]
This example shows how to permanently remove all deleted files from a Flash device:
Console> (enable) squeeze slot0:
All deleted files will be removed, proceed (y/n) [n]? y
Squeeze operation may take a while, proceed (y/n) [n]? y
Erasing squeeze log
Console> (enable)
Task Command
Step 1 Identify the index number of the deleted files on dir [[m/]device:][filename] deleted
the Flash device.
Step 2 Undelete a file on a Flash device. undelete index [[m/]device:]
Step 3 Verify that the file is restored. dir [[m/]device:][filename]
Task Command
Verify the checksum of a file on a Flash device. verify [[m/]device:] filename
When you format a Flash device, you can specify the monlib file (the ROM monitor library), which the
ROM monitor uses to access files in the Flash file system. The monlib file is also compiled into the
software image.
In the format command syntax, use the device2 argument to specify the device that contains the monlib
file to use. If you omit the entire device2 argument, the switch formats the device using the monlib file
that is bundled with the software. If you omit just the device name (device2) from the
[[device2:][monlib-filename]] argument, the switch formats the device using the named monlib file from
the default Flash device. If you omit the monlib-filename from the [[device2:][monlib-filename]]
argument, the switch formats the device using the monlib file from device2. If you specify the entire
[[device2:][monlib-filename]] argument, the switch formats the device using the specified monlib file
from the specified device. If the switch cannot find a monlib file, it terminates the formatting process.
Note If the Flash device has a volume ID, you must provide the volume ID to format the device. The
volume ID is displayed using the show flash m/device: filesys command.
Task Command
Format a Flash device. format [spare spare-number] [m/]device1:
[[device2:] [monlib-filename]]
Note Supervisor Engine 2 and Supervisor Engine 1 do not support the same Flash PC card format. To use
a Flash PC card with Supervisor Engine 2, format the card with Supervisor Engine 2. To use a Flash
PC card with Supervisor Engine 1, format the card with Supervisor Engine 1.
This chapter describes how to how to work with system software image files on the Catalyst 6000 family
switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note Notice the sup2cv, sup2k9, and sup2cvk9 designations; sup2cv means it is a Ciscoview image,
sup2k9 means it is a Secure Shell image, sup2cvk9 means it is a Secure Shell and CiscoView image.
Note For more information on working with system software image files on the Flash file system, see
Chapter 24, “Working With the Flash File System.”
Note You must restart the inetd daemon after modifying the /etc/inetd.conf and /etc/services
files. To restart the daemon, either stop the inetd process and restart it, or enter a fastboot
command (on the SunOS 4.x) or a reboot command (on Solaris 2.x or SunOS 5.x). Refer
to the documentation for your workstation for more information on using the TFTP
daemon.
• Ensure that the switch has a route to the TFTP server. The switch and the TFTP server must be in
the same subnetwork if you do not have a router to route traffic between subnets. Check connectivity
to the TFTP server using the ping command.
• Ensure that the software image to be downloaded is in the correct directory on the TFTP server
(usually /tftpboot on a UNIX workstation).
• Ensure that the permissions on the file are set correctly. Permissions on the file should be
world-read.
• A power interruption (or other problem) during the download procedure can corrupt the Flash code.
If the Flash code is corrupted, you can connect to the switch through the console port and boot from
an uncorrupted system image on a Flash PC card.
Note If you have a redundant supervisor engine, you cannot download a system image directly from a
TFTP server to the Flash memory on the standby supervisor engine. When you download the image
to the active supervisor engine, the standby supervisor engine synchronizes automatically with the
new image. In addition, you cannot copy an image from the standby supervisor engine to the active
supervisor engine.
To download a supervisor engine software image to the switch from a TFTP server, perform these steps:
Step 1 Copy the software image file to the appropriate TFTP directory on the workstation.
Step 2 Log into the switch through the console port or through a Telnet session. If you log in using Telnet, your
Telnet session disconnects when you reset the switch to run the new software.
Step 3 Enter the copy tftp flash command. When prompted, enter the IP address or host name of the TFTP
server and the name of the file to download. On those platforms that support the Flash file system, you
are also prompted for the Flash device to which to copy the file and the destination filename.
The switch downloads the image file from the TFTP server to the specified Flash device.
Step 4 Modify the BOOT environment variable using the set boot system flash device:filename prepend
command, so that the new image boots when you reset the switch. Specify the Flash device (device:) and
the filename of the downloaded image (filename).
Step 5 Reset the switch using the reset system command. If you are connected to the switch through Telnet,
your Telnet session disconnects.
During startup, the Flash memory on the supervisor engine is reprogrammed with the new Flash code.
Step 6 When the switch reboots, enter the show version command to check the version of the code on the
switch.
Note For examples that show complete TFTP download procedures for the various supervisor engine and
switch types, see the “TFTP Download Procedures Example” section on page 25-5.
Step 1 Copy the software image file to the appropriate TFTP directory on the workstation.
Step 2 Log into the switch through the console port or a Telnet session. If you log in using Telnet, your Telnet
session might disconnect when you reset modules to run the new software.
Step 3 If there is only one module of the type appropriate for the image, or if there are multiple modules of the
same type and you want to update the image on all of them, enter the copy tftp flash command. When
prompted, enter the IP address or host name of the TFTP server, the name of the file to download, the
Flash device to which to copy the file, and the destination filename.
Step 4 If there are multiple modules of the type appropriate for the image but you only want to update a single
module, enter the copy tftp m/bootflash: command, where m is the number of the module to which to
download the software image.
Note If you do not specify a module number, the switch examines the header of the image file to
determine to which modules the software is downloaded. The image is then downloaded to
all the modules of that type.
The switch downloads the image file, erases the Flash memory on the appropriate modules, and
reprograms the Flash memory with the downloaded Flash code.
Note All modules in the switch remain operational while the image downloads.
Step 5 Reset the appropriate modules using the reset mod command. If you are connected through Telnet, your
Telnet session disconnects if you reset the module through which your connection was made.
Step 6 When the upgraded modules come online, enter the show version [mod] command to check the version
of the code on the switch.
Note For examples that show complete procedures for TFTP downloads to intelligent modules, see the
“Single Module Image TFTP Download Example” section on page 25-6 and the “Multiple Module
Image TFTP Download Example” section on page 25-7.
Note For a step-by-step procedure for downloading a supervisor engine software image from a TFTP
server, see the “Downloading Supervisor Engine Images Using TFTP” section on page 25-3.
This example shows a complete TFTP download procedure of a supervisor engine software image to a
Catalyst 6000 family switch:
Console> (enable) copy tftp flash
IP address or name of remote host []? 172.20.52.3
Name of file to copy from []? cat6000-sup.5-2-1-CSX.bin
Flash device [bootflash]?
Name of file to copy to [cat6000-sup.5-2-1-CSX.bin]?
Leaving power_on_diags
EOBC link up
Enter password:
07/21/1998,13:52:51:SYS-5:Module 1 is online
07/21/1998,13:53:11:SYS-5:Module 4 is online
07/21/1998,13:53:11:SYS-5:Module 5 is online
07/21/1998,13:53:14:PAGP-5:Port 1/1 joined bridge port 1/1.
07/21/1998,13:53:14:PAGP-5:Port 1/2 joined bridge port 1/2.
07/21/1998,13:53:40:SYS-5:Module 2 is online
07/21/1998,13:53:45:SYS-5:Module 3 is online
Console>
Note For a step-by-step procedure for downloading software images to intelligent modules, see the
“Downloading Switching Module Images Using TFTP” section on page 25-4.
This example shows a complete TFTP download procedure of an ATM software image to a single ATM
module:
Console> (enable) show version 4
Mod Port Model Serial # Versions
--- ---- ---------- --------- ----------------------------------------
4 1 WS-X6101 003414855 Hw : 1.2
Fw : 1.3
Sw : 3.2(6)
Note For a step-by-step procedure for downloading software images to intelligent modules, see the
“Downloading Switching Module Images Using TFTP” section on page 25-4.
This example shows a complete TFTP download procedure of an ATM software image to multiple ATM
modules:
Console> (enable) show version 4
Mod Port Model Serial # Versions
--- ---- ---------- --------- ----------------------------------------
4 1 WS-X6101 003414855 Hw : 1.2
Fw : 1.3
Sw : 3.2(6)
Console> (enable) show version 5
Mod Port Model Serial # Versions
--- ---- ---------- --------- ----------------------------------------
5 1 WS-X6101 003414463 Hw : 1.2
Fw : 1.3
Sw : 3.2(6)
Console> (enable) copy tftp flash
IP address or name of remote host []? 172.20.52.3
Name of file to copy from []? cat6000-atm.3-2-7.bin
Download image tftp:cat6000-atm.3-2-7.bin to Module 4 FLASH (y/n) [n]? y
Download image tftp:cat6000-atm.3-2-7.bin to Module 5 FLASH (y/n) [n]? y
This command will reset Download Module(s) you selected.
Note For more information on working with system software image files on the Flash file system, see
Chapter 24, “Working With the Flash File System.”
Note You must restart the inetd daemon after modifying the /etc/inetd.conf and /etc/services
files. To restart the daemon, either stop the inetd process and restart it, or enter a fastboot
command (on the SunOS 4.x) or a reboot command (on Solaris 2.x or SunOS 5.x). Refer
to the documentation for your workstation for more information on using the TFTP
daemon.
• Ensure that the switch has a route to the TFTP server. The switch and the TFTP server must be in
the same subnetwork if you do not have a router to route traffic between subnets. Check connectivity
to the TFTP server using the ping command.
• You might need to create an empty file on the TFTP server before uploading the image. To create
an empty file, enter the touch filename command, where filename is the name of the file you will
use when uploading the image to the server.
• If you are overwriting an existing file (including an empty file, if you had to create one), ensure that
the permissions on the file are set correctly. Permissions on the file should be world-write.
Step 1 Log into the switch through the console port or a Telnet session.
Step 2 Upload the software image to the TFTP server with the copy flash tftp command. When prompted,
specify the TFTP server address and destination filename. On platforms that support the Flash file
systems, you are first prompted for the Flash device and source filename. If desired, you can use the copy
file-id tftp command on these platforms.
The software image is uploaded to the TFTP server.
This example shows how to upload the supervisor engine software image:
Console> (enable) copy flash tftp
Flash device [bootflash]? slot0:
Name of file to copy from []? cat6000-sup.5-4-1.bin
IP address or name of remote host [172.20.52.3]? 172.20.52.10
Name of file to copy to [cat6000-sup.5-4-1.bin]?
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC|
File has been copied successfully.
Console> (enable)
• If you are accessing the switch through the console or a Telnet session without a valid username,
make sure that the current rcp username is the one you want to use for the rcp download. You can
enter the show users command to view the current valid username. If you do not want to use the
current username, create a new rcp username using the set rcp username command. The new
username will be stored in NVRAM. If you are accessing the switch through a Telnet session with
a valid username, this username will be used and there is no need to set the rcp username.
• A power interruption (or other problem) during the download procedure can corrupt the Flash code.
If the Flash code is corrupted, you can connect to the switch through the console port and boot from
an uncorrupted system image on a Flash PC card.
Step 1 Copy the software image file to the appropriate rcp directory on the workstation.
Step 2 Log into the switch through the console port or through a Telnet session. If you log in using Telnet, your
Telnet session disconnects when you reset the switch to run the new software.
Step 3 Download the software image from the rcp server by entering the copy rcp flash command. When
prompted, enter the IP address or host name of the rcp server and the name of the file to download. On
those platforms that support the Flash file system, you are also prompted for the Flash device to which
to copy the file and the destination filename.
The switch downloads the image file from the rcp server.
Step 4 Modify the BOOT environment variable by entering the set boot system flash device:filename prepend
command, so that the new image boots when you reset the switch. Specify the Flash device (device:) and
the filename of the downloaded image (filename).
Step 5 Reset the switch by entering the reset system command. If you are connected to the switch through
Telnet, your Telnet session disconnects.
During startup, the Flash memory on the supervisor engine is reprogrammed with the new Flash code.
Step 6 When the switch reboots, enter the show version command to check the version of the code on the
switch.
Step 1 Copy the software image file to the appropriate rcp directory on the workstation.
Step 2 Log into the switch through the console port or a Telnet session. If you log in using Telnet, your Telnet
session might disconnect when you reset modules to run the new software.
Step 3 Enter the command appropriate for your switch and supervisor engine to download the software image
from the rcp server:
• If there is only one module of the type appropriate for the image, or if there are multiple modules of
the same type and you want to update the image on all of them, enter the copy rcp flash command.
When prompted, enter the IP address or host name of the rcp server, the name of the file to
download, the Flash device to which to copy the file, and the destination filename.
• If there are multiple modules of the type appropriate for the image but you only want to update a
single module, enter the copy rcp | m/bootflash: command, where m is the number of the module
to which to download the software image. If you do not specify the module, all modules of the same
type will be updated.
Note If you do not specify a module number, the switch examines the header of the image file to
determine to which modules the software is downloaded. The image is then downloaded to
all the modules of that type.
The switch downloads the image file, erases the Flash memory on the appropriate modules, and
reprograms the Flash memory with the downloaded Flash code.
Note All modules in the switch remain operational while the image downloads.
Step 4 Reset the appropriate modules using the reset mod command. If you are connected through Telnet, your
Telnet session disconnects if you reset the module through which your connection was made.
Step 5 When the upgraded modules come online, enter the show version [mod] command to check the version
of the code on the switch.
Note For a step-by-step procedure for downloading a supervisor engine software image from an rcp server,
see the “Downloading Supervisor Engine Images Using rcp” section on page 25-10.
This example shows a complete rcp download procedure of a supervisor engine software image to a
Catalyst 6000 family switch:
Console> (enable) copy rcp flash
IP address or name of remote host []? 172.20.52.3
Name of file to copy from []? cat6000-sup.5-2-1-csx.bin
Flash device [bootflash]?
Leaving power_on_diags
EOBC link up
Enter password:
09/2/1999,13:52:51:SYS-5:Module 1 is online
09/2/1999,13:53:11:SYS-5:Module 4 is online
09/2/1999,13:53:11:SYS-5:Module 5 is online
09/2/1999,13:53:14:PAGP-5:Port 1/1 joined bridge port 1/1.
09/2/1999,13:53:14:PAGP-5:Port 1/2 joined bridge port 1/2.
09/2/1999,13:53:40:SYS-5:Module 2 is online
09/2/1999,13:53:45:SYS-5:Module 3 is online
Console> (enable)
Note For a step-by-step procedure for downloading software images to intelligent modules, see the
“Downloading Switching Module Images Using rcp” section on page 25-10.
This example shows a complete rcp download procedure of an ATM software image to a single ATM
module:
Console> (enable) show version 4
Mod Port Model Serial # Versions
--- ---- ---------- --------- ----------------------------------------
4 1 WS-X6101 003414855 Hw : 1.2
Fw : 1.3
Sw : 3.2(6)
Console> (enable) copy rcp 4/flash
IP address or name of remote host []? 172.20.52.3
Name of file to copy from []? cat6000-atm.3-2-7.bin
Download image rcp:cat6000-atm.3-2-7.bin to Module 4 FLASH (y/n) [n]? y
This command will reset Download Module(s) you selected.
Note For a step-by-step procedure for downloading software images to intelligent modules, see the
“Downloading Switching Module Images Using rcp” section on page 25-10.
This example shows a complete rcp download procedure of an ATM software image to multiple ATM
modules:
Console> (enable) show version 4
Mod Port Model Serial # Versions
--- ---- ---------- --------- ----------------------------------------
4 1 WS-X6101 003414855 Hw : 1.2
Fw : 1.3
Sw : 3.2(6)
Console> (enable) show version 5
Mod Port Model Serial # Versions
--- ---- ---------- --------- ----------------------------------------
5 1 WS-X6101 003414463 Hw : 1.2
Fw : 1.3
Sw : 3.2(6)
Console> (enable) copy rcp flash
IP address or name of remote host []? 172.20.52.3
Name of file to copy from []? cat6000-atm.3-2-7.bin
Download image rcp:cat6000-atm.3-2-7.bin to Module 4 FLASH (y/n) [n]? y
Download image rcp:cat6000-atm.3-2-7.bin to Module 5 FLASH (y/n) [n]? y
This command will reset Download Module(s) you selected.
Note For more information on working with system software image files on the Flash file system, see
Chapter 24, “Working With the Flash File System.”
Step 1 Log into the switch through the console port or a Telnet session.
Step 2 Upload the software image to the rcp server using the copy flash rcp command. When prompted, specify
the rcp server address and destination filename. On platforms that support the Flash file systems, you
are first prompted for the Flash device and source filename. If desired, you can use the copy file-id rcp
command on these platforms.
The software image is uploaded to the rcp server.
This example shows how to upload the supervisor engine software image to an rcp server:
Console> (enable) copy flash rcp
Flash device [bootflash]? slot0:
Name of file to copy from []? cat6000-sup.5-3-1.bin
IP address or name of remote host [172.20.52.3]? 172.20.52.10
Name of file to copy to [cat6000-sup.5-3-1.bin]?
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC|
File has been copied successfully.
Console> (enable)
Caution To prevent communication problems, do not use a speed greater than 19,200 baud.
Note This procedure applies to PC serial downloads only. For information on performing a serial
download on a UNIX workstation, see the “Downloading Software Images Using Kermit (UNIX
Procedure)” section on page 25-17.
To perform a serial download of a software image over the supervisor engine console port, perform these
steps:
Step 1 Copy the software image file to the directory where Kermit is loaded.
Step 2 Start Kermit on the PC.
Note Before continuing, ensure that the line speed is correct and that you have selected the proper
serial line, as described in the “Preparing to Download an Image Using Kermit” section on
page 25-16.
Step 3 At the Kermit> prompt, enter the connect command to connect to the switch. If your line and speed are
set correctly, the switch Console> prompt appears.
Step 4 Enter the enable command to enter privileged mode.
Step 5 Enter the download serial command. The file is downloaded to module 1 by default.
Step 9 When the Kermit> prompt reappears, enter the connect command to return to the switch Console>
prompt. You will see status information as the switch erases and reprograms the Flash memory.
Note If you enter the connect command more than two minutes after the Kermit> prompt
reappears, you might see only a Console> prompt instead of the status information about
erasing and programming Flash code.
Note For an example that shows a complete serial download procedure using Kermit on a PC, see the “PC
Serial Download Procedure Example” section on page 25-19.
Note This procedure applies to UNIX serial downloads only. For information on performing a serial
download on a PC, see the “Downloading Software Images Using Kermit (PC Procedure)” section
on page 25-16.
Use this procedure to perform a serial download of a software image over the supervisor engine console
port.
To copy the software to the workstation, log in as root, and perform these steps:
Note Before continuing, ensure that the line speed is correct and that you have selected the proper
serial line, as described in the “Preparing to Download an Image Using Kermit” section on
page 25-16.
Step 3 At the C-Kermit> prompt, enter the connect command to connect to the switch. If your line and speed
are set correctly, the switch Console> prompt appears.
Step 4 Enter the enable command to enter privileged mode.
Step 5 Enter the download serial command. The file downloads to module 1 by default.
Step 6 When prompted, confirm the download.
Step 7 Enter the escape sequence Ctrl-\-c by holding down the Ctrl key while you press \, and then press c.
Step 8 At the Kermit> prompt, enter the send filename command to send the file to the switch.
You can monitor the progress of the download by pressing the a key at any time during the Kermit
download. A dot appears onscreen for every four packets transferred. If there is a problem transferring
the file, one or more of the following letter codes appear:
• T—Kermit timed out.
• N—Kermit is not acknowledging the switch download process.
• E—Kermit detected an error in the progress of the transaction.
The switch downloads the image file, erases the Flash memory on the supervisor engine or the
appropriate module, and reprograms the Flash memory with the downloaded Flash code.
Step 9 Press Return to return to the C-Kermit> prompt. When the Kermit> prompt reappears, enter the connect
command to return to the switch Console> prompt. You will see status information as the switch erases
and reprograms the Flash memory.
Note If you enter the connect command more than two minutes after the Kermit> prompt
reappears, you might see only a Console> prompt instead of the status information about
erasing and programming Flash code.
Note For an example that shows a complete serial download procedure using Kermit on a
UNIX workstation, see the “UNIX Workstation Serial Download Procedure Example” section on
page 25-20.
Console> enable
Console> (enable) download serial
Download CBI image via console port (y/n) [n]? y
Console> enable
Console> (enable) download serial c5009_xx.bin
Download OK
Initializing Flash
Programming Flash
Base....Code....Length....Time....Done
In the example, the -y option uses the Ymodem protocol; -c provides CRC-16 checksumming; and -s sets
the console port data rate.
Note See the “ROM Monitor Command-Line Interface” section in the “Command-Line Interfaces”
chapter for more information about the ROM monitor.
The computer from which you transfer the supervisor engine software image must be running terminal
emulation software that supports the Xmodem or Ymodem protocol.
The following procedure shows a file transfer using the Xmodem protocol. To use the Ymodem protocol,
include the -y option with the xmodem command.
Caution A modem connection from the telephone network to your console port introduces security issues that
you should consider before enabling the connection. For example, remote users can dial into your
modem and access the switch configuration settings.
Caution If you have redundant supervisor engines, you must remove the second (redundant) supervisor
engine before you perform this procedure. The image that is downloaded via Xmodem is not saved
to memory; therefore, after the download if you have two supervisor engines installed and attempt
to reboot the active supervisor engine with the downloaded image, the redundant supervisor engine
will take over and synchronize with the active supervisor engine; the downloaded image will not be
booted.
Step 1 Place a supervisor engine software image on the computer’s hard drive. You can download an image
from Cisco.com.
Step 2 To download from a local computer, connect the console port (port mode switch in the in position) to a
serial port on the computer, using a null-modem cable. The console port speed must match the speed
configured on the local computer.
Note If you are transferring from a local computer, you may need to configure the terminal
emulation program to ignore RTS/DTR signals.
Step 5 Start an Xmodem or Ymodem send operation with the computer’s terminal emulation software. The
computer downloads the system image to the supervisor engine. See your terminal emulation software
application manual for instructions on how to execute a Xmodem or Ymodem file transfer.
Step 6 After the new image is completely downloaded, the ROM monitor boots it.
Note Downloading an image through the console port does not create an image file on any of the
Flash devices. The downloaded image resides only in memory. The image in memory cannot
be saved as a file.
Step 7 After the download, the console port returns to the default baud rate: 9600. If the download took place
at other than 9600 baud, you must change the remote computer’s baud rate back to 9600 baud.
Note Establish network connectivity to the switch to copy an image file from a TFTP server to one of the
Flash devices.
This chapter describes how to work with switch configuration files on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note For more information on working with configuration files on the Flash file system, see Chapter 24,
“Working With the Flash File System.”
This example shows an example configuration file. This file could be used to set the Domain Name
System (DNS) configuration on multiple switches.
begin
!
#dns
set ip dns server 172.16.10.70 primary
set ip dns server 172.16.10.140
set ip dns enable
set ip dns domain corp.com
end
Note You must restart the inetd daemon after modifying the /etc/inetd.conf and /etc/services
files. To restart the daemon, either stop the inetd process and restart it, or enter a fastboot
command (on the SunOS 4.x) or a reboot command (on Solaris 2.x or SunOS 5.x). Refer
to the documentation for your workstation for more information about the TFTP daemon.
• Ensure that the switch has a route to the TFTP server. The switch and the TFTP server must be in
the same subnetwork if you do not have a router to route traffic between subnets. Check connectivity
to the TFTP server using the ping command.
• Ensure that the configuration file to be downloaded is in the correct directory on the TFTP server
(usually /tftpboot on a UNIX workstation).
• Ensure that the permissions on the file are set as world-read.
Step 1 Copy the configuration file to the appropriate TFTP directory on the workstation.
Step 2 Log into the switch through the console port or a Telnet session.
Step 3 Configure the switch using the configuration file downloaded from the TFTP server with the copy tftp
config command. Specify the IP address or host name of the TFTP server and the name of the file to
download.
The configuration file downloads, and the commands are executed as the file is parsed line-by-line.
This example shows how to configure the switch using a configuration file downloaded from a TFTP
server:
Console> (enable) copy tftp config
IP address or name of remote host []? 172.20.52.3
Name of file to copy from []? dns-config.cfg
Step 1 Log into the switch through the console port or a Telnet session.
Step 2 Locate the configuration file using the cd and dir commands (for more information, see Chapter 24,
“Working With the Flash File System”).
Step 3 Configure the switch using the configuration file stored on the Flash device using the copy file-id config
command.
The commands are executed as the file is parsed line-by-line.
This example shows how to configure the switch using a configuration file stored on a Flash device:
Console> (enable) copy slot0:dns-config.cfg config
Note You must restart the inetd daemon after modifying the /etc/inetd.conf and /etc/services
files. To restart the daemon, either stop the inetd process and restart it, or enter a fastboot
command (on the SunOS 4.x) or a reboot command (on Solaris 2.x or SunOS 5.x). Refer
to the documentation for your workstation for more information about the TFTP daemon.
• Ensure that the switch has a route to the TFTP server. The switch and the TFTP server must be in
the same subnetwork if you do not have a router to route traffic between subnets. Check connectivity
to the TFTP server using the ping command.
• You might need to create an empty file on the TFTP server before uploading the configuration file.
To create an empty file, enter the touch filename command, where filename is the name of the file
you will use when uploading the configuration to the server.
• If you are overwriting an existing file (including an empty file, if you had to create one), ensure that
the permissions on the file are set as world-write.
Step 1 Log into the switch through the console port or a Telnet session.
Step 2 Upload the switch configuration to the TFTP server with the copy config tftp command. Specify the IP
address or host name of the TFTP server and the destination filename.
The file is uploaded to the TFTP server.
This example shows how to upload the running configuration to a TFTP server for storage:
Console> (enable) copy config tftp
IP address or name of remote host []? 172.20.52.3
Name of file to copy to []? cat6000_config.cfg
..........
...........
..
/
Configuration has been copied successfully.
Console> (enable)
• If you are accessing the switch through the console or a Telnet session without a valid username,
make sure that the current rcp username is the one you want to use for the rcp download. You can
enter the show users command to view the current valid username. If you do not want to use the
current username, create a new rcp username using the set rcp username command. The new
username will be stored in NVRAM. If you are accessing the switch through a Telnet session with
a valid username, this username will be used and there is no need to set the rcp username.
Step 1 Copy the configuration file to the appropriate rcp directory on the workstation.
Step 2 Log into the switch through the console port or a Telnet session.
Step 3 Configure the switch using the configuration file downloaded from the rcp server using the copy rcp
config command. Specify the IP address or host name of the rcp server and the name of the file to
download.
The configuration file downloads and the commands are executed as the file is parsed line-by-line.
This example shows how to configure a Catalyst 6000 family switch using a configuration file
downloaded from an rcp server:
Console> (enable) copy rcp config
IP address or name of remote host []? 172.20.52.3
Name of file to copy from []? dns-config.cfg
Step 1 Log into the switch through the console port or a Telnet session.
Step 2 Upload the switch configuration to the rcp server using the copy config rcp command. Specify the IP
address or host name of the rcp server and the destination filename.
The file is uploaded to the rcp server.
This example shows how to upload the running configuration on a Catalyst 6000 family switch to an rcp
server for storage:
Console> (enable) copy config rcp
IP address or name of remote host []? 172.20.52.3
Name of file to copy to []? cat6000_config.cfg
..........
...........
..
/
Configuration has been copied successfully.
Console> (enable)
Task Command
Clear the switch configuration. clear config all
This example shows how to clear the configuration for the entire switch:
Console> (enable) clear config all
This command will clear all configuration in NVRAM.
This command will cause ifIndex to be reassigned on the next system startup.
Do you want to continue (y/n) [n]? y
........
.............................
To clear the configuration on an individual module, perform this task in privileged mode:
Task Command
Clear the configuration for a specific module. clear config mod
Note If you remove a module and replace it with a module of another type (for example, if you remove a
10/100 Ethernet module and insert a Gigabit Ethernet module), the module configuration is
inconsistent. The output of the show module command indicates this problem. To resolve the
inconsistency, clear the configuration on the problem module.
If you replace the MSFC, you need to replace the entire configuration. If you upload (copy) the
configuration file to a remote server before removing the MSFC, you can retrieve it later and write it
into NVRAM on the new MSFC. If you do not upload the configuration file, you need to use the
configure command to reenter the configuration information after you install the new MSFC.
Saving and retrieving the configuration file is not necessary if you are temporarily removing an MSFC
that you are going to reinstall; the lithium batteries retain the configuration in memory. This procedure
requires privileged-level access to the EXEC command interpreter, which usually requires a password.
Step 1 Check if the system prompt displays a pound sign (#) to indicate the privileged level of the EXEC
command interpreter.
Step 2 Enter the ping command to check the connection between the MSFC and the remote host.
Step 3 Enter the write term command to display the currently running configuration on the terminal and ensure
that the configuration information is complete and correct. If it is not correct, enter the configure
command to add or modify the existing configuration.
Step 4 Enter the write net command. The EXEC command interpreter prompts you for the name or IP address
of the remote host that is to receive the configuration file. (The prompt might include the name or
address of a default file server.)
Router# write net
Remote host []?
Step 5 Enter the name or IP address of the remote host. In this example, the name of the remote server is
servername:
Router# write net
Remote host []? servername
Translating "servername"...domain server (1.1.1.1) [OK]
Step 6 Note that the EXEC command interpreter prompts you to specify a name for the file that is to hold the
configuration. By default, the system appends -confg to the MSFC name to create the new filename.
Press Return to accept the default filename, or enter a different name for the file before pressing
Return. In the following example, the default is accepted:
Name of configuration file to write [Router-confg]?
Step 7 Note that before the MSFC executes the copy process, it displays the instructions you entered for
confirmation. If the instructions are not correct, enter n (no) and then Return to abort the process. To
accept the instructions, press Return or y (yes) and then Return, and the system begins the copy
process. In the following example, the default is accepted:
Write file Router-confg on host 1.1.1.1? [confirm]
Writing Router-confg: !!!! [ok]
While the MSFC copies the configuration to the remote host, it displays a series of exclamation points
(! ! !) or periods (. . .). The ! ! ! and [ok] indicate that the operation is successful. A display of . . . [timed
out] or [failed] indicates a failure, which would probably be due to a network fault or the lack of a
writable, readable file on the remote file server.
Step 8 Note that if the display indicates that the process was successful (with the series of ! ! ! and [ok]), the
upload process is complete. The configuration is safely stored in the temporary file on the remote file
server.
If the display indicates that the process failed (with the series of . . . as shown in the following example):
Writing Router-confg .....
your configuration was not saved. Repeat the preceding steps, or select a different remote file server and
repeat the preceding steps.
If you are unable to copy the configuration to a remote host successfully, contact your network
administrator or see http://www.cisco.com/en/US/support/tsd_cisco_worldwide_contacts.html for
instructions on contacting the technical assistance center.
Task Command
Step 1 At the EXEC prompt, enter enable mode. Router> enable
Step 2 Copy the startup configuration file to slot 0. Router# copy startup-config sup-slot0:file_name
Step 3 Copy the running configuration file to slot 0. Router# copy running-config sup-slot0:file_name
Step 1 Check if the system prompt displays a pound sign (#) to indicate the privileged level of the EXEC
command interpreter.
Note Until you retrieve the previous configuration, the MSFC runs from the default configuration
in NVRAM. Any passwords that were configured on the previous system are not valid until
you retrieve the configuration.
Step 2 Enter the ping command to verify the connection between the router and the remote host.
Step 3 At the system prompt, enter the configure network command and press Return to enter configuration
mode. Specify that you want to configure the system from a network device (instead of from the console
terminal, which is the default).
Router# configure network
Step 4 Note that the system prompts you to select a host or network configuration file. The default is host; press
Return to accept the default.
Host or network configuration file [host]?
Step 5 Note that the system prompts you for the IP address of the host. Enter the IP address or name of the
remote host (the remote file server to which you uploaded the configuration file).
IP address of remote host [255.255.255.255]? 1.1.1.1
Step 6 Note that the system prompts you for the configuration filename. When uploading the file, the default is
to use the name of the MSFC with the suffix -confg (router-confg in the following example). If you
specified a different filename when you uploaded the configuration, enter the filename; otherwise, press
Return to accept the default.
Name of configuration file [router-confg]?
Step 7 Note that before the system reboots with the new configuration, it displays the instructions you entered
for confirmation. If the instructions are not correct, enter n (no), and then press Return to cancel the
process. To accept the instructions, press Return, or y, and then Return.
Configure using router-confg from 1.1.1.1? [confirm]
Booting router-confg from 1.1.1.1: ! ! [OK - 874/16000 bytes]
While the MSFC retrieves and boots from the configuration on the remote host, the console display
indicates whether or not the operation was successful. A series of !!!! and [OK] (as shown in the
preceding example) indicate that the operation was successful. A series of . . . and [timed out] or [failed]
indicate a failure (which would probably be due to a network fault or an incorrect server name, address,
or filename). The following is an example of a failed attempt to boot from a remote server:
Booting Router-confg ..... [timed out]
Step 8 Proceed to the next step if the display indicates that the process was successful.
If the display indicates that the process failed, verify the name or address of the remote server and the
filename, and repeat the preceding steps. If you are unable to retrieve the configuration, contact your
network administrator or see http://www.cisco.com/en/US/support/tsd_cisco_worldwide_contacts.html
for instructions on contacting the technical assistance center.
Step 9 Enter the write term command to display the currently running configuration on the terminal. Review
the display and ensure that the configuration information is complete and correct. If it is not, verify the
filename and repeat the preceding steps to retrieve the correct file, or use the configure command to add
or modify the existing configuration. (See the appropriate software documentation for the configuration
options available for the system, the individual interfaces, and specific configuration instructions.)
Step 10 When you have verified that the currently running configuration is correct, enter the
copy running-config startup-config command to save the retrieved configuration in NVRAM.
Otherwise, you will lose the new configuration if you restart the system.
This completes the procedure for downloading (retrieving) the configuration file.
Downloading the Configuration File from the Supervisor Engine Flash PC Card
To download the configuration file from the supervisor engine Flash PC card in PCMCIA slot 0, perform
this task:
Task Command
Step 1 At the EXEC prompt, enter enable Router> enable
mode.
Step 2 Copy the stored running Router# copy sup-slot0: file_name running-config
configuration file to the MSFC
running configuration.
Step 3 Copy the stored startup Router# copy sup-slot0:file_name startup-config
configuration file to the MSFC
running configuration.
This chapter describes how to configure system message logging on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note For more information on system messages, refer to the System Message Guide—Catalyst 6000
Family, Catalyst 5000 Family, and Catalyst 4000 Family, Catalyst 2948G, and Catalyst 2980G
publication.
Note When the switch first initializes, the network is not connected until the initialization completes.
Therefore, messages redirected to a syslog server are delayed up to 90 seconds.
Table 27-1 describes the facility types supported by the system message logs.
Table 27-2 describes the severity levels supported by the system message logs.
Element Description
mm/dd/yyy:hh/mm/ss Date and time of the error or event. This information appears only if
configured using the set logging timestamp enable command.
facility Indicates the facility to which the message refers (for example, SNMP, SYS,
etc.).
severity Single-digit code from 0 to 7 that indicates the severity of the message.
MNEMONIC Text string that uniquely describes the error message.
description Text string containing detailed information about the event being reported.
This example shows typical switch system messages (at system startup):
1999 Apr 16 10:01:26 %MLS-5-MLSENABLED:IP Multilayer switching is enabled
1999 Apr 16 10:01:26 %MLS-5-NDEDISABLED:Netflow Data Export disabled
1999 Apr 16 10:01:26 %SYS-5-MOD_OK:Module 1 is online
1999 Apr 16 10:01:47 %SYS-5-MOD_OK:Module 3 is online
1999 Apr 16 10:01:42 %SYS-5-MOD_OK:Module 6 is online
1999 Apr 16 10:02:27 %PAGP-5-PORTTOSTP:Port 3/1 joined bridge port 3/1
1999 Apr 16 10:02:28 %PAGP-5-PORTTOSTP:Port 3/2 joined bridge port 3/2
Note If you enter the set logging session command while connected through the console port, the
command has the same effect as entering the set logging console command. However, if you enter
the set logging console command while connected through a Telnet session, the default console
logging enable state is changed.
To enable or disable the logging state for console sessions, perform this task in privileged mode:
Task Command
Step 1 Enable or disable the default logging state for set logging console {enable | disable}
console sessions.
Step 2 Verify the logging configuration. show logging [noalias]
This example shows how to disable logging to the current and future console sessions:
Console> (enable) set logging console disable
System logging messages will not be sent to the console.
Console> (enable)
To enable or disable the logging state for the current Telnet session, perform this task in privileged
mode:
Task Command
Step 1 Enable or disable the logging state for a Telnet set logging session {enable | disable}
session.
Step 2 Verify the logging configuration. show logging [noalias]
This example shows how to disable logging to the current Telnet session:
Console> (enable) set logging session disable
System logging messages will not be sent to the current login session.
Console> (enable)
Task Command
Step 1 Set the severity level for logging facilities. set logging level {all | facility} severity [default]
Step 2 Verify the system message logging configuration. show logging [noalias]
This example shows how to set the logging severity level to 5 for all facilities (for the current session
only):
Console> (enable) set logging level all 5
All system logging facilities for this session set to severity 5(notifications)
Console> (enable)
This example shows how to set the default logging severity level to 3 for the cdp facility:
Console> (enable) set logging level cdp 3 default
System logging facility <cdp> set to severity 3(errors)
Console> (enable)
Task Command
Step 1 Enable or disable the logging time stamp state. set logging timestamp {enable | disable}
Step 2 Verify the logging time stamp state. show logging [noalias]
This example shows how to enable the time stamp display on system logging messages:
Console> (enable) set logging timestamp enable
System logging messages timestamp will be enabled.
Console> (enable)
Task Command
Step 1 Set the number of messages to log to the logging set logging buffer buffer_size
buffer.
Step 2 Verify the system message logging configuration. show logging [noalias]
This example shows how to set the logging buffer size to 200 messages:
Console> (enable) set logging buffer 200
System logging buffer size set to <200>
Console> (enable)
Note There must be five tab characters between user.debug and /var/log/myfile.log. Refer to
entries in the /etc/syslog.conf file for further examples.
The switch sends messages according to specified facility types and severity levels. The user keyword
specifies the UNIX logging facility used. The messages from the switch are generated by user processes.
The debug keyword specifies the severity level of the condition being logged. You can set UNIX
systems to receive all messages from the switch.
Step 2 Create the log file by entering these commands at the UNIX shell prompt:
$ touch /var/log/myfile.log
$ chmod 666 /var/log/myfile.log
Step 3 Make sure that the syslog daemon reads the new changes by entering this command:
$ kill -HUP `cat /etc/syslog.pid
Note Before you can send system log messages to a UNIX syslog server, you must configure the syslog
daemon on the UNIX server as described in the “Configuring the syslog Daemon on a UNIX syslog
Server” section on page 27-7.
To configure the switch to log messages to a syslog server, perform this task in privileged mode:
Task Command
Step 1 Specify the IP address of one or more syslog set logging server ip_addr
servers1.
Step 2 Set the facility and severity levels for syslog set logging server facility
server messages. server_facility_parameter
set logging server severity server_severity_level
Task Command
Step 3 Enable system message logging to configured set logging server enable
syslog servers.
Step 4 Verify the configuration. show logging [noalias]
1. You can configure a maximum of three syslog servers.
This example shows how to specify a syslog server, set the facility and severity levels, and enable
logging to the server:
Console> (enable) set logging server 10.10.10.100
10.10.10.100 added to System logging server table.
Console> (enable) set logging server facility local5
System logging server facility set to <local5>
Console> (enable) set logging server severity 5
System logging server severity set to <5>
Console> (enable) set logging server enable
System logging messages will be sent to the configured syslog servers.
Console> (enable)
To delete a syslog server from the syslog server table, perform this task in privileged mode:
Task Command
Delete a syslog server from the syslog server clear logging server ip_addr
table.
This example shows how to delete a syslog server from the syslog server table:
Console> (enable) clear logging server 10.10.10.100
System logging server 10.10.10.100 removed from system logging server table.
Console> (enable)
To disable logging to the syslog server, perform this task in privileged mode:
Task Command
Disable system message logging to configured set logging server disable
syslog servers.
Task Command
Display the current system message logging show logging [noalias]
configuration.
This example shows how to display the current system message logging configuration:
Console> (enable) show logging
Logging buffered size: 500
timestamp option: enabled
Logging history size: 1
Logging console: enabled
Logging server: disabled
server facility: LOCAL7
server severity: warnings(4
Current Logging Session: enabled
Task Command
Display the first number_of_messages messages show logging buffer [number_of_messages]
in the buffer.
Display the last number_of_messages messages in show logging buffer -[number_of_messages]
the buffer.
This example shows how to display the first five messages in the buffer:
Console> (enable) show logging buffer 5
1999 Apr 16 08:40:11 %SYS-5-MOD_OK:Module 1 is online
1999 Apr 16 08:40:14 %SYS-5-MOD_OK:Module 3 is online
1999 Apr 16 08:40:14 %SYS-5-MOD_OK:Module 2 is online
1999 Apr 16 08:41:15 %PAGP-5-PORTTOSTP:Port 2/1 joined bridge port 2/1
1999 Apr 16 08:41:15 %PAGP-5-PORTTOSTP:Port 2/2 joined bridge port 2/2
This example shows how to display the last five messages in the buffer:
Console> (enable) show logging buffer -5
%PAGP-5-PORTFROMSTP:Port 3/1 left bridge port 3/1
%SPANTREE-5-PORTDEL_SUCCESS:3/2 deleted from vlan 1 (PAgP_Group_Rx)
%PAGP-5-PORTFROMSTP:Port 3/2 left bridge port 3/2
%PAGP-5-PORTTOSTP:Port 3/1 joined bridge port 3/1-2
%PAGP-5-PORTTOSTP:Port 3/2 joined bridge port 3/1-2
Console> (enable)
This chapter describes how to configure the Domain Name System (DNS) on the Catalyst 6000 family
switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Configuring DNS
These sections describe how to configure DNS:
• Setting Up and Enabling DNS, page 28-2
• Clearing a DNS Server, page 28-3
• Clearing the DNS Domain Name, page 28-3
• Disabling DNS, page 28-3
Task Command
Step 1 Specify the IP address of one or more DNS set ip dns server ip_addr [primary]
servers.
Step 2 Set the domain name. set ip dns domain name
Step 3 Enable DNS. set ip dns enable
Step 4 Verify the DNS configuration. show ip dns [noalias]
This example shows how to set up and enable DNS on the switch and verify the configuration:
Console> (enable) set ip dns server 10.2.2.1
10.2.2.1 added to DNS server table as primary server.
Console> (enable) set ip dns server 10.2.24.54 primary
10.2.24.54 added to DNS server table as primary server.
Console> (enable) set ip dns server 10.12.12.24
10.12.12.24 added to DNS server table as backup server.
Console> (enable) set ip dns domain corp.com
Default DNS domain name set to corp.com
Console> (enable) set ip dns enable
DNS is enabled
Console> (enable) show ip dns
DNS is currently enabled.
The default DNS domain name is: corp.com
Task Command
Step 1 Remove one or all of the DNS servers from the clear ip dns server [ip_addr | all]
table.
Step 2 Verify the DNS configuration. show ip dns [noalias]
This example shows how to clear a DNS server from the DNS server table:
Console> (enable) clear ip dns server 10.12.12.24
10.12.12.24 cleared from DNS table
Console> (enable)
This example shows how to clear all of the DNS servers from the DNS server table:
Console> (enable) clear ip dns server all
All DNS servers cleared
Console> (enable)
Task Command
Step 1 Clear the default DNS domain name. clear ip dns domain
Step 2 Verify the DNS configuration. show ip dns [noalias]
This example shows how to clear the default DNS domain name:
Console> (enable) clear ip dns domain
Default DNS domain name cleared.
Console> (enable)
Disabling DNS
To disable DNS, perform this task in privileged mode:
Task Command
Step 1 Disable DNS on the switch. set ip dns disable
Step 2 Verify the DNS configuration. show ip dns [noalias]
This chapter describes how to configure the Cisco Discovery Protocol (CDP) on the Catalyst 6000
family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Configuring CDP
These sections describe how to configure CDP:
• Setting the CDP Global Enable and Disable States, page 29-2
• Setting the CDP Enable and Disable States on a Port, page 29-3
• Setting the CDP Message Interval, page 29-4
• Setting the CDP Holdtime, page 29-4
• Displaying CDP Neighbor Information, page 29-5
Task Command
Step 1 Set the CDP global enable state on the switch. set cdp {enable | disable}
Step 2 Verify the CDP configuration. show cdp
This example shows how to enable CDP globally and verify the configuration:
Console> (enable) set cdp enable
CDP enabled globally
Console> (enable) show cdp
CDP : enabled
Message Interval : 60
Hold Time : 180
Console> (enable)
This example shows how to disable CDP globally and verify the configuration:
Console> (enable) set cdp disable
CDP disabled globally
Console> (enable) show cdp
CDP : disabled
Message Interval : 60
Hold Time : 180
Console> (enable)
Task Command
Step 1 Set the CDP enable state on individual ports. set cdp {enable | disable} [mod/port]
Step 2 Verify the CDP configuration. show cdp port [mod[/port]]
This example shows how to enable CDP on ports 3/1-2 and verify the configuration:
Console> (enable) set cdp enable 3/1-2
CDP enabled on ports 3/1-2.
Console> (enable) show cdp port 3
CDP : enabled
Message Interval : 60
Hold Time : 180
This example shows how to disable CDP on ports 3/1-6 and verify the configuration:
Console> (enable) set cdp disable 3/1-6
CDP disabled on ports 3/1-6.
Console> (enable) show cdp port 3
CDP : enabled
Message Interval : 60
Hold Time : 180
Task Command
Step 1 Set the default CDP message interval. The set cdp interval interval
allowed range is 5–900 seconds.
Step 2 Verify the CDP configuration. show cdp
This example shows how to set the default CDP message interval to 100 seconds and verify the
configuration:
Console> (enable) set cdp interval 100
CDP message interval set to 100 seconds for all ports.
Console> (enable) show cdp
CDP : enabled
Message Interval : 100
Hold Time : 180
Console> (enable)
Task Command
Step 1 Set the default CDP holdtime. The allowed range set cdp holdtime interval
is 10–255 seconds.
Step 2 Verify the CDP configuration. show cdp
This example shows how to set the default CDP holdtime to 225 seconds and verify the configuration:
Console> (enable) set cdp holdtime 225
CDP holdtime set to 225 seconds.
Console> (enable) show cdp
CDP : enabled
Message Interval : 100
Hold Time : 225
Console> (enable)
Note If you enter the show cdp neighbors command for a device that supports earlier versions of CDP,
“unknown” is displayed in the following fields: VTP Management Domain, Native VLAN, and
Duplex.
To display information about directly connected Cisco devices, perform this task:
Task Command
Display information about CDP neighbors. show cdp neighbors [mod[/port]] [vlan |
duplex | capabilities | detail]
This example shows how to display CDP neighbor information for connected Cisco devices:
Console> (enable) show cdp neighbors
* - indicates vlan mismatch.
# - indicates duplex mismatch.
Port Device-ID Port-ID Platform
-------- ------------------------------- ------------------------- ------------
2/3 JAB023807H1(2948) 2/2 WS-C2948
3/1 JAB023806JR(4003) 2/1 WS-C4003
3/2 JAB023806JR(4003) 2/2 WS-C4003
3/5 JAB023806JR(4003) 2/5 WS-C4003
3/6 JAB023806JR(4003) 2/6 WS-C4003
Console> (enable)
This example shows how to display the native VLAN for each port connected on the neighboring device
(there is a native VLAN mismatch between port 3/6 on the local switch and port 2/6 on the neighboring
device, as indicated by the asterisk [*]):
Console> (enable) show cdp neighbors vlan
* - indicates vlan mismatch.
# - indicates duplex mismatch.
Port Device-ID Port-ID NativeVLAN
-------- ------------------------------- ------------------------- ----------
2/3 JAB023807H1(2948) 2/2 522
3/1 JAB023806JR(4003) 2/1 100
3/2 JAB023806JR(4003) 2/2 100
3/5 JAB023806JR(4003) 2/5 1
3/6 JAB023806JR(4003) 2/6* 1
Console> (enable)
This example shows how to display detailed information about the neighboring device:
Console> (enable) show cdp neighbors 2/3 detail
Port (Our Port): 2/3
Device-ID: JAB023807H1(2948)
Device Addresses:
IP Address: 172.20.52.36
Holdtime: 132 sec
Capabilities: TRANSPARENT_BRIDGE SWITCH
Version:
WS-C2948 Software, Version McpSW: 5.1(57) NmpSW: 5.1(1)
Copyright (c) 1995-1999 by Cisco Systems, Inc.
Platform: WS-C2948
Port-ID (Port on Neighbors's Device): 2/2
VTP Management Domain: Lab_Network
Native VLAN: 522
Duplex: full
Console> (enable)
This chapter describes how to configure the UniDirectional Link Detection (UDLD) protocol on the
Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
The switch periodically transmits UDLD messages (packets) to neighbor devices on ports with UDLD
enabled. If the messages are echoed back to the sender within a specific time frame and they are lacking
a specific acknowledgment (echo), the link is flagged as unidirectional and the port is shut down.
Devices on both ends of the link must support UDLD in order for the protocol to successfully identify
and disable unidirectional links.
Note With supervisor engine software release 5.4(3) and later releases, you can specify the message
interval between UDLD messages. Previously, the message interval was fixed at 60 seconds. With a
configurable message interval, UDLD reacts much faster to link failures.
Note By default, UDLD is locally disabled on copper ports to avoid sending unnecessary control traffic
on this type of media since it is often used for access ports.
Figure 30-1 shows an example of a unidirectional link condition. Each switch can send packets to a
neighbor switch but is not able to receive packets from the same switch that it is sending packets to. UDLD
detects and disables these one-way connections.
Switch X Tx Rx
Switch Y
Rx Tx
Switch Z
Tx Rx
144608
Configuring UDLD
These sections describe how to configure UDLD:
• Enabling UDLD Globally, page 30-3
• Enabling UDLD on Individual Ports, page 30-3
• Disabling UDLD on Individual Ports, page 30-4
• Disabling UDLD Globally, page 30-4
• Specifying the UDLD Message Interval, page 30-4
• Enabling UDLD Aggressive Mode, page 30-5
• Displaying the UDLD Configuration, page 30-5
Task Command
Step 1 Enable UDLD globally on the switch. set udld enable
Step 2 Verify the configuration. show udld
This example shows how to enable UDLD globally and verify the configuration:
Console> (enable) set udld enable
UDLD enabled globally
Console> (enable) show udld
UDLD : enabled
Console> (enable)
Task Command
Step 1 Enable UDLD on a specific port. set udld enable mod/port
Step 2 Verify the configuration. show udld port [mod[/port]]
This example shows how to enable UDLD on port 4/1 and verify the configuration:
Console> (enable) set udld enable 4/1
UDLD enabled on port 4/1
Console> (enable) show udld port 4/1
UDLD : enabled
Message Interval: 15 seconds
Port Admin Status Aggressive Mode Link State
-------- ------------ --------------- ---------
4/1 enabled disabled bidirectional
Console> (enable)
Task Command
Step 1 Disable UDLD on a specific port. set udld disable mod/port
Step 2 Verify the configuration. show udld port [mod[/port]]
Task Command
Step 1 Disable UDLD globally on the switch. set udld disable
Step 2 Verify the configuration. show udld
Task Command
Step 1 Specify the UDLD message interval. set udld interval interval
Step 2 Verify the configuration. show udld
This example shows how to specify the UDLD message interval on the switch:
Console> (enable) set udld interval 20
UDLD message interval set to 20 seconds
Console> (enable)
This example shows how to verify the message interval on the switch:
Console> (enable) show udld
UDLD : enabled
Message Interval : 20 seconds
Console> (enable)
Task Command
Step 1 Enable UDLD aggressive mode. set udld aggressive-mode enable mod/port
Step 2 Verify the configuration. show udld
This example shows how to enable UDLD aggressive mode on the switch:
Console> (enable) set udld aggressive-mode enable 4/1
Aggressive UDLD enabled on port 4/1.
Console> (enable)
This example shows how to verify that UDLD aggressive mode is enabled on the switch:
Console> (enable) show udld port 4/1
UDLD : enabled
Message Interval: 30 seconds
Port Admin Status Aggressive Mode Link State
-------- ------------ --------------- ---------
4/1 enabled Enabled bidirectional
Console> (enable)
Task Command
Display the UDLD enable state. show udld
To display UDLD configuration for a module or port, perform this task in privileged mode:
Task Command
Display the UDLD configuration for a module or show udld port [mod] [mod/port]
port.
This example shows how to display the UDLD configuration for ports on module 4:
Console> (enable) show udld port 4
UDLD : enabled
Message Interval: 15 seconds
Port Admin Status Aggressive Mode Link State
-------- ------------ --------------- ---------
4/1 enabled disabled bidirectional
4/2 enabled disabled bidirectional
4/3 enabled disabled undetermined
4/4 enabled disabled bidirectional
.
.
Console> (enable)
Table 30-2 describes the fields in the show udld command output.
Field Description
UDLD Status of whether UDLD is enabled or disabled.
Message Interval Message interval in seconds.
Port Module and port number(s).
Admin Status Status of whether administration status is enabled or disabled.
Aggressive Mode Status of whether aggressive mode is enabled or disabled.
Link State Status of the link: undetermined (detection in progress or UDLD on the
neighbors has been disabled), not applicable (UDLD and/or the local port has
been manually disabled), shutdown (unidirectional link has been detected and the
port err-disabled), or bidirectional (a bidirectional link has been detected since
the port is functioning properly in both directions).
This chapter describes how to configure the Network Time Protocol (NTP) on the Catalyst 6000 family
switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
The communications between machines running NTP, known as associations, are usually statically
configured; each machine is given the IP address of all machines with which it should form associations.
Accurate timekeeping is possible by exchanging NTP messages between each pair of machines with an
association. However, in a LAN environment, you can configure NTP to use IP broadcast messages.
With this alternative, you can configure the machine to send or receive broadcast messages, but the
accuracy of timekeeping is marginally reduced because the information flow is one-way only.
Cisco’s implementation of NTP does not support stratum 1 service; it is not possible to connect to a radio
or atomic clock. We recommend that you obtain the time service for your network from the public NTP
servers available in the IP Internet. If the network is isolated from the Internet, Cisco’s NTP
implementation allows a machine to be configured so that it acts as though it is synchronized using NTP,
when in fact it has determined the time using other means. Other machines then synchronize to that
machine using NTP.
A number of manufacturers include NTP software for their host systems, and a publicly available version
for systems running UNIX and its various derivatives is also available. This software allows
time-synchronized host systems.
Configuring NTP
These sections describe how to configure NTP:
• Enabling NTP in Broadcast-Client Mode, page 31-3
• Configuring NTP in Client Mode, page 31-3
• Configuring Authentication in Client Mode, page 31-4
• Setting the Time Zone, page 31-5
• Enabling the Daylight Saving Time Adjustment, page 31-5
• Disabling the Daylight Saving Time Adjustment, page 31-7
• Clearing the Time Zone, page 31-7
Task Command
Step 1 Enable NTP broadcast-client mode. set ntp broadcastclient enable
Step 2 (Optional) Set the estimated NTP broadcast set ntp broadcast delay microseconds
packet delay.
Step 3 Verify the NTP configuration. show ntp [noalias]
This example shows how to enable NTP broadcast-client mode on the switch, set a broadcast delay of
4000 microseconds, and verify the configuration:
Console> (enable) set ntp broadcastclient enable
NTP Broadcast Client mode enabled
Console> (enable) set ntp broadcastdelay 4000
NTP Broadcast delay set to 4000 microseconds
Console> (enable) show ntp
NTP-Server
----------------------------------------
Console> (enable)
Task Command
Step 1 Configure the IP address of the NTP server. set ntp server ip_addr
Step 2 Enable NTP client mode. set ntp client enable
Step 3 Verify the NTP configuration. show ntp [noalias]
This example shows how to configure the NTP server address, enable NTP client mode on the switch,
and verify the configuration:
Console> (enable) set ntp server 172.20.52.65
NTP server 172.20.52.65 added.
Console> (enable) set ntp client enable
NTP Client mode enabled
Console> (enable) show ntp
NTP-Server
----------------------------------------
172.16.52.65
Console> (enable)
Task Command
Step 1 Configure an authentication key pair for NTP and set ntp key public_key [trusted | untrusted] md5
specify whether the key is trusted or untrusted. secret_key
Step 2 Specify the IP address of the NTP server and the set ntp server ip_addr [key public_key]
public key.
Step 3 Enable NTP client mode. set ntp client enable
Step 4 Enable NTP authentication. set ntp authentication enable
Step 5 Verify the NTP configuration. show ntp [noalias]
This example shows how to configure the NTP server address, enable NTP client and authentication
modes on the switch, and verify the configuration:
Console> (enable) set ntp server 172.20.52.65 key 879
NTP server 172.20.52.65 with key 879 added.
Console> (enable) set ntp client enable
NTP Client mode enabled
Console> (enable) set ntp authentication enable
NTP authentication feature enabled
Console> (enable) show ntp
Console> (enable)
Task Command
Step 1 Set the time zone. set timezone zone hours [minutes]
Step 2 Verify the time zone configuration. show timezone
This example shows how to set the time zone on the switch:
Console> (enable) set timezone Pacific -8
Timezone set to 'Pacific', offset from UTC is -8 hours
Console> (enable)
To enable the daylight saving time clock adjustment following the U.S. rules, perform this task in
privileged mode:
Task Command
Step 1 Enable the daylight saving time clock adjustment. set summertime enable [zone_name]
set summertime recurring
Step 2 Verify the configuration. show summertime
This example shows how to set the clock adjusted for Pacific Daylight Time following the U.S.
standards:
Console> (enable) set summertime enable PDT
Console> (enable) set summertime recurring
Summertime is enabled and set to 'PDT'
Console> (enable)
To enable the daylight saving time clock adjustment that recurs every year on different days or with a
different offset than the U.S. standard, perform this task in privileged mode:
Task Command
Step 1 Enable the daylight saving time clock adjustment. set summertime recurring week day month
hh:mm week day month hh:mm offset
Step 2 Verify the configuration. show summertime
This example shows how to set the daylight saving time clock adjustment, repeating every year, starting
on the third Monday of February at noon and ending on the second Saturday of August at 3:00 p.m. with
a 30-minute offset forward in February and back in August:
Console> (enable) set summertime recurring 3 mon feb 3:00 2 saturday aug 15:00 30
Summer time is disabled and set to ’’
start: Sun Feb 13 2000, 03:00:00
end: Sat Aug 26 2000, 14:00:00
Offset: 30 minutes
Recurring: yes, starting at 3:00am Sunday of the third week of February and ending
14:00pm Saturday of the fourth week of August.
Console> (enable)
To enable the daylight saving time clock adjustment to a nonrecurring specific date, perform this task in
privileged mode:
Task Command
Step 1 Enable the daylight saving time clock adjustment. set summertime date month date year hh:mm
month date year hh:mm offset
Step 2 Verify the configuration. show summertime
This example shows how to set the nonrecurring daylight saving time clock adjustment on April 30, 1999
at 11:32, ending on February 1, 2003 at 12:02 a.m., with an offset of 50 minutes:
Console> (enable) set summertime date apr 13 2000 4:30 jan 21 2002 5:30 1440
Summertime is disabled and set to ''
Start : Thu Apr 13 2000, 04:30:00
End : Mon Jan 21 2002, 05:30:00
Offset: 1440 minutes (1 day)
Recurring: no
Console> (enable)
Task Command
Step 1 Disable the daylight saving time clock set summertime disable [zone_name]
adjustment.
Step 2 Verify the configuration. show summertime
This example shows how to disable the daylight saving time adjustment:
Console> (enable) set summertime disable Arizona
Summertime is disabled and set to 'Arizona'
Console> (enable)
Task Command
Clear the time zone settings. clear timezone
Task Command
Step 1 Specify the NTP server to clear. clear ntp server [ip_addr | all]
Step 2 Verify the NTP configuration. show ntp [noalias]
This example shows how to clear an NTP server address from the NTP server table:
Console> (enable) clear ntp server 172.16.64.10
NTP server 172.16.64.10 removed.
Console> (enable)
Disabling NTP
To disable NTP broadcast-client mode on the switch, perform this task in privileged mode:
Task Command
Step 1 Disable NTP broadcast-client mode. set ntp broadcastclient disable
Step 2 Verify the NTP configuration. show ntp [noalias]
This example shows how to disable NTP client mode on the switch:
Console> (enable) set ntp broadcastclient disable
NTP Broadcast Client mode disabled
Console> (enable)
To disable NTP client mode on the switch, perform this task in privileged mode:
Task Command
Step 1 Disable NTP client mode. set ntp client disable
Step 2 Verify the NTP configuration. show ntp [noalias]
This example shows how to disable NTP client mode on the switch:
Console> (enable) set ntp client disable
NTP Client mode disabled
Console> (enable)
This chapter describes how to configure broadcast suppression on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Total
number of
Threshold
broadcast
packets
or bytes
S5706
0 T1 T2 T3 T4 T5 Time
The broadcast suppression threshold numbers and the time interval make the broadcast suppression
algorithm work with different levels of granularity. A higher threshold allows more broadcast packets
to pass through.
Broadcast suppression on the Catalyst 6000 family switches is implemented in hardware. The
suppression circuitry monitors packets passing from a port to the switching bus. Using the
Individual/Group bit in the packet destination address, the broadcast suppression circuitry determines if
the packet is unicast or broadcast. It keeps track of the current count of broadcasts within the one-second
time interval, and when a threshold is reached, filters out subsequent broadcast packets.
Because hardware broadcast suppression uses a bandwidth-based method to measure broadcast activity,
the most significant implementation factor is setting the percentage of total available bandwidth that can
be used by broadcast traffic. A threshold value of 100 percent means that no limit is placed on broadcast
traffic. Using the set port broadcast command, you can set up the broadcast suppression threshold
value.
Because packets do not arrive at uniform intervals, the one-second time interval during which broadcast
activity is measured can affect the behavior of broadcast suppression.
On Gigabit Ethernet ports, you can use the broadcast suppression to filter multicast and unicast traffic.
You can suppress multicast or unicast traffic separately on a port; both require that you configure
broadcast suppression. When you specify a percentage of the total bandwidth to be used for multicast or
unicast traffic, the same limit applies to the broadcast traffic.
Note Multicast suppression does not drop bridge protocol data unit (BPDU) packets.
Task Command
Step 1 Configure the broadcast suppression threshold for set port broadcast mod/port threshold%
one or more ports as a percentage of total [multicast {enable | disable}] [unicast {enable |
bandwidth. disable}]
Step 2 Verify the broadcast suppression configuration. show port broadcast [mod[/port]]
Note Although you can specify the broadcast suppression threshold to 0.01 percent, not all modules adjust
to that level of precision. Most thresholds vary between 0.01 percent and 0.05 percent. If you specify
a finer threshold, the threshold percent adjusts as closely as possible.
This example shows how to enable bandwidth-based broadcast suppression and verify the configuration:
Console> (enable) set port broadcast 3/1-6 75.25%
Port(s) 3/1-24 broadcast traffic limited to 75.25%.
Console> (enable) show port broadcast 3
This example shows how to limit the multicast and broadcast traffic to 80 percent for port 2 on
module 1 and verify the configuration:
Console> (enable) set port broadcast 1/2 80% multicast enable
Port 1/2 broadcast and multicast traffic limited to 80.00%.
Console> (enable) show port broadcast 1/2
Task Command
Disable broadcast suppression on one or more clear port broadcast mod/port
ports.
This example shows how to disable broadcast suppression on one or more ports:
Console> (enable) clear port broadcast 3/1
Port 3/1-8 broadcast traffic unlimited.
Console> (enable)
This chapter describes how to configure Layer 3 protocol filtering on Ethernet, Fast Ethernet, and
Gigabit Ethernet ports on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
For example, if a host that supports both IP and Internetwork Packet Exchange (IPX) is connected to a
switch port configured as auto for IPX, but the host is transmitting only IP traffic, the port to which the
host is connected will not forward any IPX flood traffic to the host. However, if the host sends an IPX
packet, the supervisor engine software detects the protocol traffic and the port is added to the IPX group,
allowing the port to receive IPX flood traffic. If the host stops sending IPX traffic for more than
60 minutes, the port is removed from the IPX protocol group.
By default, ports are configured to on for the IP protocol group. Typically, you should only configure a
port to auto for IP if there is a directly connected end station out the port. The default port configuration
for IPX and Group is auto.
With Layer 3 protocol filtering enabled, ports are identified on a protocol basis. A port can be a member
of one or more of the protocol groups. Flood traffic for each protocol group is forwarded out a port only
if that port belongs to the appropriate protocol group.
Packets are classified into the following protocol groups:
• IP
• IPX
• AppleTalk, DECnet, and Banyan VINES (group mode)
• Packets not belonging to any of these protocols
Task Command
Step 1 Enable Layer 3 protocol filtering on the switch. set protocolfilter enable
Step 2 Set the protocol membership of the desired ports. set port protocol mod/port {ip | ipx | group} {on
| off | auto}
Step 3 Verify the port filtering configuration. show port protocol [mod[/port]]
This example shows how to enable Layer 3 protocol filtering, set the protocol membership of ports, and
verify the configuration:
Console> (enable) set protocolfilter enable
Protocol filtering enabled on this switch.
Console> (enable) set port protocol 7/1-4 ip on
IP protocol set to on mode on ports 7/1-4.
Console> (enable) set port protocol 7/1-4 ipx off
IPX protocol disabled on ports 7/1-4.
Console> (enable) set port protocol 7/1-4 group auto
Group protocol set to auto mode on ports 7/1-4.
Console> (enable) show port protocol 7/1-4
Port Vlan IP IP Hosts IPX IPX Hosts Group Group Hosts
-------- ---------- -------- -------- -------- --------- -------- -----------
7/1 4 on 1 off 0 auto-off 0
7/2 5 on 1 off 0 auto-on 1
7/3 2 on 1 off 0 auto-off 0
7/4 4 on 1 off 0 auto-on 1
Console> (enable)
Task Command
Disable Layer 3 protocol filtering on the switch. set protocolfilter disable
This chapter describes how to configure the IP permit list on the Catalyst 6000 family switches.
Note The functionality of the IP permit list can also be achieved with VLAN access control lists (VACLs).
Because VACLs are handled by hardware (Policy Feature Card [PFC]), VACL processing is
considerably faster than IP permit list processing.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
If you do not specify the mask for an IP permit list entry, or if you enter a host name instead of an IP
address, the mask has an implicit value of all bits set to one (255.255.255.255 or 0xffffffff), which
matches only the IP address of that host.
If you do not specify SNMP or Telnet for the type of permit list for the IP address, the IP address is added
to both the SNMP and Telnet permit lists.
You can specify the same IP address in more than one entry in the permit list if the masks are different.
The mask is applied to the address before it is stored in NVRAM, so that entries that have the same effect
(but different addresses) are not stored. When you add such an address to the IP permit list, the system
displays the address after the mask is applied.
Task Command
Step 1 Specify the IP addresses to add to the IP permit set ip permit ip_address [mask] [telnet | snmp |
list. ssh]
Step 2 Verify the IP permit list configuration. show ip permit
This example shows how to add IP addresses to the IP permit list and verify the configuration:
Console> (enable) set ip permit 172.16.0.0 255.255.0.0 telnet
172.16.0.0 with mask 255.255.0.0 added to telnet permit list.
Console> (enable) set ip permit 172.20.52.32 255.255.255.224 snmp
172.20.52.32 with mask 255.255.255.224 added to snmp permit list.
Console> (enable) set ip permit 172.20.52.3 all
172.20.52.3 added to IP permit list.
Console> (enable) show ip permit
Telnet permit list feature enabled.
Snmp permit list feature enabled.
Permit List Mask Access Type
---------------- ---------------- -------------
172.16.0.0 255.255.0.0 telnet
172.20.52.3 snmp telnet
172.20.52.32 255.255.255.224 snmp
Denied IP Address Last Accessed Time Type Telnet Count SNMP Count
----------------- ------------------ ------ ------------ ----------
172.100.101.104 01/20/97,07:45:20 SNMP 14 1430
172.187.206.222 01/21/97,14:23:05 Telnet 7 236
Console> (enable)
Caution Before enabling the IP permit list, make sure you add the IP address of your workstation or network
management system to the permit list, especially when configuring through SNMP. Failure to do so
could result in your connection being dropped by the switch you are configuring. We recommend that
you disable the IP permit list before clearing IP permit entries or host addresses.
To enable the IP permit list on the switch, perform this task in privileged mode:
Task Command
Step 1 Enable the IP permit list. set ip permit enable [telnet | snmp | ssh]
Step 2 If desired, enable the IP permit trap to generate set snmp trap enable ippermit
traps for unauthorized access attempts.
Step 3 If desired, configure the logging level to see set logging level ip 4 default
syslog messages for unauthorized access
attempts.
Step 4 Verify the IP permit list configuration. show ip permit
show snmp
This example shows how to enable the IP permit list and verify the configuration:
Console> (enable) set ip permit enable
IP permit list enabled.
Console> (enable) set snmp trap enable ippermit
SNMP IP Permit traps enabled.
Console> (enable) set logging level ip 4 default
System logging facility <ip> set to severity 4(warnings)
Denied IP Address Last Accessed Time Type Telnet Count SNMP Count
----------------- ------------------ ------ ------------ ----------
172.100.101.104 01/20/97,07:45:20 SNMP 14 1430
172.187.206.222 01/21/97,14:23:05 Telnet 7 236
Community-Access Community-String
---------------- --------------------
read-only public
read-write private
read-write-all secret
Trap-Rec-Address Trap-Rec-Community
---------------------------------------- --------------------
Console> (enable)
Task Command
Step 1 Disable the IP permit list on the switch. set ip permit disable [telnet | snmp | ssh]
Step 2 Verify the IP permit list configuration. show ip permit
Caution Disable the IP permit list before you clear IP permit entries or host addresses to prevent your
connection from being dropped by the switch you are configuring in case you clear your current IP
address.
Task Command
Step 1 Disable the IP permit list. set ip permit disable [telnet | snmp | ssh]
Step 2 Specify the IP address to remove from the IP clear ip permit {ip_address [mask] | all} [telnet |
permit list. snmp | ssh]
Step 3 Verify the IP permit list configuration. show ip permit
This chapter describes how to configure port security on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
After you allocate the maximum number of MAC addresses on a port, you can either specify the secure
MAC address for the port manually or you can have the port dynamically configure the MAC address of
the connected devices. Out of an allocated number of maximum MAC addresses on a port, you can
manually configure all, allow all to be autoconfigured, or configure some manually and allow the rest to
be autoconfigured. Once you manually configure or autoconfigure the addresses, they are stored in
NVRAM and maintained after a reset.
After you allocate a maximum number of MAC addresses on a port, you can specify how long addresses
on the port will remain secure. After the age time expires, the MAC addresses on the port become
insecure. By default, all addresses on a port are secured permanently.
If a security violation occurs, you can configure the port to go into shutdown mode or restrictive mode.
The shutdown mode option allows you to specify whether the port is permanently disabled or disabled
for only a specified time. The default is for the port to shut down permanently. The restrictive mode
allows you to configure the port to remain enabled during a security violation and drop only packets that
are coming in from insecure hosts.
Note If you configure a secure port in restrictive mode, and a station is connected to the port whose MAC
address is already configured as a secure MAC address on another port on the switch, the port in
restrictive mode shuts down instead of restricting traffic from that station. For example, if you
configure MAC-1 as the secure MAC address on port 2/1 and MAC-2 as the secure MAC address on
port 2/2 and then connect the station with MAC-1 to port 2/2 when port 2/2 is configured for
restrictive mode, port 2/2 shuts down instead of restricting traffic from MAC-1.
When a secure port receives a packet, the source MAC address of the packet is compared to the list of
secure source addresses that were manually configured or autoconfigured (learned) on the port. If a
MAC address of a device attached to the port differs from the list of secure addresses, the port either
shuts down permanently (default mode), shuts down for the time you have specified, or drops incoming
packets from the insecure host. The port’s behavior depends on how you configure it to respond to a
security violation.
If a security violation occurs, the Link LED for that port turns orange, and a link-down trap is sent to the
Simple Network Management Protocol (SNMP) manager. An SNMP trap is not sent if you configure the
port for restrictive violation mode. A trap is sent only if you configure the port to shut down during a
security violation.
Note The set cam filter command allows filtering for unicast addresses only. You cannot filter traffic for
multicast addresses with this command.
Task Command
Step 1 Enable port security on the desired ports. If set port security mod/port enable [mac_addr]
desired, specify the secure MAC address.
Step 2 You can add MAC addresses to the list of secure set port security mod/port mac_addr
addresses.
Step 3 Verify the configuration. show port [mod[/port]]
This example shows how to enable port security using the learned MAC address on a port and verify the
configuration:
Console> (enable) set port security 2/1 enable
Port 2/1 port security enabled with the learned mac address.
Trunking disabled for Port 2/1 due to Security Mode
Console> (enable) show port 2/1
Port Name Status Vlan Level Duplex Speed Type
----- ------------------ ---------- ---------- ------ ------ ----- ------------
2/1 connected 522 normal half 100 100BaseTX
Last-Time-Cleared
--------------------------
Fri Jul 10 1998, 17:53:38
This example shows how to enable port security on a port and manually specify the secure MAC address:
Console> (enable) set port security 2/1 enable 00-90-2b-03-34-08
Port 2/1 port security enabled with 00-90-2b-03-34-08 as the secure mac address
Trunking disabled for Port 2/1 due to Security Mode
Console> (enable)
Task Command
Set the number of MAC addresses to be set port security mod/port maximum num_of_mac
secured on a port.
This example shows how to set the number of MAC addresses to be secured:
Console> (enable) set port security 7/7 maximum 20
Maximum number of secure addresses set to 20 for port 7/7.
Console> (enable)
This example shows how to reduce the number of MAC addresses and the list that displays the cleared
MAC addresses:
Console> (enable) set port security 7/7 maximum 18
Maximum number of secure addresses set to 18 for port 7/7
00-11-22-33-44-55 cleared from secure address list for port 7/7
00-11-22-33-44-66 cleared from secure address list for port 7/7
Console> (enable)
Task Command
Set the age time for which addresses on a port will set port security mod/port age time
be secured.
This example shows how to set the age time on port 7/7:
Console> (enable) set port security 7/7 age 600
Secure address age time set to 600 minutes for port 7/7.
Console> (enable)
Note If the clear command is executed on a MAC address that is in use, that MAC address may be learned
and made secure again. We recommend that you disable port security before you clear MAC
addresses.
To clear all or a particular MAC address from the list of secure MAC addresses, perform this task in
privileged mode:
Task Command
Clear all or a particular MAC address from the list clear port security mod/port {mac_addr | all}
of secure MAC addresses.
This example shows how to clear one MAC address from the secure address list on port 7/7:
Console> (enable) clear port security 7/7 00-11-22-33-44-55
00-11-22-33-44-55 cleared from secure address list for port 7/7
Console> (enable)
This example shows how to clear all MAC addresses from ports 7/5-7:
Console> (enable) clear port security 7/5-7 all
All addresses cleared from secure address list for ports 7/5-7
Console> (enable)
Task Command
Specify the violation action on a port. set port security mod/port violation {shutdown
| restrict}
This example shows how to specify that port 7/7 drop all packets from insecure hosts:
Console> (enable) set port security 7/7 violation restrict
Port security violation on port 7/7 will cause insecure packets to be dropped.
Console> (enable)
Note If you restrict the number of secure MAC addresses on a port to one and additional hosts attempt to
connect to that port, port security blocks these additional hosts from connecting to that port and to
any other port in the same VLAN for the duration of the VLAN aging time. By default, the VLAN
aging time is five minutes. If a host is blocked from joining a port in the same VLAN as the secured
port, allow the VLAN aging time to expire before you attempt to connect the host to the port again.
Note When the shutdown timeout expires, the port is reenabled and all port security-related configuration
is maintained.
Task Command
Set the shutdown timeout on a port. set port security mod/port shutdown time
This example shows how to set the shutdown timeout to 600 minutes on port 7/7:
Console> (enable) set port security 7/7 shutdown 600
Secure address shutdown time set to 600 minutes for port 7/7.
Console> (enable)
Task Command
Step 1 Disable port security on the desired ports. set port security mod/port disable
Step 2 Verify the configuration. show port security [mod/port]
Task Command
Step 1 Restrict traffic destined to or originating from a set cam static | permanent filter unicast_mac
specific MAC address. vlan
Step 2 Remove the filter. clear cam mac_address vlan
Step 3 Verify the configuration. show cam static
This example shows how to create a filter that restricts traffic for a specific MAC address:
Console> (enable) set cam static filter 00-02-03-04-05-06 1
Filter entry added to CAM table.
Console> (enable)
VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]
---- ------------------ ----- -------------------------------------------
3 04-04-05-06-07-08 * FILTER
Task Command
Step 1 Display the configuration. show port security [statistics] mod/port
Step 2 Display the port security statistics. show port security statistics [system]
[mod/port]
This example shows how to display port security configuration information and statistics:
Console> (enable) show port security 3/24
Port Security Violation Shutdown-Time Age-Time Max-Addr Trap IfIndex
----- -------- --------- ------------- -------- -------- -------- -------
3/24 enabled shutdown 300 60 10 disabled 921
This example shows how to display port security statistics on the system:
Console> (enable) show port security statistics system
Module 1:
Total ports: 2
Total MAC address(es): 2
Total global address space used (out of 1024): 0
Status: installed
Module 3:
Module does not support port security feature
Module 6:
Total ports: 48
Total MAC address(es): 48
Total global address space used (out of 1024): 0
Status: installed
Module 7:
Total ports: 24
Total MAC address(es): 223
Total global address space used (out of 1024): 199
Status: installed
Console> (enable)
This chapter describes how to configure the Simple Network Management Protocol (SNMP) on the
Catalyst 6000 family switches.
This chapter consists of these sections:
• SNMP Terminology, page 36-1
• Understanding SNMP, page 36-3
• Understanding How SNMPv1 and SNMPv2c Works, page 36-5
• Understanding SNMPv3, page 36-7
• Configuring SNMPv1 and SNMPv2c, page 36-10
• Configuring SNMPv3, page 36-11
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
SNMP Terminology
Table 36-1 lists the terms used in SNMP technology.
Term Definition
authentication The process of ensuring message integrity and protection against
message replays, including both data integrity and data origin
authentication.
authoritative SNMP engine One of the SNMP copies involved in network communication is
designated the allowed SNMP engine to protect against message
replay, delay, and redirection. The security keys used for
authenticating and encrypting SNMPv3 packets are generated as
a function of the authoritative SNMP engine’s ID and user
passwords. When an SNMP message expects a response (for
example, get exact, get next, set request), the receiver of these
messages is authoritative. When an SNMP message does not
expect a response, the sender is authoritative.
Term Definition
community string A text string used to authenticate messages between a
management station and an SNMPv1 or SNMPv2c engine.
data integrity A condition or state of data in which a message packet has not
been altered or destroyed in an unauthorized manner.
data origin authentication The ability to verify the identity of a user that the message is
supposedly sent to. This ability protects users against both
message capture and replay by a different SNMP engine, and
against packets received or sent to a particular user that uses an
incorrect password or security level.
encryption A method of hiding data from an unauthorized user by scrambling
the contents of an SNMP packet.
group A set of users belonging to a particular security model. A group
defines the access rights for all the users belonging to it. Access
rights define the SNMP objects that can be read, written to, or
created. In addition, the group defines the notifications that a user
is allowed to receive.
notification host An SNMP entity to which notifications (traps and informs) are to
be sent.
notify view A view name (not to exceed 64 characters) for each group; the
view name defines the list of notifications that can be sent to each
user in the group.
privacy An encrypted state of the contents of an SNMP packet; in this
state the contents are prevented from being disclosed on a
network. Encryption is performed with an algorithm called
CBC-DES (DES-56).
read view A view name (not to exceed 64 characters) for each group; the
view name defines the list of object identifiers (OIDs) that can be
read by users belonging to the group.
security level A type of security algorithm performed on each SNMP packet.
There are three levels: noauth, auth, and priv. The noauth level
authenticates a packet by a string match of the username. The auth
level authenticates a packet by using either the HMAC MD5 or
SHA algorithms. The priv level authenticates a packet by using
either the HMAC MD5 or SHA algorithms and encrypts the
packet using the CBC-DES (DES-56) algorithm.
security model The security strategy used by the SNMP agent. Currently, Cisco
IOS supports three security models: SNMPv1, SNMPv2c, and
SNMPv3.
Simple Network Management A network management protocol that provides a method to
Protocol (SNMP) monitor and control network devices, and to manage
configurations, statistics collection, performance, and security.
Simple Network Management Second version of SNMP. This protocol supports centralized and
Protocol Version 2c distributed network management strategies and includes
(SNMPv2c) improvements in the structure of management information (SMI),
protocol operations, management architecture, and security.
Term Definition
SNMP engine A copy of SNMP that can reside on the local or remote device.
SNMP entity Unlike SNMPv1 and SNMPv2c, in SNMPv3 the terms SNMP
Agents and SNMP Managers are no longer used. These concepts
have been combined and called an SNMP entity. An SNMP entity
is made up of an SNMP engine and SNMP applications.
SNMP group A collection of SNMP users that belong to a common SNMP list
that defines an access policy, in which object identification
numbers (OIDs) are both read-accessible and write-accessible.
Users belonging to a particular SNMP group inherit all of these
attributes defined by the group.
SNMP user A person for which an SNMP management operation is
performed. The user is the person on a remote SNMP engine who
receives the inform messages.
SNMP view A mapping between SNMP objects and the access rights available
for those objects. An object can have different access rights in
each view. Access rights indicate whether the object is accessible
by either a community string or a user.
write view A view name (not to exceed 64 characters) for each group; the
view name defines the list of object identifiers (OIDs) that can be
created or modified by users of the group.
Understanding SNMP
SNMP is an application-layer protocol that facilitates the exchange of management information between
network devices. SNMP enables network administrators to manage network performance, find and solve
network problems, and plan for network growth.
There are three versions of SNMP:
• Version 1 (SNMPv1)—This is the initial implementation of SNMP. Refer to RFC 1157 for a full
description of functionality. See the “Understanding How SNMPv1 and SNMPv2c Works” section
on page 36-5 for more information on SNMPv1.
• Version 2 (SNMPv2c)—The second release of SNMP, described in RFC 1902, has additions and
enhancements to data types, counter size, and protocol operations. See the “Understanding How
SNMPv1 and SNMPv2c Works” section on page 36-5 for more information on SNMPv2.
• Version 3 (SNMPv3)—This is the most recent version of SNMP and is fully described in RFC 2571,
RFC 2572, RFC 2573, RFC 2574, and RFC 2575. The SNMP functionality on the Catalyst
enterprise LAN switches for SNMPv1 and SNMPv2c remain intact; however, SNMPv3 has
significant enhancements to administration and security. See the “Understanding SNMPv3” section
on page 36-7 for more information on SNMPv3.
Note An SNMP management application, together with the computer it runs on, is called a
Network ManagementSystem (NMS).
• Setting a MIB variable—This function is also initiated by the SNMP agent in response to a message
from the NMS. The SNMP agent changes the value of the MIB variable to the value requested by
the NMS.
• SNMP trap—This function is used to notify an NMS that a significant event has occurred at an
agent. When a trap condition occurs, the SNMP agent sends an SNMP trap message to any NMSs
specified as the trap receivers, under the following conditions:
– When a port or module goes up or down
– When temperature limitations are exceeded
– When there are spanning tree topology changes
– When there are authentication failures
– When power supply errors occur
• SNMP community strings—SNMP community strings authenticate access to MIB objects and
function as embedded passwords:
– Read-only—Gives read access to all objects in the MIB except the community strings, but does
not allow write access
– Read-write—Gives read and write access to all objects in the MIB, but does not allow access to
the community strings
– Read-write-all—Gives read and write access to all objects in the MIB, including the community
strings
Note The community string definitions on your NMS must match at least one of the three
community string definitions on the switch.
Using CiscoWorks2000
CiscoWorks2000 is a family of Web-based and management platform-independent products for
managing Cisco enterprise networks and devices. CiscoWorks2000 includes Resource Manager
Essentials and CWSI Campus, which allow you to deploy, configure, monitor, manage, and troubleshoot
a switched internetwork. For more information, refer to the following publications:
• Getting Started With Resource Manager Essentials
• Getting Started With CWSI Campus
Understanding SNMPv3
SNMPv3 contains all the functionality of SNMPv1 and SNMPv2c, but SNMPv3 has significant
enhancements to administration and security. SNMPv3 is an interoperable standards-based protocol and
provides secure access to devices by authenticating and encrypting packets over the network. The
security features provided in SNMPv3 are as follows:
• Message integrity—Collects data securely without being tampered with or corrupted
• Authentication—Determines the message is from a valid source
• Encryption—Scrambles the contents of a packet to prevent it from being seen by an unauthorized
source
SNMP Entity
Unlike SNMPv1 and SNMPv2c, in SNMPv3 the concept of SNMP Agents and SNMP Managers no
longer apply. These concepts have been combined into an SNMP entity. An SNMP entity consists of an
SNMP engine and SNMP applications. An SNMP engine consists of the following four components:
• Dispatcher
• Message processing subsystem
• Security subsystem
• Access control subsystem
Figure 36-1 provides an illustration of the SNMP entity.
Dispatcher
The dispatcher is a traffic manager that sends and receives messages. After receiving a message, the
dispatcher tries to determine the version number of the message and then passes the message to the
appropriate message processing model. The dispatcher is also responsible for dispatching PDUs to
applications and for selecting the appropriate transports for sending messages.
58568
MIB Instrumentation SNMP Applications
Security Subsystem
The security subsystem authenticates and encrypts messages. Each outgoing message is passed to the
security subsystem from the message processing subsystem. Depending on the services required, the
security subsystem may encrypt the enclosed PDU and some fields in the message header. In addition,
the security subsystem may generate an authentication code and insert it into the message header. After
encryption, the message is returned to the message processing subsystem.
Each incoming message is passed to the security subsystem from the message processing subsystem. If
required, the security subsystem checks the authentication code and performs decryption. The processed
message is returned to the message processing subsystem. An implementation of the security subsystem
may support one or more distinct security models. The only currently defined security model is the
user-based security model (USM) for SNMPv3, specified in RFC 2274.
The USM protects SNMPv3 messages from the following potential security threats:
• An authorized user sending a message that gets modified in transit by an unauthorized SNMP entity.
• An unauthorized user trying to masquerade as an authorized user.
• A user modifying the message stream.
• An unauthorized user listening to the message.
The USM currently defines the use of HMAC-MD5-96 and HMAC-SHA-96 as the possible
authentication protocols and CBC-DES as the privacy protocol.
SNMPv1 and SNMPv2c security models provide only community names for authentication and no
privacy.
Applications
SNMPv3 applications refer to internal applications within an SNMP entity. These internal applications
can do the following operations:
• Generate SNMP messages
• Respond to received SNMP messages
• Generate and receive notifications
• Forward messages between SNMP entities
There are currently five types of applications:
• Command generators—Generate SNMP commands to collect or set management data.
• Command responders—Provide access to management data. For example, processing get, get-next,
get-bulk and set pdus are used in a command responder application.
• Notification originators —Initiate Trap or Inform messages.
• Notification receivers—Receive and process Trap or Inform messages.
• Proxy forwarders—Forward messages between SNMP entities.
Task Command
Step 1 Define the SNMP community strings for each set snmp community read-only
access type. community_string
set snmp community read-write
community_string
set snmp community read-write-all
community_string
Step 2 Assign a trap receiver and community. You can set snmp trap rcvr_address rcvr_community
specify up to ten trap receivers.
Step 3 Specify the SNMP traps to send to the trap set snmp trap enable [all | module | chassis |
receiver. bridge | repeater | auth | vtp | ippermit | vmps |
config | entity | stpx]
Step 4 Verify the SNMP configuration. show snmp
This example shows how to define community strings, assign a trap receiver, and specify which traps to
send to the trap receiver:
Console> (enable) set snmp community read-only Everyone
SNMP read-only community string set to 'Everyone'.
Console> (enable) set snmp community read-write Administrators
SNMP read-write community string set to 'Administrators'.
Console> (enable) set snmp community read-write-all Root
SNMP read-write-all community string set to 'Root'.
Console> (enable) set snmp trap 172.16.10.10 read-write
SNMP trap receiver added.
Note To disable access for an SNMP community, set the community string for that community to the null
string (do not enter a value for the community string).
Configuring SNMPv3
This section provides basic SNMPv3 configuration information. For detailed information on the SNMP
commands supported by the Catalyst 6000 family switches, refer to the Catalyst 6000 Family Command
Reference publication.
Task Command
Step 1 Set the SNMP-Server EngineID set snmp engineid engineid
name for the local SNMP engine.
Step 2 Configure the MIB views. set snmp view [-hex] {viewname} {subtree} [mask] [included |
excluded] [volatile | nonvolatile]
Step 3 Set the access rights for a group set snmp access [-hex] {groupname} {security-model v3}
with a certain security model in {noauthentication | authentication | privacy} [read [-hex]
different security levels. {readview}] [write [-hex] {writeview}] [notify [-hex]
{notifyview}] [context [-hex] {contextname} [exact | prefix]]
[volatile | nonvolatile]
Step 4 Specify the target addresses for set snmp notify [-hex] {notifyname} tag [-hex] {notifytag}
notifications. [trap | inform] [volatile | nonvolatile]
Step 5 Set the snmpTargetAddrEntry in set snmp targetaddr [-hex] {addrname} param [-hex]
the target address table. {paramsname} {ipaddr} [udpport {port}] [timeout {value}]
[retries {value}] [volatile | nonvolatile] [taglist {[-hex] tag}
[[-hex] tag]]
Step 6 Set the SNMP parameters used to set snmp targetparams [-hex] {paramsname} user [-hex]
generate a message to a target. {username} {security-model v3} {message-processing v3}
{noauthentication | authentication | privacy} [volatile |
nonvolatile]
Step 7 Configure a new user. set snmp user [-hex] {username} [remote {engineid}]
[{authentication [md5 | sha] {authpassword}] [privacy
{privpassword}] [volatile | nonvolatile]
Step 8 Relate a user to a group using a set snmp group [-hex] {groupname} user [-hex] {username}
specified security model. {security-model v1 | v2 | v3} [volatile | nonvolatile]
Step 9 Configure the community table for set snmp community {read-only | read-write | read-write-all}
the system default part, which [community_string]
maps community strings of
previous versions of SNMP to
SNMPv3.
Step 10 Configure the community table for set snmp community index {index_name} name
mappings between different [community_string] security {security_name} context
community strings and security {context_name} transporttag {tag_value} [volatile |
models with full permissions. nonvolatile]
Step 11 Verify the SNMP configuration. show snmp
This example shows how to set the access rights for a group called guestgroup to SNMPv3
authentication read mode:
Console> (enable) set snmp access guestgroup security-model v3 authentication read
interfacesMibView
Snmp access group was set to guestgroup version v3 level authentication,
readview interfacesMibView, context match:exact, nonvolatile.
These examples show how to set the snmpTargetAddrEntry in the target address table:
Console> (enable) set snmp targetaddr router_1 param p1 172.20.21.1
Snmp targetaddr name was set to router_1 with param p1
ipAddr 172.20.21.1, udpport 162, timeout 1500, retries 3, storageType nonvolatile.
These examples show how to set guestuser1 and guestuser2 as members of the groups guestgroup and
mygroup:
Console> (enable) set snmp group guestgroup user guestuser1 security-model v3
Snmp group was set to guestgroup user guestuser1 and version v3, nonvolatile.
This example shows how to verify the SNMPv3 setup for guestuser1 from a workstation:
workstation% getnext -v3 10.6.4.201 guestuser1 ifDescr.0
Enter Authentication password :guestuser1password
Enter Privacy password :privacypasswd1
ifDescr.1 = sc0
This example shows how to verify the SNMPv3 setup for guestgroup in the snmpEngineID MIB from a
workstation:
workstation% getnext -v3 10.6.4.201 guestuser1 snmpEngineID
Enter Authentication password :guestuser1pasword
Enter Privacy password :privacypasswd1
snmpEngineID = END_OF_MIB_VIEW_EXCEPTION
This example shows how to verify the SNMPv2c setup for public access from a workstation:
workstation% getnext -v2c 10.6.4.201 public snmpEngineID
snmpEngineID.0 =
00 00 00 09 00 10 7b f2 82 00 00 00
These examples show how to increase guestgroup’s access right to read privileges for
snmpEngineMibView:
Console> (enable) set snmp view snmpEngineMibView 1.3.6.1.6.3.10.2.1 included
Snmp view name was set to snmpEngineMibView with subtree 1.3.6.1.6.3.10.2.1 included,
nonvolatile
This example shows how to verify the SNMPv3 access for guestuser1 from a workstation:
workstation% getnext -v3 10.6.4.201 guestuser1 snmpEngineID
Enter Authentication password :guestuser1password
Enter Privacy password :privacypasswd1
snmpEngineID.0 =
00 00 00 09 00 10 7b f2 82 00 00 00
This example shows how to verify that the access for guestuser1 has been removed from a workstation:
workstation% getnext -v3 10.6.4.201 guestuser1 ifDescr.1
Enter Authentication password :guestuser1password
Enter Privacy password :privacypasswd1
Error code set in packet - AUTHORIZATION_ERROR:1.
This example shows how to verify the access for guestuser2 from a workstation:
workstation% getnext -v3 10.6.4.201 guestuser2 ifDescr.1
Enter Authentication password :guestuser2password
Enter Privacy password :privacypasswd2
REPORT received, cannot recover:
usmStatsUnsupportedSecLevels.0 = 1
This chapter describes how to configure RMON on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
The embedded RMON agent allows the switch to monitor network traffic from all ports simultaneously
at Layer 2 without requiring a dedicated monitoring probe or network analyzer. For more information
on RMON, visit:
http://www.cisco.com/en/US/docs/internetworking/technology/handbook/RMON.html
Enabling RMON
Note RMON is disabled by default.
Task Command
Step 1 Enable RMON on the switch. set snmp rmon enable
Step 2 Verify that RMON is enabled. show snmp
This example shows how to enable RMON on the switch and how to verify that RMON is enabled:
Console> (enable) set snmp rmon enable
SNMP RMON support enabled.
Console> (enable) show snmp
RMON: Enabled
Extended RMON: Extended RMON module is not present
Traps Enabled:
Port,Module,Chassis,Bridge,Repeater,Vtp,Auth,ippermit,Vmps,config,entity,stpx
Port Traps Enabled: 1/1-2,4/1-48,5/1
Community-Access Community-String
---------------- --------------------
read-only Everyone
read-write Administrators
read-write-all Root
Trap-Rec-Address Trap-Rec-Community
---------------------------------------- --------------------
172.16.10.10 read-write
172.16.10.20 read-write-all
Console> (enable)
This chapter describes how to configure Switched Port Analyzer (SPAN) and Remote SPAN (RSPAN)
on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note To configure SPAN or RSPAN from a network management station (NMS), refer to the NMS
documentation (see the “Using CiscoWorks2000” section on page 36-6).
SPAN Session
A SPAN session is an association of a destination port with a set of source ports, configured with
parameters that specify the monitored network traffic. You can configure multiple SPAN sessions in a
switched network. SPAN sessions do not interfere with the normal operation of the switches. You can
enable or disable SPAN sessions with command-line interface (CLI) or SNMP commands. When
enabled, a SPAN session might become active or inactive based on various events or actions, and this
would be indicated by a syslog message. The “Status” field in the show span and show rspan commands
displays the operational status of a SPAN or RSPAN session.
A SPAN or RSPAN destination session remains inactive after system power up until the destination port
is operational. An RSPAN source session remains inactive until any of the source ports are operational
or the RSPAN VLAN becomes active.
Destination Port
A destination port (also called a monitor port) is a switch port where SPAN sends packets for analysis.
After a port becomes an active destination port, it does not forward any traffic except that required for
the SPAN session. By default, an active destination port disables incoming traffic (from the network to
the switching bus), unless you specifically enable the port. If incoming traffic is enabled for the
destination port, it is switched in the native VLAN of the destination port. The destination port does not
participate in spanning tree while the SPAN session is active. See the caution statement in the
“Configuring SPAN from the CLI” section on page 38-7 for information on how to prevent loops in your
network topology.
Only one destination port is allowed per SPAN session, and the same port cannot be a destination port
for multiple SPAN sessions. A switch port configured as a destination port cannot be configured as a
source port. EtherChannel ports cannot be SPAN destination ports.
If the trunking mode of a SPAN destination port is “on” or “nonegotiate” during SPAN session
configuration, the SPAN packets forwarded by the destination port have the encapsulation as specified
by the trunk type; however, the destination port stops trunking, and the show trunk command reflects
the trunking status for the port prior to SPAN session configuration.
Source Port
A source port is a switch port monitored for network traffic analysis. The traffic through the source ports
can be categorized as ingress, egress, or both. You can monitor one or more source ports in a single
SPAN session with user-specified traffic types (ingress, egress, or both) applicable for all the source
ports.
You can configure source ports in any VLAN. You can configure VLANs as source ports (src_vlans),
which means that all ports in the specified VLANs are source ports for the SPAN session.
Source ports are administrative (Admin Source) or operational (Oper Source) or both. Administrative
source ports are the source ports or source VLANs specified during SPAN session configuration.
Operational source ports are the source ports monitored by the destination port. For example, when
source VLANs are used as the administrative source, the operational source is all the ports in all the
specified VLANs.
The operational sources are always active ports. If a port is not in the spanning tree, it is not an
operational source. All physical ports in an EtherChannel source are included in operational sources if
the logical port is included in the spanning tree.
The destination port, if it belongs to any of the administrative source VLANs, is excluded from the
operational source.
You can configure a port as a source port in multiple active SPAN sessions, but you cannot configure
an active source port as a destination port for any SPAN session.
If a SPAN session is inactive, the “oper source” field is not updated until the session becomes active.
Trunk ports can be configured as source ports and can be mixed with nontrunk source ports; however,
the encapsulation of the packets forwarded by the destination port are determined by the trunk settings
of the destination port during SPAN session configuration.
Ingress SPAN
Ingress SPAN copies network traffic received by the source ports for analysis at the destination port.
Egress SPAN
Egress SPAN copies network traffic transmitted from the source ports for analysis at the destination port.
VSPAN
VLAN-based SPAN (VSPAN) is analysis of the network traffic in one or more VLANs. You can
configure VSPAN as ingress SPAN, egress SPAN, or both. All the ports in the source VLANs become
operational source ports for the VSPAN session. The destination port, if it belongs to any of the
administrative source VLANs, is excluded from the operational source. If you add or remove ports from
the administrative source VLANs, the operational sources are modified accordingly.
Use the following guidelines for VSPAN sessions:
• Trunk ports are included as source ports for VSPAN sessions, but only the VLANs that are in the
Admin source list are monitored, provided these VLANs are active for the trunk.
• For VSPAN sessions with both ingress and egress SPAN configured, the system operates as follows
based upon the type of supervisor engine you have:
– WS-X6K-SUP1A-PFC, WS-X6K-SUP1A-MSFC, WS-X6K-SUP1A-MSFC2,
WS-X6K-SUP2-PFC2, WS-X6K-SUP2-MSFC2—Two packets are forwarded by the SPAN
destination port if the packets get switched on the same VLAN.
– WS-X6K-SUP1-2GE, WS-X6K-SUP1A-2GE—Only one packet is forwarded by the SPAN
destination port.
• An inband port is not included as Oper source for VSPAN sessions.
• When a VLAN is cleared, it is removed from the source list for VSPAN sessions.
• A VSPAN session is disabled if the Admin source VLANs list is empty.
• Inactive VLANs are not allowed for VSPAN configuration.
• A VSPAN session is made inactive if any of the source VLANs become RSPAN VLANs.
SPAN Traffic
All network traffic, including the multicast and bridge protocol data unit (BPDU) packets, can be monitored
using SPAN (RSPAN does not support monitoring of BPDU packets or Layer 2 protocol packets such as
CDP, DTP, and VTP). Multicast packet monitoring is enabled by default.
In some SPAN configurations, multiple copies of the same source packet are sent to the SPAN
destination port. For example, a bidirectional (both ingress and egress) SPAN session is configured for
sources a1 and a2 to a destination port d1. If a packet enters the switch through a1 and gets switched to
a2, both incoming and outgoing packets are sent to destination port d1; both packets would be the same
(if a Layer-3 rewrite occurs, the packets are different). Similarly, for RSPAN sessions with sources
distributed in multiple switches, the destination ports might forward multiple copies of the same packet.
Configuring SPAN
These sections describe how to configure SPAN:
• SPAN Hardware Requirements, page 38-5
• Understanding How SPAN Works, page 38-5
• SPAN Configuration Guidelines, page 38-6
• Configuring SPAN from the CLI, page 38-7
E6 E7
E5 E8 E11
E4 E9 E12
E3 E10
E2
E1
S6884
Network analyzer
For SPAN configuration, the source ports and the destination port must be on the same switch.
SPAN does not affect the switching of network traffic on source ports; a copy of the packets received or
transmitted by the source ports are sent to the destination port.
Caution In software releases prior to software release 8.4(1), if you use the set span command without the create
keyword, and you have only one session configured, the session is overwritten. If there are two SPAN
sessions already configured, you receive an error message. If a matching destination port exists, the
particular session is overwritten (with or without specifying the create keyword). If you specify the
create keyword and there is no matching destination port, the session is created.
In software release 8.4(1) and later releases, the create keyword has been removed from the set span
command. When you enable a SPAN session without the create keyword, and another session is
available, the first session is not overwritten.
Task Command
Step 1 Configure the SPAN source and destination ports. set span {src_mod/src_ports | src_vlans | sc0}
{dest_mod/dest_port} [rx | tx | both] [inpkts
{enable | disable}] [learning {enable | disable}]
[multicast {enable | disable}]
[filter vlans...] [create]
Step 2 Verify the SPAN configuration. show span
Caution If the SPAN destination port is connected to another device and you enable reception of incoming
packets (using the inpkts enable keywords), the SPAN destination port receives traffic for whatever
VLAN the SPAN destination port belongs to. However, the SPAN destination port does not
participate in spanning tree for that VLAN. Use caution when using the inpkts keyword to avoid
creating network loops with the SPAN destination port or assigning the SPAN destination port to an
unused VLAN.
This example shows how to configure SPAN so that both transmit and receive traffic from port 1/1 (the
SPAN source) is mirrored on port 2/1 (the SPAN destination):
Console> (enable) set span 1/1 2/1
This example shows how to set VLAN 522 as the SPAN source and port 2/1 as the SPAN destination:
Console> (enable) set span 522 2/1
This example shows how to set VLAN 522 as the SPAN source and port 2/12 as the SPAN destination.
Only transmit traffic is monitored. Normal incoming packets on the SPAN destination port are allowed.
Console> (enable) set span 522 2/12 tx inpkts enable
This example shows how to set port 3/2 as the SPAN source and port 2/2 as the SPAN destination:
Console> (enable) set span 3/2 2/2 tx create
Task Command
Disable SPAN on the switch. set span disable [dest_mod/dest_port | all]
Configuring RSPAN
These sections describe how to configure RSPAN:
• RSPAN Hardware Requirements, page 38-9
• Understanding How RSPAN Works, page 38-9
• RSPAN Configuration Guidelines, page 38-10
• Configuring RSPAN, page 38-11
• RSPAN Configuration Examples, page 38-14
Note See the “Understanding How SPAN and RSPAN Works” section on page 38-1 for concepts and
terminology that apply to both SPAN and RSPAN configuration.
RSPAN has all the features of SPAN (see the “Understanding How SPAN Works” section on page 38-5),
plus support for source ports and destination ports distributed across multiple switches, allowing remote
monitoring of multiple switches across your network (see Figure 38-2).
The traffic for each RSPAN session is carried over a user-specified RSPAN VLAN that is dedicated for
that RSPAN session in all participating switches. The SPAN traffic from the sources, which cannot be
in the RSPAN VLAN, is switched to the RSPAN VLAN and then forwarded to destination ports
configured in the RSPAN VLAN. The traffic type for sources (ingress, egress, or both) in an RSPAN
session can be different in different source switches, but is the same for all sources in each source switch
for each RSPAN session. Do not configure any ports in an RSPAN VLAN except those selected to carry
RSPAN traffic. Learning is disabled on the RSPAN VLAN.
Destination switch
Switch D
(data center)
D1 D2
Layer 2 trunk
Probe
C3
Switch C Intermediate switch
C1 C2 (distribution)
A3 B4
Source switch(es)
Switch A Switch B
(access)
A1 A2 B1 B2 B3
27389
RSPAN Configuration Guidelines
Follow these guidelines when configuring RSPAN:
Tip As RSPAN VLANs have special properties, we recommend that you reserve a few VLANs across
your network for use as RSPAN VLANs; do not assign access ports to these VLANs.
Tip You can apply an output access control list (ACL) to RSPAN traffic to selectively filter specific flows.
Specify these ACLs on the RSPAN VLAN in the RSPAN source switches.
• All the items in the “SPAN Configuration Guidelines” section on page 38-6 apply to RSPAN.
• RSPAN sessions can coexist with SPAN sessions within the SPAN/RSPAN limits described in the
“SPAN and RSPAN Session Limits” section on page 38-4.
• For RSPAN configuration, you can distribute the source ports and the destination port across
multiple switches.
• For RSPAN, trunking is required if you have a source switch with all source ports in one VLAN
(VLAN 2 for example) and it is connected to the destination switch through an uplink port that is
also in VLAN 2. With RSPAN, the traffic is forwarded to remote switches in the RSPAN VLAN.
The RSPAN VLAN is configured only on trunk ports and not on access ports.
• The learning option applies to RSPAN destination ports only.
• RSPAN does not support monitoring of BPDU packets or Layer 2 protocol packets such as CDP, DTP,
and VTP.
• To optimize bandwidth utilization in the connecting links, you can configure quality of service
(QoS) parameters for the RSPAN VLAN in each of the participating source, intermediate, or
destination switches.
• Each Catalyst 6000 family switch can source a maximum of one RSPAN session (ingress, egress, or
both). When you configure a remote ingress or bidirectional SPAN session in a source switch, the
limit for local ingress or bidirectional SPAN sessions is reduced to one. There are no limits on the
number of RSPAN sessions carried across the network within the RSPAN session limits (see the
“SPAN and RSPAN Session Limits” section on page 38-4).
• RSPAN VLANs cannot be included as sources for port-based RSPAN sessions when source trunk
ports have active RSPAN VLANs. Additionally, RSPAN VLANs cannot be sources in VSPAN
sessions.
• You can configure any VLAN as an RSPAN VLAN as long as these conditions are met:
– The same RSPAN VLAN is used for an RSPAN session in all the switches.
– All participating switches have appropriate hardware and software.
– No access port (including the sc0 interface) is configured in the RSPAN VLAN.
• If you enable VLAN Trunk Protocol (VTP) and VTP pruning, RSPAN traffic is pruned in the trunks
to prevent the unwanted flooding of RSPAN traffic across the network.
• If you enable GARP VLAN Registration Protocol (GVRP) and GVRP requests conflict with existing
RSPAN VLANs, you might observe unwanted traffic might in the respective RSPAN sessions.
• You can use RSPAN VLANs in Inter-Switch Link (ISL) to dot1q mapping. However, ensure that the
special properties of RSPAN VLANs are supported in all the switches to avoid unwanted traffic in
these VLANs.
Configuring RSPAN
The first step in configuring an RSPAN session is to select an RSPAN VLAN for the RSPAN session that
does not exist in any of the switches that will participate in RSPAN. With VTP enabled in the network,
you can create the RSPAN VLAN in one switch and VTP propagates it to the other switches in the VTP
domain.
Use VTP pruning to get efficient flow of RSPAN traffic, or manually delete the RSPAN VLAN from all
trunks that do not need to carry the RSPAN traffic.
Once the RSPAN VLAN is created, you configure the source and destination switches using the set
rspan command.
To configure RSPAN VLANs, perform this task in privileged mode:
Task Command
Step 1 Configure RSPAN VLANs. set vlan vlan [rspan]
Step 2 Verify the RSPAN VLAN configuration. show vlan
Task Command
Step 1 Configure RSPAN source ports. Use this set rspan source {mod/ports... | vlans... | sc0}
command on each of the source switches {rspan_vlan} [rx | tx | both] [multicast {enable |
participating in RSPAN. disable}] [filter vlans...] [create]
Step 2 Verify the RSPAN configuration. show rspan
This example shows how to specify ports 4/1 and 4/2 as ingress source ports for RSPAN VLAN 500:
Console> (enable) set rspan source 4/1-2 500 rx
Rspan Type : Source
Destination : -
Rspan Vlan : 500
Admin Source : Port 4/1-2
Oper Source : None
Direction : receive
Incoming Packets: -
Learning : -
Multicast : enabled
Filter : -
Console> (enable)
Task Command
Step 1 Configure RSPAN source VLANs. All the ports in set rspan source {mod/ports... | vlans... | sc0}
the source VLAN become operational source {rspan_vlan} [rx | tx | both] [multicast {enable |
ports. disable}] [filter vlans...] [create]
Step 2 Verify the RSPAN configuration. show rspan
This example shows how to specify VLAN 200 as a source VLAN for RSPAN VLAN 500 (selecting the
rx option makes all the ports in the VLAN ingress ports):
Console> (enable) set rspan source 200 500 rx
Rspan Type : Source
Destination : -
Rspan Vlan : 500
Admin Source : VLAN 200
Oper Source : None
Direction : receive
Incoming Packets: -
Learning : -
Multicast : enabled
Filter : -
Console> (enable)
Task Command
Step 1 Configure RSPAN destination ports. Use this set rspan destination {mod/port} {rspan_vlan}
command on each of the destination switches [inpkts {enable | disable}] [learning {enable |
participating in RSPAN. disable}] [create]
Step 2 Verify the RSPAN configuration. show rspan
Task Command
Disable RSPAN on the switch. set rspan disable source [rspan_vlan | all]
set rpsan disable destination [mod/port | all]
This example shows how to disable one source session by rspan_vlan number:
Console> (enable) set rspan disable source 903
Disabled monitoring of all source(s) on the switch for rspan_vlan 903.
Console> (enable)
Destination switch
Switch D
1/1 1/2 (data center)
T1
Probe
1/2 Intermediate switch
Switch C (distribution)
3/1 3/2
T2 T3
Destination switch
Switch D
1/1 1/2 (data center)
T1
Probe
1/2 Intermediate switch
Switch C (distribution)
3/1 2/1 2/2 3/2
T2 T3
Switch A
Probe 1 2/1 2/2 Probe 2 Destination switch
1/1 1/2 (data center)
T1 T2
T3 T4 T5 T6
Source switch(es)
1/1 1/2 1/1 1/2 1/1 1/2 (access)
Switch D Switch F
2/1 2/2 3/1 3/2 4/1 4/2 4/3
Switch E
27392
RSPAN
Switch Port VLAN(s) Direction RSPAN CLI Commands
A (destination) 2/1 901 – set rspan destination 2/1 901
A (destination) 2/2 902 – set rspan destination 2/2 902
B (intermediate) – 901, 902 – No RSPAN CLI command needed
C (intermediate) – 901, 902 – No RSPAN CLI command needed
D (source) 2/1-2 901 Ingress set rspan source 2/1-2 901 rx
E (source) 3/1-2 901 Egress set rspan source 3/1-2 901 tx
F (source) 4/1-3 901 Both set rspan source 4/1-3 902
Switch A
Probe 1 2/1 2/2 Probe 2 Destination switch
1/1 1/2 (data center)
T1 T2
Switch B Switch C
Probe 3 1/2 1/1 1/2 Intermediate switch(es)
3/1 3/2 3/3 3/1 3/2 3/3 (distribution)
T3 T4 T5 T6
Source switch(es)
1/1 1/2 1/1 1/2 1/1 1/2 (access)
Switch D Switch F
2/1 2/2 3/1 3/2 4/1 4/2 4/3
Switch E
27393
This chapter describes how to use the Switch TopN Reports utility on the Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note The Switch TopN Reports utility cannot be used to generate reports on Multilayer Switch Module
(MSM) or Multilayer Switch Feature Card (MSFC and MSFC2) ports.
Note When calculating port utilization, the Switch TopN Reports utility bundles the Tx and Rx lines into the same
counter and also looks at the full-duplex bandwidth when calculating the percentage of utilization. For
example, a Gigabit Ethernet port would be 2000 Mbps full duplex.
The Switch TopN Reports utility collects the following data for each physical port:
• Port utilization (util)
• Number of in/out bytes (bytes)
• Number of in/out packets (pkts)
• Number of in/out broadcast packets (bcst)
• Number of in/out multicast packets (mcst)
• Number of in errors (in-errors)
• Number of buffer-overflow errors (buf-ovflw)
When the Switch TopN Reports utility starts, it gathers data from the appropriate hardware counters, and
then goes into sleep mode for a user-specified period. When the sleep time ends, the utility gathers the
current data from the same hardware counters, compares the current data from the earlier data, and stores
the difference. The data for each port is sorted using a user-specified metric chosen from the values
shown in Table 39-1.
You can terminate a Switch TopN process invoked with the background option only by entering the
clear top [report_num] command. Pressing Ctrl-C does not terminate the process. Completed reports
remain available for viewing until you remove them using the clear top {all | report_num} command.
Task Command
Step 1 Run the Switch TopN Reports utility in the show top [N] [metric] [interval interval]
background. [port_type] background
Step 2 View the generated report when it is complete. show top report [report_num]
Note You must run the Switch TopN Reports utility with the background keyword in order to use the
show top report command to view the completed report contents. Otherwise, the report is displayed
immediately upon completion of the process, and the results are not saved.
If you specify the report_num with the show top report command, the associated report is displayed.
Each process is associated with a unique report number.
If you do not specify the report_num variable, all active Switch TopN processes and all available Switch
TopN reports for the switch are displayed. All Switch TopN processes (both with and without the
background option) are shown in the list.
This example shows how to run the Switch TopN Reports utility with the background option:
Console> (enable) show top 5 pkts background
Console> (enable) 06/16/1998,17:21:08:MGMT-5:TopN report 4 started by Console//.
Console> (enable) 06/16/1998,17:21:39:MGMT-5:TopN report 4 available.
Console> (enable) show top report 4
Start Time: 06/16/1998,17:21:08
End Time: 06/16/1998,17:21:39
PortType: all
Metric: pkts (Tx + Rx)
Port Band- Uti Bytes Pkts Bcst Mcst Error Over
width % (Tx + Rx) (Tx + Rx) (Tx + Rx) (Tx + Rx) (Rx) flow
----- ----- --- -------------------- ---------- ---------- ---------- ----- ----
1/1 100 0 7950 81 0 81 0 0
2/1 100 0 2244 29 0 23 0 0
1/2 100 0 1548 12 0 12 0 0
2/10 100 0 0 0 0 0 0 0
2/9 100 0 0 0 0 0 0 0
Console> (enable)
To run the Switch TopN Reports utility in the foreground and view the results immediately, perform this
task in privileged mode:
Task Command
Run the Switch TopN Reports utility in the show top [N] [metric] [interval interval]
foreground. [port_type]
This example shows how to run the Switch TopN Reports utility in the foreground:
Console> (enable) show top 5 pkts
Start Time: 06/16/1998,17:26:38
End Time: 06/16/1998,17:27:09
PortType: all
Metric: pkts (Tx + Rx)
Port Band- Uti Bytes Pkts Bcst Mcst Error Over
width % (Tx + Rx) (Tx + Rx) (Tx + Rx) (Tx + Rx) (Rx) flow
----- ----- --- -------------------- ---------- ---------- ---------- ----- ----
2/1 100 0 10838 94 2 26 0 0
1/1 100 0 7504 79 0 79 0 0
1/2 100 0 2622 21 0 21 0 0
2/10 100 0 0 0 0 0 0 0
2/9 100 0 0 0 0 0 0 0
Console> (enable)
To display stored and pending reports, perform this task in privileged mode:
Task Command
Display a report. show top report [report_num]
Note To display all stored and pending reports, do not specify a report_num.
This example shows how to display a specific report and how to display all stored and pending reports:
Console> (enable) show top report 5
Start Time: 06/16/1998,17:29:40
End Time: 06/16/1998,17:30:11
PortType: all
Metric: overflow
Port Band- Uti Bytes Pkts Bcst Mcst Error Over
width % (Tx + Rx) (Tx + Rx) (Tx + Rx) (Tx + Rx) (Rx) flow
----- ----- --- -------------------- ---------- ---------- ---------- ----- ----
1/1 100 0 7880 83 0 83 0 0
2/12 100 0 0 0 0 0 0 0
2/11 100 0 0 0 0 0 0 0
2/10 100 0 0 0 0 0 0 0
2/9 100 0 0 0 0 0 0 0
Console> (enable) show top report
Rpt Start time Int N Metric Status Owner (type/machine/user)
--- ------------------- --- --- ---------- -------- -------------------------
1 06/16/1998,17:05:00 30 20 Util done telnet/172.16.52.3/
2 06/16/1998,17:05:59 30 5 Util done telnet/172.16.52.3/
3 06/16/1998,17:08:06 30 5 Pkts done telnet/172.16.52.3/
4 06/16/1998,17:21:08 30 5 Pkts done Console//
5 06/16/1998,17:29:40 30 5 Overflow pending Console//
Console> (enable)
Task Command
Remove reports. Use the all keyword to remove clear top {all | report_num}
all completed reports.
Note The command clear top all command does not clear pending reports. Only the reports that have
completed are cleared.
This example shows how to remove a specific report and how to remove all stored reports:
Console> (enable) clear top 4
Console> (enable) 06/16/1998,17:36:45:MGMT-5:TopN report 4 killed by Console//.
Console> (enable) clear top all
06/16/1998,17:36:52:MGMT-5:TopN report 1 killed by Console//.
06/16/1998,17:36:52:MGMT-5:TopN report 2 killed by Console//.
Console> (enable) 06/16/1998,17:36:52:MGMT-5:TopN report 3 killed by Console//.
06/16/1998,17:36:52:MGMT-5:TopN report 5 killed by Console//.
Console> (enable)
This chapter describes how to configure Internet Group Management Protocol (IGMP) snooping, GARP
Multicast Registration Protocol (GMRP), and Router-Port Group Management Protocol (RGMP) on the
Catalyst 6000 family switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note For more information on IP multicast and IGMP, refer to RFC 1112. GMRP is described in
IEEE 802.1p.
You can statically configure multicast groups using the set cam static command. Multicast groups
learned through IGMP snooping are dynamic. If you specify group membership for a multicast group
address, your static setting supersedes any automatic manipulation by IGMP snooping or GMRP.
Multicast group membership lists can consist of both user-defined setting and setting learned through
IGMP snooping or GMRP.
Note You can run IGMP snooping on any Catalyst 6000 family supervisor engine model (Supervisor Engine 1,
Supervisor Engine 1A, and Supervisor Engine 2). A PFC is not required to enable IGMP snooping. Cisco
Group Management Protocol (CGMP) is not supported on the Catalyst 6000 family switches, although
CGMP server is supported on the MSFC. To support CGMP client devices, configure the MSFC as a
CGMP server.
IGMP snooping manages multicast traffic at Layer 2 on the Catalyst 6000 family switches by allowing
directed switching of IP multicast traffic.
Switches can use IGMP snooping to configure Layer 2 interfaces dynamically so that IP multicast traffic
is forwarded only to those interfaces associated with IP multicast devices.
Catalyst 6000 switches can distinguish IGMP control traffic from multicast data traffic. When IGMP is
enabled on the switch, IGMP control traffic is redirected to the CPU for further processing. This process is
performed in hardware by specialized ASICs, which allow the switch to snoop IGMP control traffic with no
performance penalty.
The route processor periodically sends out general queries to all VLANs, and as multicast receivers
respond to the router’s queries, the switch intercepts them. Only the first IGMP join (report) per VLAN
and per IP multicast group is forwarded to the router. Subsequent reports for the same VLAN and group are
suppressed. The switch processor creates one entry per VLAN in the Layer 2 forwarding table for each
MAC group from which it receives an IGMP join request. All hosts interested in this multicast traffic
send join requests and are added to the port list of this forwarding table entry.
If a port is disabled, it will be removed from all multicast group entries.
Note You cannot enable IGMP snooping on a switch if GMRP is already enabled on the switch.
Note If there are CGMP switches in the network, join and leave suppression does not occur. In a network
that has both IGMP and CGMP switches, all join and leave messages are forwarded to the multicast
routers so that CGMP join and leave messages can be generated by the router.
When the router receives the IGMP leave, it sends several IGMP group-specific queries. If no join
messages are received in response to the queries, and there are no downstream routers connected through
that interface, the router removes the interface from the OIL for that IP multicast group entry in the
multicast routing table.
Note Do not use the fast-leave processing feature if more than one host is connected to each port. If
fast-leave is enabled when more than one host is connected to a port, some hosts might be dropped
inadvertently. Fast leave is supported with IGMP version 2 hosts only.
Note To use GMRP in a routed environment, enable the GMRP forwardall option on all ports where
routers are attached. (See the “Enabling GMRP Forward-All Option” section on page 40-15.)
Note To use RGMP, IGMP Snooping must be enabled on the switch. Protocol independent multicast (PIM)
must be enabled on all routers for RGMP to work. Only PIM sparse mode is currently supported.
All routers on the network must be RGMP-capable. RGMP-capable routers periodically send an RGMP
hello message to the switch. The RGMP hello message tells the switch not to send multicast data to the
router unless an RGMP join has also been sent to the switch from that router. When an RGMP join is
sent, the router is able to receive multicast data. To learn how to set a router to receive RGMP data, see
the “RGMP-Related CLI Commands” section on page 40-25.
To stop receiving multicast data, a router must send an RGMP leave message to the switch. To disable
RGMP on a router, the router must send an RGMP bye message to the switch.
Table 40-1 provides a summary of the RGMP packet types.
Description Action
Hello When the RGMP feature is enabled on the router, no multicast data traffic is sent to
the router by the switch unless an RGMP join is specifically sent for a group.
Bye When RGMP feature is disabled on the router, all multicast data traffic will be sent
to the router by the switch.
Join Multicast data traffic for a multicast MAC address from the L3 group address G are
sent to the router. These packets will have group G in the Group Address field of the
RGMP packet.
Leave Multicast data traffic for the group G will not be sent to the router. These packets will
have group G in the group address field of the RGMP packet.
Non-RPF multicast fast drop (MFD) rate limits packets that fail the RPF check (non-RPF packets) and
drops the majority of the non-RPF packets in hardware. According to the multicast protocol
specification, the router needs to see the non-RPF packets for the PIM assert mechanism to work, so all
non-RPF packets cannot be dropped in hardware. To support the PIM assert mechanism, the PFC leaks
a percentage of the non-RFP flow packets to the MSFC.
Non-RPF MFD is enabled on the switch by default. Non-RPF MFD is supported with Supervisor
Engine 2 only.
Task Command
Enable downloading of directly connected subnets. Router(config) # mls ip multicast connected
Note Quality of service (QoS) does not support IGMP traffic when IGMP snooping is enabled.
Note IGMP snooping is enabled by default in supervisor engine software release 5.5(9) and later releases
and 6.3(1) and later releases.
Task Command
Step 1 Enable IGMP snooping on the switch. set igmp enable
Step 2 Verify that IGMP snooping is enabled. show igmp statistics [vlan]
This example shows how to enable IGMP snooping and verify the configuration:
Console> (enable) set igmp enable
IGMP Snooping is enabled.
Console> (enable) show igmp statistics
IGMP enabled
IGMP statistics for vlan 1:
Total valid pkts rcvd: 18951
Total invalid pkts recvd 0
General Queries recvd 377
Group Specific Queries recvd 0
MAC-Based General Queries recvd 0
Leaves recvd 14
Reports recvd 16741
Queries Xmitted 0
GS Queries Xmitted 16
Reports Xmitted 0
Leaves Xmitted 0
Failures to add GDA to EARL 0
Topology Notifications rcvd 10
IGMP packets dropped 0
Console> (enable)
Task Command
Step 1 Specifies the IGMP snooping mode. set igmp mode {igmp-only | igmp-cgmp | auto}
Step 2 Displays the IGMP snooping mode. show igmp mode
This example shows how to set the IGMP mode to IGMP-only and verify the configuration:
Console> (enable) set igmp mode igmp-only
IGMP mode set to igmp-only
Console> (enable) show igmp mode
IGMP Mode: igmp-only
IGMP Operational Mode: igmp-only
IGMP Address Aliasing Mode: normal
Console> (enable)
Note If IGMP rate limiting and multicast are enabled, multicast router ports might age out sporadically
because the rate of the multicast control packets (such as PIMv2 hellos or IGMP general queries)
exceeds the IGMP rate limit watermarks that were configured. The default value for these
watermarks is 100. We recommend that you increase the PIMv2 hello ratelimit to 3000 by entering
the set igmp ratelimit pimv2 3000 command. You can also increase the IGMP general queries rate
limit; we recommend that you set the value to 500 by entering the set igmp ratelimit
general-query 500 command.
To enable IGMP rate limiting and set the rate limit for IGMP snooping packets, perform this task in
privileged mode:
Task Command
Enable IGMP rate limiting and set a rate limit for set igmp ratelimit {enable | disable}
IGMP snooping packets.
set igmp ratelimit {dvmrp | general-query |
mospf1 | mospf2 | pimv2} rate
This example shows how to set the IGMP rate limit for MOSPF2 to 550 packets per every 30 seconds:
Console> (enable) set igmp ratelimit mospf2 550
MOSPF2 Watermark set to allow 550 messages in 30 seconds
Console> (enable)
Task Command
Step 1 Enable IGMP fast-leave processing on the switch. set igmp fastleave enable
Step 2 Verify that IGMP fast-leave processing is show igmp statistics
enabled.
This example shows how to enable IGMP fast-leave processing and verify the configuration:
Console> (enable) set igmp fastleave enable
IGMP fastleave set to enable.
Console> (enable) show igmp statistics
IGMP enabled
IGMP fastleave enabled
To display the dynamically learned multicast router information, perform these tasks in privileged mode:
Task Command
Display information on dynamically learned and show multicast router [mod/port] [vlan_id]
manually configured multicast router ports.
Display information only on those multicast show multicast router igmp [mod/port]
router ports learned dynamically using IGMP [vlan_id]
snooping.
This example shows how to display information on all multicast router ports (the asterisk [*] next to the
multicast router on port 5/7 indicates that the entry was configured manually):
Console> (enable) show multicast router
IGMP enabled
Port Vlan
--------- ----------------
1/1 1
2/1 2,99,255
5/7 * 99
This example shows how to display only those multicast router ports that were learned dynamically
through IGMP:
Console> (enable) show multicast router igmp
IGMP enabled
Port Vlan
--------- ----------------
1/1 1
2/1 2,99,255
Task Command
Display information about multicast groups. show multicast group [mac_addr] [vlan_id]
Display only information about multicast groups show multicast group igmp [mac_addr]
learned dynamically through IGMP. [vlan_id]
Task Command
Display the total number of multicast addresses show multicast group count [vlan_id]
(groups) in each VLAN.
Display the total number of multicast addresses show multicast group count igmp [vlan_id]
(groups) in each VLAN that were learned
dynamically through IGMP.
This example shows how to display information about all multicast groups on the switch:
Console> (enable) show multicast group
IGMP enabled
Task Command
Display IGMP snooping statistics. show igmp statistics [vlan_id]
Task Command
Disable IGMP fast-leave processing on the set igmp fastleave disable
switch.
This example shows how to disable IGMP fast-leave processing on the switch:
Console> (enable) set igmp fastleave disable
IGMP fastleave set to disable.
Console> (enable)
Task Command
Disable IGMP snooping on the switch. set igmp disable
Configuring GMRP
These sections describe how to configure the GARP Multicast Registration Protocol (GMRP):
• GMRP Software Requirements, page 40-13
• Default GMRP Configuration, page 40-13
• Enabling GMRP Globally, page 40-13
• Enabling GMRP on Individual Switch Ports, page 40-14
• Disabling GMRP on Individual Switch Ports, page 40-14
• Enabling GMRP Forward-All Option, page 40-15
• Disabling GMRP Forward-All Option, page 40-15
• Configuring GMRP Registration, page 40-16
• Setting the GARP Timers, page 40-17
• Displaying GMRP Statistics, page 40-19
• Clearing GMRP Statistics, page 40-19
• Disabling GMRP Globally on the Switch, page 40-19
Note For an overview of GMRP operation, see the “Understanding How GMRP Works” section on
page 40-4.
Task Command
Step 1 Enable GMRP globally on the switch. set gmrp enable
Step 2 Verify the configuration. show gmrp configuration
This example shows how to enable GMRP globally and verify the configuration:
Console> (enable) set gmrp enable
GMRP enabled.
Console> (enable) show gmrp configuration
Global GMRP Configuration:
GMRP Feature is currently enabled on this switch.
GMRP Timers (milliseconds):
Join = 200
Leave = 600
LeaveAll = 10000
Note You can change the per-port GMRP configuration regardless of whether GMRP is enabled globally.
However, GMRP will not function on any ports until you enable it globally. For information on
configuring GMRP globally on the switch, see the “Enabling GMRP Globally” section on
page 40-13.
To enable GMRP on individual switch ports, perform this task in privileged mode:
Task Command
Step 1 Enable GMRP on an individual switch port. set port gmrp enable mod/port
Step 2 Verify the configuration. show gmrp configuration
This example shows how to enable GMRP on port 6/12 and verify the configuration:
Console> (enable) set port gmrp enable 6/12
GMRP enabled on port 6/12.
Console> (enable) show gmrp configuration
Global GMRP Configuration:
GMRP Feature is currently enabled on this switch.
GMRP Timers (milliseconds):
Join = 200
Leave = 600
LeaveAll = 10000
Port based GMRP Configuration:
Port GMRP Status Registration ForwardAll
-------------------------------------------- ----------- ------------ ----------
1/1-2,3/1,6/1-9,6/12,6/15-48,7/1-24 Enabled Normal Disabled
6/10-11,6/13-14 Disabled Normal Disabled
Console> (enable)
Note You can change the per-port GMRP configuration regardless of whether GMRP is enabled globally.
However, GMRP will not function on any ports until you enable it globally. For information on
configuring GMRP globally on the switch, see the “Enabling GMRP Globally” section on
page 40-13.
To disable GMRP on individual switch ports, perform this task in privileged mode:
Task Command
Step 1 Disable GMRP on individual switch ports. set port gmrp disable mod/port
Step 2 Verify the configuration. show gmrp configuration
This example shows how to disable GMRP on ports 6/10–14 and verify the configuration:
Console> (enable) set port gmrp disable 6/10-14
GMRP disabled on ports 6/10-14.
Console> (enable) show gmrp configuration
Global GMRP Configuration:
GMRP Feature is currently enabled on this switch.
GMRP Timers (milliseconds):
Join = 200
Leave = 600
LeaveAll = 10000
Port based GMRP Configuration:
Port GMRP Status Registration ForwardAll
-------------------------------------------- ----------- ------------ ----------
1/1-2,3/1,6/1-9,6/15-48,7/1-24 Enabled Normal Disabled
6/10-14 Disabled Normal Disabled
Console> (enable)
Task Command
Enable the GMRP forward-all option on a switch set gmrp fwdall enable mod/port
port.
This example shows how to enable the GMRP forward-all option on port 1/1:
Console> (enable) set gmrp fwdall enable 1/1
GMRP Forward All groups option enabled on port 1/1.
Console> (enable)
Task Command
Disable the GMRP forward-all option on a port. set gmrp fwdall disable mod/port
This example shows how to disable the GMRP forward-all option on port 1/1:
Console> (enable) set gmrp fwdall disable 1/1
GMRP Forward All groups option disabled on port 1/1.
Console> (enable)
Task Command
Step 1 Set normal registration on a port. set gmrp registration normal mod/port
Step 2 Verify the configuration. show gmrp configuration
Task Command
Step 1 Set fixed registration on a port. set gmrp registration fixed mod/port
Step 2 Verify the configuration. show gmrp configuration
This example shows how to set fixed registration on port 2/10 and verify the configuration:
Task Command
Step 1 Set forbidden registration on a port. set gmrp registration forbidden mod/port
Step 2 Verify the configuration. show gmrp configuration
This example shows how to set forbidden registration on port 2/10 and verify the configuration:
Console> (enable) set gmrp registration forbidden 2/10
GMRP Registration is set forbidden on port 2/10.
Console> (enable) show gmrp configuration
Global GMRP Configuration:
GMRP Feature is currently enabled on this switch.
GMRP Timers (milliseconds):
Join = 200
Leave = 600
LeaveAll = 10000
Port based GMRP Configuration:
GMRP-Status Registration ForwardAll Port(s)
----------- ------------ ---------- --------------------------------------------
Enabled Normal Disabled 1/1-4
2/1-9,2/11-48
3/1-24
5/1
Enabled Forbidden Disabled 2/10
Console> (enable)
Note The commands set gmrp timer and show gmrp timer are aliases for set garp timer and show garp
timer. The aliases may be used if desired.
Note Modifying the GARP timer values affects the behavior of all GARP applications running on the
switch, not just GMRP. (For example, GVRP uses the same timers.)
Note The only ports that send out the GMRP LeaveAll messages are the ports that have previously received
GMRP joins.
You can modify the default GARP timer values on the switch.
When setting the timer values, the value for leave must be equal to or greater than three times the join
value (leave >= join * 3). The value for leaveall must be greater than the value for leave (leaveall >
leave). The more registered attributes on the switch, the greater you should configure the difference
between the leave value and the join value.
For better performance on switches with many registered multicast groups, increase the timer values to
the order of seconds.
If you attempt to set a timer value that does not adhere to these rules, an error is returned. For example,
if you set the leave timer to 600 ms and you attempt to configure the join timer to 350 ms, an error is
returned. Set the leave timer to at least 1050 ms and then set the join timer to 350 ms.
Caution Set the same GARP timer values on all Layer 2-connected devices. If the GARP timers are set
differently on the Layer 2-connected devices, GARP applications (for example, GMRP and GVRP)
do not operate successfully.
To set the GARP timer values, perform this task in privileged mode:
Task Command
Step 1 Set the GARP timer values. set garp timer {join | leave | leaveall}
timer_value
Step 2 Verify the configuration. show garp timer
This example shows how to set the GARP timers and verify the configuration:
Console> (enable) set garp timer leaveall 12000
GMRP/GARP leaveAll timer value is set to 12000 milliseconds.
Console> (enable) set garp timer leave 650
GMRP/GARP leave timer value is set to 650 milliseconds.
Console> (enable) set garp timer join 300
GMRP/GARP join timer value is set to 300 milliseconds.
Console> (enable) show garp timer
Timer Timer Value (milliseconds)
-------- --------------------------
Join 300
Leave 650
LeaveAll 12000
Console> (enable)
Task Command
Display GMRP statistics. show gmrp statistics [vlan_id]
This example shows how to display GMRP statistics for VLAN 23:
Console> show gmrp statistics 23
GMRP Statistics for vlan <23>:
Total valid GMRP Packets Received:500
Join Empties:200
Join INs:250
Leaves:10
Leave Alls:35
Empties:5
Fwd Alls:0
Fwd Unregistered:0
Total valid GMRP Packets Transmitted:600
Join Empties:200
Join INs:150
Leaves:45
Leave Alls:200
Empties:5
Fwd Alls:0
Fwd Unregistered:0
Total valid GMRP Packets Received:0
Total GMRP packets dropped:0
Total GMRP Registrations Failed:0
Console>
Task Command
Clear GMRP statistics. clear gmrp statistics {vlan_id | all}
This example shows how to clear the GMRP statistics for all VLANs:
Console> (enable) clear gmrp statistics all
Console> (enable)
Task Command
Disable GMRP globally on the switch. set gmrp disable
Task Command
Step 1 Manually specify a multicast router port. set multicast router mod/port
Step 2 Verify the configuration. show multicast router [mod/port] [vlan_id]
This example shows how to specify a multicast router port manually and verify the configuration (the
asterisk [*] next to the multicast router on port 3/1 indicates that the entry was configured manually):
Console> (enable) set multicast router 3/1
Port 3/1 added to multicast router port list.
Console> (enable) show multicast router
IGMP disabled
Port Vlan
--------- ----------------
2/1 99
2/2 255
3/1 * 1
7/9 2,99
Note With software release 6.3(2) and later releases, the maximum number of Layer 2 multicast entries is
15488.
Task Command
Step 1 Add one or more multicast MAC addresses to the set cam {static | permanent} multicast_mac
CAM table. mod/port [vlan]
Step 2 Verify the multicast group configuration. show multicast group [mac_addr] [vlan_id]
This example shows how to configure multicast groups manually and verify the configuration (the
asterisks indicate the entry was manually configured):
Console> (enable) set cam static 01-00-11-22-33-44 2/6-12
Static multicast entry added to CAM table.
Console> (enable) set cam static 01-11-22-33-44-55 2/6-12
Static multicast entry added to CAM table.
Console> (enable) set cam static 01-22-33-44-55-66 2/6-12
Static multicast entry added to CAM table.
Console> (enable) set cam static 01-33-44-55-66-77 2/6-12
Static multicast entry added to CAM table.
Console> (enable) show multicast group
IGMP disabled
Task Command
Clear specific, manually configured multicast clear multicast router mod/port
router ports.
Clear all manually configured multicast router clear multicast router all
ports.
This example shows how to clear a manually configured multicast router port entry:
Console> (enable) clear multicast router 2/12
Port 2/12 cleared from multicast router port list.
Console> (enable)
Task Command
Clear a multicast group entry from the CAM clear cam mac_addr [vlan]
table.
This example shows how to clear a multicast group entry from the CAM table:
Console> (enable) clear cam 01-11-22-33-44-55 1
CAM entry cleared.
Console> (enable)
Configuring RGMP
These sections describe the commands for configuring RGMP:
• Configuring RGMP on the Supervisor Engine, page 40-22
• Configuring RGMP on the MSFC, page 40-25
Task Command
Enable RGMP. set rgmp enable
Disable RGMP. set rgmp disable
Task Command
Display all multicast groups that were joined by show rgmp group [mac_addr] [vlan_id]
one or more RGMP-capable routers.
Display the count of multicast groups that were show rgmp group count [vlan_id]
joined by one or more RGMP-capable routers.
Task Command
Display the RGMP statistics for a specified show rgmp statistics [vlan]
VLAN.
Task Command
Display RGMP-capable router ports. show multicast router [igmp | rgmp] [mod/port]
[vlan_id]
Task Command
Clear RGMP statistics. clear rgmp statistics
Task Command
Enable or disable RGMP. ip rgmp
Enable or disable RGMP debugging. debug ip rgmp {group name | group address}
Task Command
Step 1 Access VLAN interface configuration mode. Router(config)# interface vlan vlan_ID
Step 2 Enable RGMP. Router(config-if)# ip rgmp
You can use the debug ip rgmp command to monitor RGMP on the MSFC.
Task Command
Display the multicast protocol status. show multicast protocols status
This chapter describes how to configure quality of service (QoS) on the Catalyst 6000 family switches
and includes the configuration information required to support Common Open Policy Service (COPS)
and Resouce ReSerVation Protocol (RSVP).
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
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.
The QoS feature on the Catalyst 6000 family switches selects network traffic, prioritizes it according to
its relative importance, and provides priority-indexed treatment through congestion avoidance
techniques. Implementing QoS in your network makes network performance more predictable and
bandwidth utilization more effective.
QoS sets Layer 2 and Layer 3 values in network traffic to a configured value or to a value based on
received Layer 2 or Layer 3 values. IP traffic retains the Layer 3 value when it leaves the switch.
These sections describe QoS:
• Definitions, page 41-2
• Flowcharts, page 41-3
• QoS Feature Set Summary, page 41-8
• Ethernet Ingress Port Marking, Scheduling, Congestion Avoidance, and Classification, page 41-10
• Classification, Marking, and Policing with a Layer 3 Switching Engine, page 41-14
• Classification and Marking with a Layer 2 Switching Engine, page 41-24
• Ethernet Egress Port Scheduling, Congestion Avoidance, and Marking, page 41-24
• QoS Statistics Data Export, page 41-27
Definitions
This section defines some QoS terminology:
• Packets carry traffic at Layer 3.
• Frames carry traffic at Layer 2. Layer 2 frames carry Layer 3 packets.
• Labels are prioritization values carried in packets and frames:
– Layer 2 class of service (CoS) values range between zero for low priority and seven for high
priority:
Layer 2 Inter-Switch Link (ISL) frame headers have a 1-byte User field that carries an
IEEE 802.1p CoS value in the three least significant bits.
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.
Other frame types cannot carry CoS values.
Note On ports configured as ISL trunks, all traffic is in ISL frames. On ports configured as
802.1Q trunks, all traffic is in 802.1Q frames except for traffic in the native VLAN.
– Layer 3 IP precedence values—The IP version 4 specification defines the three most significant
bits of the 1-byte Type of Service (ToS) field as IP precedence. IP precedence values range
between zero for low priority and seven for high priority.
– Layer 3 differentiated services code point (DSCP) values—The Internet Engineering Task
Force (IETF) defines the six 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 between 0
and 63 (for more information, see the “Configuring DSCP Value Maps” section on page 41-55).
Note Layer 3 IP packets can carry either an IP precedence value or a DSCP value. QoS
supports the use of either value, because DSCP values can be set equal to IP precedence
values.
• Scheduling is the assignment of traffic to a queue. QoS assigns traffic based on CoS values.
• Congestion avoidance is the process by which QoS reserves ingress and egress port capacity for
traffic with high-priority CoS values. QoS implements congestion avoidance with CoS value-based
drop thresholds. A drop threshold is the percentage of buffer utilization at which traffic with a
specified CoS value is dropped, leaving the buffer available for traffic with higher-priority CoS
values.
• Policing is the process by which the switch limits the bandwidth consumed by a flow of traffic.
Policing can mark or drop traffic.
• Except where specifically differentiated, Layer 3 switching engine refers to either:
– Supervisor Engine 2 with Layer 3 Switching Engine II (Policy Feature Card 2 or PFC2)
– Supervisor Engine 1 with Layer 3 Switching Engine WS-F6K-PFC (Policy Feature Card
or PFC)
Flowcharts
Figure 41-1 shows how traffic flows through the QoS features; Figure 41-2 through Figure 41-7 show
more details of the traffic flow through QoS features.
Ethernet
Transmit
egress
frame
port
Ethernet CoS = 0 for all traffic
Frame enters
ingress (not configurable)
switch
port
L3 Switching Engine* Multilayer Switch FlexWAN Module
or Feature Card (MSFC) interfaces
L2 Switching Engine
ATM-LANE
Cell enters *PFC or PFC2
ingress
switch
port
CoS = 0 for all traffic ATM-LANE
(not configurable) Transmit
egress
41866
cell
port
Note Traffic that is Layer 3 switched does not go through the Multilayer Switch Feature Card (MSFC or
MSFC2) and retains the CoS value assigned by the Layer 3 switching engine.
Note Enter the show port capabilities command to see the queue structure of a port (for more information,
see the “Receive Queues” section on page 41-11 and the “Transmit Queues” section on page 41-25).
Figure 41-2 Ethernet ingress Port Classification, Marking, Scheduling, and Congestion Avoidance
Frame
enters
Ethernet ingress port classification, marking,
switch
scheduling, and congestion avoidance
Yes Apply
Port set to
untrusted? port
CoS
No
No Apply
ISL or
port
802.1Q?
CoS
Yes
No
1p1q0t port
(tail-drop thresholds)
Strict priority queue
100% for CoS 5
Standard queue
49393
To
switching engine
From ingress
port or VLAN
1
ACL(s) Yes Trust Yes Use received
No IP
on received DSCP
Packet?
interface? DSCP?
No No
Yes
1
Trust
2
Match Yes received IP Yes Set DSCP
ACE in ACL? precedence? from received
IP precedence
No No
Use default
ACL 1
Trust Yes
3
Set DSCP
received or port from received
CoS? or port CoS
No
1
Traffic is from Use DSCP
an untrusted from
port ACE
Yes No No
4
Drop Set DSCP 5
Derive CoS
packet to marked from DSCP
down value
25041
1
Specified by ACE keyword or by
port keyword and dscp ACE keyword To egress
2 interface
From IP precedence-to-DSCP map
3
From CoS-to-DSCP map
4
From DSCP markdown map
5
From DSCP-to-CoS map
From
Ingress port
Yes
Apply
configured
CoS
25031
To
Egress port
Figure 41-5 Multilayer Switch Feature Card Marking (MSFC and MSFC2)
From PFC
No
Route
traffic
27107
To egress
port
Figure 41-6 Ethernet Egress Port Scheduling, Congestion Avoidance, and Marking
From switching
engine or MSFC
2q2t port
(tail-drop thresholds)
High priority
standard queue
100% for CoS 6 and 7 IP traffic Yes Write ToS
80% for CoS 4 and 5 from PFC? byte into
packet
Low priority
standard queue No
100% for CoS 2 and 3
80% for CoS 0 and 1
1p2q2t port
Yes Write CoS
ISL or into
Strict priority queue 802.1Q?
100% for CoS 5 frame
High priority No
standard queue
(WRED-drop thresholds)
Low priority
standard queue
(WRED-drop thresholds)
1p3q1t port
Strict priority queue
100% for CoS 5
standard queues
(WRED-drop or
tail-drop thresholds)
High priority
100% for CoS 6 and 7
Medium priority
100% for CoS 2, 3 and 4
Low priority
49380
From switching
engine or MSFC
No
27105
Transmit
cell
Note Traffic that is Layer 3 switched does not go through the MFSC and retains the CoS value assigned
by the Layer 3 switching engine.
Overview
The trust state of an Ethernet port determines how it marks, schedules, and classifies received traffic,
and whether or not congestion avoidance is implemented. You can configure the trust state of each port
with one of these keywords:
• untrusted (default)
• trust-ipprec (Layer 3 switching engine only—not supported on 1q4t ports except Gigabit Ethernet)
• trust-dscp (Layer 3 switching engine only—not supported on 1q4t ports except Gigabit Ethernet)
• trust-cos
Note • 1q4t ports (except Gigabit Ethernet) do not support the trust-ipprec and trust-dscp port keywords.
You must configure a trust-ipprec or trust-dscp ACL that matches the ingress traffic to apply the
trust-ipprec or trust-dscp trust state.
• On 1q4t ports (except Gigabit Ethernet), the trust-cos port keyword displays an error message,
activates receive queue drop thresholds, and—as indicated by the error message—does not apply
the trust-cos trust state to traffic. You must configure a trust-cos ACL that matches the ingress
traffic to apply the trust-cos trust state.
For more information, see the “Configuring the Trust State of a Port” section on page 41-32.
In addition to the port configuration keywords listed above, with a Layer 3 switching engine, QoS uses
trust-ipprec, trust-dscp, and trust-cos ACE keywords. Do not confuse the ACE keywords with the port
keywords.
Ports configured with the untrusted keyword are called untrusted ports. Ports configured with the
trust-ipprec, trust-dscp, or trust-cos keywords are called trusted ports. QoS implements ingress port
congestion avoidance only on ports configured with the trust-cos keyword.
Ingress port marking, scheduling, and congestion avoidance use Layer 2 CoS values. Ingress port
marking, scheduling, and congestion avoidance do not use or set Layer 3 IP precedence or DSCP values.
Receive Queues
Enter a show port capabilities command to see the queue structure of a port. The command displays
one of the following:
• rx-(1p1q4t)—one strict-priority queue and one standard queue with four thresholds
• rx-(1q4t)—one standard queue with four thresholds
• rx-(1p1q0t)—one strict-priority queue and one standard queue with no configurable thresholds
Strict-priority queues are serviced in preference to other queues. QoS services traffic in a strict-priority
queue before servicing the standard queue. When QoS services the standard queue, after receiving a
packet, it checks for traffic in the strict-priority queue. If QoS detects traffic in the strict-priority queue,
it suspends its service of the standard queue and completes service of all traffic in the strict-priority
queue before returning to the standard queue.
Ingress Scheduling
QoS schedules traffic through the receive queues based on CoS values. In the 1p1q4t and 1p1q0t default
configurations, QoS assigns all traffic with CoS 5 to the strict-priority queue; QoS assigns all other
traffic to the standard queue. In the 1q4t default configuration, QoS assigns all traffic to the standard
queue.
Note The explanations in this section use default values. You can configure many of the parameters (for
more information, see the “Configuring QoS” section on page 41-30). All ports of the same type use
the same drop-threshold configuration.
Figure 41-8 shows the drop thresholds for a 1q4t port. Drop thresholds in other configurations function
similarly.
Co
Reserved for
S
CoS 6 and 7
6
Drop threshold 3: 80%
an
Co
d7
S
Reserved for
4
CoS 4 and higher Drop threshold 2: 60%
an
Co
S
d5
2
Reserved for Drop threshold 1: 50% CoS
an
CoS 2 and higher
d3
0
and
1
Available for
traffic with any Traffic is dropped
CoS value
80% available for CoS 4 and 5 Receive queue (Default values shown)
26249
50% available for CoS 0 and 1
QoS uses configurable mapping tables to set internal and egress DSCP, which is a 6-bit value, from CoS
and IP precedence, which are 3-bit values (for more information, see the “Internal DSCP Values” section
on page 41-15 and the “Configuring DSCP Value Maps” section on page 41-55).
Note With a Layer 3 switching engine, the Catalyst 6000 family switches provide QoS only for the
following frame types: Ethernet_II, Ethernet_802.3, Ethernet_802.2, and Ethernet_SNAP.
These sections describe classification, marking, and policing with a Layer 3 switching engine:
• Internal DSCP Values, page 41-15
• ACLs, page 41-15
• Named ACLs, page 41-16
• Default ACLs, page 41-20
• Marking Rules, page 41-21
• Policing Rules, page 41-22
• PFC2 Policing Decisions, page 41-23
• Attaching ACLs, page 41-23
• Final Layer 3 Switching Engine CoS and ToS Values, page 41-24
Note Classification with a Layer 3 switching engine uses Layer 2, 3, and 4 values. Marking with a Layer 3
switching engine uses Layer 2 CoS values and Layer 3 IP precedence or DSCP values.
During processing, the priority of all traffic (including non-IP traffic) is represented with an internal
DSCP value. QoS derives the internal DSCP value from the following:
• For trust-cos traffic, from received or port Layer 2 CoS values (traffic from an untrusted port has
the port CoS value and if traffic from an untrusted port matches a trust-cos ACL, QoS derives the
internal DSCP value from the port CoS value)
• For trust-ipprec traffic, from received IP precedence values
• For trust-dscp traffic, from received DSCP values
• For untrusted traffic, from port CoS or configured DSCP values
The trust state of traffic is the trust state of the ingress port unless set otherwise by the matching ACE.
Note A trust-cos ACL cannot restore received CoS in traffic from untrusted ports. Traffic from untrusted
ports always has the port CoS value.
QoS uses configurable mapping tables to derive the internal 6-bit DSCP value from CoS or IP
precedence, which are 3-bit values (see the“Mapping Received CoS Values to Internal DSCP Values”
section on page 41-55 or the “Mapping Received IP Precedence Values to Internal DSCP Values” section
on page 41-56).
For egress IP traffic, QoS creates a ToS byte from the internal DSCP value (which you can set equal to
an IP precedence value) and sends it to the egress port to be written into IP packets. For trust-dscp and
untrusted IP traffic, the ToS byte includes the original 2 least-significant bits from the received ToS
byte.
For all egress traffic, QoS uses a configurable mapping table to derive a CoS value from the internal
DSCP value associated with traffic (see the “Mapping Internal DSCP Values to Egress CoS Values”
section on page 41-56). QoS sends the CoS value to Ethernet egress ports for use in scheduling and to
be written into ISL and 802.1Q frames.
ACLs
QoS uses ACLs that contain ACEs. The ACEs specify classification criteria, a marking rule, and
policing rules. QoS compares received traffic to the ACEs in ACLs until a match occurs. When the
traffic matches the classification criteria in an ACE, QoS marks and polices the packet as specified in
the ACE and makes no further comparisons.
There are three ACL types: IP and, with a Layer 3 switching engine, IPX and MAC. QoS compares
traffic of each type (IP, IPX, and MAC) only to the corresponding ACL type (see Table 41-2).
QoS supports user-created named ACLs, each containing an ordered list of ACEs, and user-configurable
default ACLs, each containing a single ACE.
Named ACLs
You create a named ACL when you enter an ACE with a new ACL name. You add an ACE to an existing
ACL when you enter an ACE with the name of the existing ACL.
You can specify the classification criteria for each ACE in a named ACL. The classification criteria can
be specific values or wildcards (for more information, see the “Creating or Modifying ACLs” section on
page 41-37).
These sections describe the classification criteria that can be specified in a named ACL:
• IP ACE Layer 3 Classification Criteria, page 41-16
• IP ACE Layer 4 Protocol Classification Criteria, page 41-17
• IP ACE Layer 4 TCP Classification Criteria, page 41-17
• IP ACE Layer 4 UDP Classification Criteria, page 41-18
• IP ACE Layer 4 ICMP Classification Criteria, page 41-18
• IP ACE Layer 4 IGMP Classification Criteria, page 41-19
• IPX ACE Classification Criteria, page 41-19
• MAC ACE Layer 2 Classification Criteria, page 41-20
You can create IP ACEs that match traffic with specific Layer 3 values by including these Layer 3
parameters (see the “Named IP ACLs” section on page 41-38):
• IP source address and mask, entered as specific values or with the any keyword or with the host
keyword and a host address.
• IP destination address and mask, entered as specific values or with the any keyword or with the host
keyword and a host address.
• DSCP value (0–63) or IP precedence specified with a numeric value (0–7) or these keywords:
– Network (IP precedence 7)
– Internet (IP precedence 6)
Note IP ACEs that do not include a DSCP or IP precedence value parameter match all DSCP
or IP precedence values.
You can create IP ACEs that match specific Layer 4 protocol traffic by including a Layer 4 protocol
parameter (see the “IP ACLs for Other Layer 4 Protocols” section on page 41-41). You can specify the
protocol numerically (0–255) or with these keywords: ahp (51), eigrp (88), esp (50), gre (47), igrp (9),
icmp (1), igmp (2), igrp (9), ip (0), ipinip (4), nos (94), ospf (89), pcp (108), pim (103), tcp (6), or
udp (17).
Note IP ACEs that do not include a Layer 4 protocol parameter or that include the ip keyword match all
IP traffic.
You can create Transmission Control Protocol (TCP) ACEs that match traffic for specific TCP ports by
including TCP source and/or destination port parameters (for more information, see the “IP ACEs for
TCP Traffic” section on page 41-39). You can specify TCP port parameters numerically (0–65535) or
with these keywords:
Note TCP ACEs that do not include a Layer 4 TCP port parameter match all TCP traffic.
You can create User Datagram Protocol (UDP) ACEs that match traffic for specific UDP source and/or
destination ports by including UDP port parameters (for more information, see the “IP ACEs for UDP
Traffic” section on page 41-39). You can specify UDP port parameters numerically (0–65535) or with
these keywords:
Note UDP ACEs that do not include a Layer 4 UDP port parameter match all UDP traffic.
You can create Internet Control Management Protocol (ICMP) ACEs that match traffic containing
specific ICMP messages by including ICMP types and, optionally, ICMP codes (for more information,
see the “IP ACEs for ICMP Traffic” section on page 41-40). You can specify ICMP types and codes
numerically (0–255) or with these keywords:
Note ICMP ACEs with only a Layer 4 ICMP type parameter match all code values for that type value.
ICMP ACEs that do not include any Layer 4 ICMP type and code parameters match all ICMP traffic.
You can create IGMP ACEs that match traffic containing specific IGMP messages by including an
IGMP type parameter (for more information, see the “IP ACEs for IGMP Traffic” section on
page 41-40). You can specify the IGMP type numerically (0–255) or with these keywords:
host-query (1), host-report (2), dvmrp (3), pim (4), or trace (5).
Note QoS does not support Internet Group Management Protocol (IGMP) traffic when IGMP snooping is
enabled. QoS supports IGMP classification using version 1 four-bit Type fields.
Note IGMP ACEs that do not include a Layer 4 IGMP type parameter match all IGMP traffic.
You can create IPX ACEs that match specific IPX traffic by including these parameters (for more
information, see the “Creating or Modifying Named IPX ACLs” section on page 41-42):
• IPX source network (-1 matches any network number)
• Protocol, which can be specified numerically (0–255) or with these keywords: any, ncp (17),
netbios (20), rip (1), sap (4), spx (5)
• IPX ACEs support the following optional parameters:
– IPX destination network (-1 matches any network number)
– If you specify an IPX destination network, IPX ACEs support the following optional
parameters: an IPX destination network mask (-1 matches any network number), an IPX
destination node, and an IPX destination node mask
You can create MAC ACEs that match specific Ethernet traffic by including these Layer 2 parameters
(for more information, see the “Creating or Modifying Named MAC ACLs” section on page 41-43):
• Ethernet source and destination addresses and masks, entered as specific values or with the any
keyword or with the host keyword and a host Ethernet address
• Optionally, an ethertype parameter from this list:
– 0x809B (or ethertalk)
– 0x80F3 (or aarp)
– 0x6001 (or dec-mop-dump)
– 0x6002 (or dec-mop-remote-console)
– 0x6003 (or dec-phase-iv)
– 0x6004 (or dec-lat)
– 0x6005 (or dec-diagnostic-protocol)
– 0x6007 (or dec-lavc-sca)
– 0x6008 (or dec-amber)
– 0x6009 (or dec-mumps)
– 0x8038 (or dec-lanbridge)
– 0x8039 (or dec-dsm)
– 0x8040 (or dec-netbios)
– 0x8041 (or dec-msdos)
– 0x8042 (no keyword)
– 0x0BAD (no keyword)
– 0x0baf (or banyan-vines-echo)
– 0x0600 (or xerox-ns-idp)
QoS MAC ACLs that do not include an ethertype parameter match traffic with any value in the ethertype
field, which allows MAC-level QoS to be applied to any traffic except IP and IPX.
Default ACLs
There are three default ACLs, one each for IP and, with a Layer 3 switching engine, IPX and MAC
traffic. Each ACL has a single ACE that has a configurable marking rule and configurable policing rules.
The default ACLs have nonconfigurable classification criteria that matches all traffic. QoS compares
any traffic with a supported ethertype field value that does not match a named ACL to the default ACLs.
Unmatched IP traffic matches the default IP ACL. Unmatched IPX traffic matches the default IPX ACL.
Unmatched Ethernet traffic matches the default MAC ACL.
Note All traffic matches an ACE in an ACL, either an ACE in a named ACL or one of the default ACLs,
because the default ACLs match all traffic.
Marking Rules
Note Marking is not supported for IPX or MAC traffic with a PFC2.
Marking rules specify how QoS marks traffic when the traffic matches the filtering parameters in an
ACE (see the “ACE Name, Marking Rule, Policing, and Filtering Syntax” section on page 41-37). QoS
supports four marking rules, specified with the following four ACE keywords: trust-dscp, trust-ipprec,
trust-cos, and dscp. Each ACE contains one of the keywords. The marking rules are as follows:
• trust-dscp (IP ACLs only)—Instructs QoS to set internal and egress DSCP from received DSCP
values (see the “Internal DSCP Values” section on page 41-15).
• trust-ipprec (IP ACLs only)—Instructs QoS to set internal and egress DSCP from received IP
precedence values.
Note With the trust-ipprec port keyword, QoS uses only the IP precedence bits. If traffic with
a DSCP value enters the switch through a port configured with the trust-ipprec port
keyword, the three most significant bits of the DSCP value are interpreted as an IP
precedence value; QoS ignores the rest of the DSCP value.
• trust-cos (all ACLs except IPX and MAC with a PFC2)—Instructs QoS to set internal and egress
DSCP from received or port CoS values. In traffic from ports configured with the trust-cos
keyword, the CoS value is that received in ISL and 802.1Q frames; in all other cases, the CoS value
is that configured on the port (default is zero).
• dscp (all ACLs except IPX and MAC with a PFC2)—Instructs QoS to mark traffic as indicated by
the port trust keywords:
– In IP traffic from ingress ports configured with the trust-dscp port keyword, the dscp ACE
keyword instructs QoS to set the internal and egress DSCP values from the received DSCP
values. In non-IP traffic, QoS sets the DSCP from the received or port CoS value.
– In IP traffic from ingress ports configured with the trust-ipprec port keyword, the dscp ACE
keyword instructs QoS to set the internal and egress DSCP values from the received IP
precedence values. In non-IP traffic, QoS sets the DSCP value from the received or port CoS
value.
– In traffic from ingress ports configured with the trust-cos port keyword, the dscp ACE keyword
instructs QoS to set the internal and egress DSCP values from the received or port CoS values.
– In traffic from ingress ports configured with the untrusted port keyword, the dscp ACE
keyword instructs QoS to set the internal and egress DSCP values from the DSCP value in the
ACE.
Note The default configuration of the ACEs in the default ACLs contains the dscp ACE
keyword, which supports per-port classification of traffic. With the default values, the
ACEs in the default ACLs apply DSCP zero to traffic from ingress ports configured with
the untrusted port keyword.
QoS uses configurable mapping tables to set the DSCP value, which is 6 bits, from CoS and IP
precedence, which are 3-bit values (for more information, see the “Mapping Received CoS Values to
Internal DSCP Values” section on page 41-55 and the “Mapping Received IP Precedence Values to
Internal DSCP Values” section on page 41-56).
Policing Rules
You can create named policing rules that specify bandwidth utilization limits, which you can apply to
traffic by including the policing rule name in an ACE (for more information, see the “Creating Policing
Rules” section on page 41-34).
Policing uses a token bucket scheme. As packets arrive, the packet size in bytes is added to the bucket
level. Every 0.25 milliseconds, a value equal to the token rate is subtracted from the bucket level.
You specify the bandwidth utilization limits as an average rate and a maximum burst size. Packets that
exceed these limits are “out of profile.” Traffic is in profile as long as it flows in at an average rate and
never bursts beyond the burst size.
In each policing rule, you specify if out-of-profile packets are to be dropped or to have a new DSCP
value applied to them (applying a new DSCP value is called “markdown”). Since out-of-profile packets
do not retain their original priority, they are not counted as part of the bandwidth consumed by in-profile
packets.
For all policing rules, QoS uses a configurable table that maps received DSCP values to marked-down
DSCP values (for more information, see the “Mapping DSCP Markdown Values” section on
page 41-57). When markdown occurs, QoS gets the marked-down DSCP value from the table. You
cannot specify a marked-down DSCP value in individual policing rules.
Note By default, the markdown table is configured so that no markdown occurs: the marked-down DSCP
values are equal to the received DSCP values. To enable markdown, configure the table appropriately
for your network.
You give each policing rule a unique name when you create it and then use the name to include the
policing rule in an ACE. The same policing rule can be used in multiple ACEs.
You can create these policing rules:
• Microflow—QoS applies the bandwidth limit specified in a microflow policing rule separately to
each flow that matches any ACEs that use that particular microflow policing rule. You can create
up to 63 microflow policing rules.
• Aggregate—QoS applies the bandwidth limits specified in an aggregate policing rule cumulatively
to all flows that match any ACEs that use that particular aggregate policing rule. You can create up
to 1023 aggregate policing rules.
• With a PFC2, you can specify a dual rate aggregate policing rule with a normal rate and an excess
rate.
– Normal rate—packets exceeding this rate are marked down.
– Excess rate—packets exceeding this rate are either marked down or dropped as specified by the
drop indication flag.
Note The drop indication flag applies to the excess rate policer and cannot be set for the normal
rate policer. To achieve the effect of a drop indication flag for the normal rate aggregate
policer, set the excess rate equal to the normal rate and set the drop indication flag.
Alternatively, you can set the normal rate without specifying an excess rate, which
automatically sets the excess rate to the normal rate when the drop indicator flag is on.
You can include both a microflow policing rule and an aggregate policing rule in each ACE to police a
flow based on both its own bandwidth utilization and on its bandwidth utilization combined with that of
other flows.
For example, you could create a microflow policing rule named “group_individual” with bandwidth
limits suitable for individuals in a group and you could create an aggregate policing rule named
“group_all” with bandwidth limits suitable for the group as a whole. You could include both policing
rules in ACEs that match the group’s traffic. The combination would affect individuals separately and
the group cumulatively.
For ACEs that include both a microflow policing rule and an aggregate policing rule, QoS responds to
an out-of-profile status from either policing rule and, as specified by the policing rule, applies a new
DSCP value or drops the packet. If both policing rules return an out-of-profile status, then if either
policing rule specifies that the packet is to be dropped, it is dropped; otherwise, QoS applies a new DSCP
value.
Follow these guidelines when creating policing rules:
• You can include a microflow policing rule in IP ACEs. You cannot include a microflow policing
rule in IPX or MAC ACEs. IPX and MAC ACEs support only aggregate policing rules.
• By default, microflow policing rules do not affect bridged traffic. To enable microflow policing of
bridged traffic, enter the set qos bridged-microflow-policing command (for more information, see
the “Enabling or Disabling Microflow Policing of Bridged Traffic” section on page 41-48).
• With a Layer 3 Switching Engine II, to do any microflow policing, you must enable microflow
policing of bridged traffic.
• With an MSFC, QoS does not apply microflow policing rules to Multilayer Switching (MLS)
candidate frames (MSFC2 does not use candidate and enabler frames).
• To avoid inconsistent results, all ACEs that include the same aggregate policing rule must use the
same ACE keyword: trust-dscp, trust-ipprec, trust-cos, or dscp. If the ACE uses the dscp
keyword, all traffic that matches the ACE must come through ports configured with the same port
keyword: trust-dscp, trust-ipprec, trust-cos, or untrusted. If the ACL is attached to a VLAN, all
ports in the VLAN must be configured with the same port keyword.
Attaching ACLs
You can configure each port for either port-based QoS (default) or VLAN-based QoS (see the “Enabling
Port-Based or VLAN-Based QoS” section on page 41-32) and attach ACLs to the selected interface (see
the “Attaching ACLs to Interfaces” section on page 41-46). You can attach up to three named ACLs, one
of each type (IP, IPX, and Ethernet) to each port and VLAN.
On ports configured for VLAN-based QoS, you can attach named ACLs to the port’s VLAN; or for a
trunk, you can attach named ACLs to any VLANs allowed on the trunk as follows:
• On a port configured for VLAN-based QoS, traffic received through the port is compared to any
named ACLs attached to the port’s VLAN. If you do not attach any named ACLs to the port’s
VLAN, or if the traffic does not match an ACE in a named ACL, QoS compares the traffic received
through the port to the default ACLs.
• On a trunk configured for VLAN-based QoS, traffic received through the port is compared to any
named ACLs attached to the traffic’s VLAN. For traffic in VLANs that have no named ACLs
attached, or if the traffic does not match an ACE in a named ACL, QoS compares the traffic to the
default ACLs.
On ports configured for port-based QoS, you can attach named ACLs to the port as follows:
• On a port configured for port-based QoS, traffic received through the port is compared to any named
ACLs attached to the port. If you do not attach any named ACLs to the port, or if the traffic does
not match an ACE in a named ACL, QoS compares the traffic received through the port to the
default ACLs.
• On a trunk configured for port-based QoS, traffic in all VLANs received through the port is
compared to any named ACLs attached to the port. If you do not attach any named ACLs to the port,
or if the traffic does not match an ACE in a named ACL, QoS compares the traffic received through
the port to the default ACLs.
Note Classification and marking with a Layer 2 Switching Engine uses Layer 2 CoS values. Classification
and marking with a Layer 2 Switching Engine does not use or set Layer 3 IP precedence or DSCP
values.
Overview
QoS schedules traffic through the transmit queues based on CoS values and uses CoS-value-based
transmit-queue drop thresholds to avoid congestion in traffic transmitted from Ethernet ports.
Note Ethernet egress port scheduling and congestion avoidance uses Layer 2 CoS values. Ethernet egress
port marking writes Layer 2 CoS values and, for IP traffic, the Layer 3 ToS byte.
Transmit Queues
Enter the show port capabilities command to see the queue structure of a port. The command displays
one of the following:
• tx-(2q2t)—Two standard queues with two thresholds each
• tx-(1p2q2t)—One strict-priority queue and two standard queues with two thresholds each
• tx-(1p3q1t)—One strict-priority queue and three standard queues with one threshold each
All ports have a low-priority and a high-priority standard transmit queue. 1p3q1t ports have a
medium-priority standard transmit queue. 1p2q2t and 1p3q1t ports have a strict-priority transmit queue
in addition to the standard queues.
On 2q2t ports, the default QoS configuration allocates a minimum of 80 percent of the total transmit
queue size to the low-priority standard queue and a minimum of 20 percent to the high-priority standard
queue.
On 1p2q2t and 1p3q1t ports, the switch services traffic in the strict-priority queue before servicing the
standard queues. When the switch is servicing a standard queue, after transmitting a packet, it checks
for traffic in the strict-priority queue. If the switch detects traffic in the strict-priority queue, it suspends
its service of the standard queue and completes service of all traffic in the strict-priority queue before
returning to the standard queue.
On 1p2q2t ports, the default QoS configuration allocates a minimum of 70 percent of the total transmit
queue size to the low-priority standard queue, a minimum of 15 percent to the high-priority standard
queue, and a minimum of 15 percent to the strict-priority queue.
On 1p3q1t ports, the transmit queue size is not configurable and is allocated equally among all queues.
Note The explanations in these sections use default values. You can configure many of the parameters (for
more information, see the “Configuring QoS” section on page 41-30). All ports of the same type use
the same drop-threshold configuration.
2q2t Ports
For 2q2t ports, each transmit queue has two drop thresholds that function as follows:
• Frames with CoS 0, 1, 2, or 3 go to the low-priority transmit queue (queue 1):
– Using transmit queue 1, drop-threshold 1, the switch drops frames with CoS 0 or 1 when the
low-priority transmit-queue buffer is 80 percent full.
– Using transmit queue 1, drop threshold 2, the switch drops frames with CoS 2 or 3 when the
low-priority transmit-queue buffer is 100 percent full.
• Frames with CoS 4, 5, 6, or 7 go to the high-priority transmit queue (queue 2):
– Using transmit queue 2, drop threshold 1, the switch drops frames with CoS 4 or 5 when the
high-priority transmit-queue buffer is 80 percent full.
– Using transmit queue 2, drop threshold 2, the switch drops frames with CoS 6 or 7 when the
high-priority transmit-queue buffer is 100 percent full.
1p2q2t Ports
For 1p2q2t ports, the low- and high-priority standard transmit queues each have two drop thresholds that
function as follows:
• Frames with CoS 0, 1, 2, or 3 go to the low-priority standard transmit queue (queue 1):
– Using standard transmit queue 1, drop threshold 1, the switch drops frames with CoS 0 or 1
when the low-priority transmit-queue buffer is 80 percent full.
– Using standard transmit queue 1, drop threshold 2, the switch drops frames with CoS 2 or 3
when the low-priority transmit-queue buffer is 100 percent full.
• Frames with CoS 4, 6, or 7 go to the high-priority standard transmit queue (queue 2):
– Using standard transmit queue 2, drop threshold 1, the switch drops frames with CoS 4 when
the high-priority transmit-queue buffer is 80 percent full.
– Using standard transmit queue 2, drop threshold 2, the switch drops frames with CoS 6 or 7
when the high-priority transmit-queue buffer is 100 percent full.
• Frames with CoS 5 go to the strict-priority transmit queue (queue 3), where the switch drops frames
only when the buffer is 100 percent full.
1p3q1t Ports
For 1p3q1t ports, the queues each have one drop threshold that function as follows:
• Frames with CoS 0 and 1 go to the low-priority standard transmit queue (queue 1).
• Frames with CoS 2, 3, or 4 go to the medium-priority standard transmit queue (queue 2).
• Frames with CoS 6 or 7 go to the high-priority standard transmit queue (queue 3).
Note You can configure each standard transmit queue to use both a tail-drop and a
WRED-drop threshold by mapping a CoS value to a queue or to a queue and a threshold.
The switch uses tail-drop thresholds for traffic carrying CoS values mapped only to a
queue. The switch uses WRED-drop thresholds for traffic carrying CoS values mapped
to a queue and a threshold.
• Frames with CoS 5 go to the strict-priority transmit queue (queue 3), where the switch drops frames
only when the buffer is 100 percent full.
Marking
When traffic is transmitted from the switch, QoS writes the ToS byte into IP traffic (Layer 3 switching
engine only) and the CoS value that was used for scheduling and congestion avoidance into ISL or
802.1Q traffic (for more information, see the “Final Layer 3 Switching Engine CoS and ToS Values”
section on page 41-24).
Note Per-port counter information and utilization statistics are not available for ATM ports.
Note The QoS statistics data export feature is completely separate from TopN and NetFlow Data Export
and does not interact with either of these features.
Configuring QoS
These sections describe how to configure QoS on the Catalyst 6000 family switches:
• Enabling QoS, page 41-31
• Enabling Port-Based or VLAN-Based QoS, page 41-32
• Configuring the Trust State of a Port, page 41-32
• Configuring the CoS Value for a Port, page 41-33
• Creating Policing Rules, page 41-34
• Deleting Policing Rules, page 41-36
Note Some QoS show commands support the config and runtime keywords. Use the runtime keyword to
display the QoS values currently programmed into the hardware. When you disable QoS, the display
with the runtime keyword is “QoS is disabled.” Use the config keyword to display values from
commands that have been entered, but which may not currently be programmed into the hardware
(for example, locally configured QoS values that are currently not used because COPS has been
selected as the QoS policy source or QoS values configured when QoS is disabled).
Enabling QoS
To enable QoS, perform this task in privileged mode:
Task Command
Enable QoS on the switch. set qos {enable | disable}
Note The commands in this section are not supported with a Layer 2 Switching Engine.
By default, QoS uses ACLs attached to ports. On a per-port basis, you can configure QoS to use ACLs
attached to a VLAN. To enable VLAN-based QoS on a port, perform this task in privileged mode:
Task Command
Step 1 Enable VLAN-based QoS on a port. set port qos mod/port {port-based | vlan-based}
Step 2 Verify the configuration. show port qos mod/port
For more information, see the “Attaching ACLs” section on page 41-23.
This example shows how to enable VLAN-based QoS on a port:
Console> (enable) set port qos 1/1-2 vlan-based
Hardware programming in progress...
QoS interface is set to vlan-based for ports 1/1-2.
Console> (enable)
Changing a port from port-based to VLAN-based QoS detaches all ACLs from the port. Any ACLs
attached to the VLAN apply to the port immediately (for more information, see the “Attaching ACLs to
Interfaces” section on page 41-46).
Task Command
Step 1 Configure the trust state of a port. set port qos trust {untrusted | trust-cos |
trust-ipprec | trust-dscp}
Step 2 Verify the configuration. show port qos
Note the following syntax guidelines whenconfiguring the trust state of a port:
• The trust-ipprec and trust-dscp keywords are supported only with a Layer 3 switching engine.
• 1q4t ports (except Gigabit Ethernet) do not support the trust-ipprec and trust-dscp port keywords.
You must configure a trust-ipprec or trust-dscp ACL that matches the ingress traffic to apply the
trust-ipprec or trust-dscp trust state.
• On 1q4t ports (except Gigabit Ethernet), the trust-cos port keyword displays an error message,
activates receive-queue drop thresholds, and—as indicated by the error message—does not apply the
trust-cos trust state to traffic. You must configure a trust-cos ACL that matches the ingress traffic
to apply the trust-cos trust state.
This example shows how to configure port 1/1 with the trust-cos keyword:
Console> (enable) set port qos 1/1 trust trust-cos
Port 1/1 qos set to trust-cos
Console> (enable)
Note Only ISL or 802.1Q frames carry CoS values. Configure ports with the trust-cos keyword only when
the received traffic is ISL or 802.1Q frames carrying CoS values that you know to be consistent with
network policy or to trust a configured port CoS value.
Note Whether or not QoS uses the CoS value applied with the set port qos ... cos command depends on the
trust state of the port and the trust state of the traffic received through the port. The set port qos ... cos
command does not configure the trust state of the port or the trust state of the traffic received through
the port. To use the CoS value applied with the set port qos ... cos command, configure a trust-CoS ACL
that matches the ingress traffic; or for a port that receives no tagged traffic, configure the port to trust
CoS.
Unmarked frames from ports configured as trusted and all frames from ports configured as untrusted are
assigned the CoS value specified with this command.
To configure the CoS value for a port, perform this task in privileged mode:
Task Command
Step 1 Configure the CoS value for a port. set port qos cos cos-value
Step 2 Verify the configuration. show port qos
This example shows how to configure the port CoS value to 3 for port 1/1:
Console> (enable) set port qos 1/1 cos 3
Port 1/1 qos cos set to 3
Console> (enable)
To revert to the default CoS value for a port, perform this task in privileged mode:
Task Command
Step 1 Revert to the default CoS value for a port. clear port qos cos
Step 2 Verify the configuration. show port qos
This example shows how to revert to the default CoS value for port 1/1:
Console> (enable) clear port qos 1/1 cos
Port 1/1 qos cos setting cleared.
Console> (enable)
Note The commands in this section are not supported with a Layer 2 Switching Engine.
Task Command
Step 1 Create a policing rule. set qos policer microflow microflow_name {rate
rate} {burst burst} {drop | policed-dscp}
With PFC or PFC2:
set qos policer aggregate aggregate_name {rate
rate} {burst burst} {drop | policed-dscp}
With PFC2:
set qos policer aggregate aggregate_name {rate
rate} policed-dscp {erate erate} {drop |
policed-dscp} burst burst
Step 2 Verify the configuration. show qos policer {config | runtime}
{microflow | aggregate | all}
For more information, see the “Policing Rules” section on page 41-22.
The policer_name parameter can be up to 31 characters long, is case sensitive, and may include a–z,
A–Z, 0–9, the dash character (-), the underscore character (_), and the period character (.). Policing rule
names must start with an alphabetic character (not a digit) and must be unique across all microflow and
aggregate policing rules. You cannot use keywords from any command as a policing rule name.
The valid values for the rate and erate parameters are 32 Kbps (entered as 32) to 8 Gbps (entered as
8000000); or to classify all traffic as out of profile, set the rate parameter to zero (0). The PFC1 and
PFC2 have the following hardware granularity for rate values:
Within each range, QoS programs the hardware with rate values that are multiples of the granularity
values.
The valid values for the burst parameter are 1 Kb (entered as 1) to 32 Mb (entered as 32000).
Note The burst parameter sets the token bucket size. To sustain a specific rate, set the token bucket size
with the burst parameter to be at least the rate divided by 4000, because tokens are removed from
the bucket every 1/4000th of a second (0.25 ms) and the bucket needs to be at least burst-size long
to sustain the specified rate.
Note Because any packet larger than the burst size is considered an out-of-profile packet, make sure that
the burst size is greater than or equal to the largest packet size of the policer that is applied to it.
Note QoS programs the hardware with values that are multiples of 32K (32,768), not with the specific
value entered.
Enter either the drop keyword to cause all out-of-profile packets to be dropped or the policed-dscp
keyword to cause all out-of-profile packets with the normal rate to be marked down as specified in the
normal markdown DSCP map (for more information, see the “Mapping DSCP Markdown Values”
section on page 41-57).
This example shows how to create a microflow policing rule with a 1-Mbps rate limit and a 10-Mb burst
limit that marks down out-of-profile traffic:
Console> (enable) set qos policer microflow my-micro rate 1000 burst 10000
policed-dscp
Hardware programming in progress...
QoS policer for microflow my-micro created successfully.
Console> (enable)
For PFC2, this example shows how to create an aggregate excess rate policing rule with a 64-Kbps rate
limit and a 128-Kb burst limit that drops traffic exceeding these values:
Console> (enable) set qos policer aggregate test rate 64 burst 128 drop
QoS policer for aggregate test created successfully.
Console> (enable) show qos policer config aggregate test
QoS aggregate policers:
QoS aggregate policers:
Aggregate name Normal rate (kbps) Burst size (kb) Normal action
----------------------------- ------------------ --------------- -------------
test 64 128 policed-dscp
Excess rate (kbps) Burst size (kb) Excess action
------------------ --------------- -------------
64 128 drop
ACL attached
------------------------------------
Console> (enable)
For PFC2, this example shows how to create an aggregate excess rate policing rule with a 64-Kbps rate
limit and a 100-Kb burst limit that will cause all out-of-profile packets to be marked down as specified
in the normal markdown DSCP map:
Console> (enable) set qos policer aggregate test2 rate 64 burst 100 policed-dscp
QoS policer for aggregate test2 created successfully.
Console> (enable)
For PFC2, this example shows how to create an aggregate excess rate policing rule with a 64-Kbps rate
limit and a 128-Kb burst limit that will cause traffic that exceeds the normal rate of 64 Kbps and a burst
size of 96 Kb to be marked down as specified in the normal markdown DSCP map, and traffic that
exceeds 128 Kbps and a burst size of 96 Kb to be dropped:
Console> (enable) set qos policer aggregate test3 rate 64 policed-dscp erate 128 drop
burst 96
QoS policer for aggregate test3 created successfully.
Console> (enable) show qos policer config aggregate test3
QoS aggregate policers:
Aggregate name Normal rate (kbps) Burst size (kb) Normal action
----------------------------- ------------------ --------------- -------------
test3 64 96 policed-dscp
Excess rate (kbps) Burst size (kb) Excess action
------------------ --------------- ---------------
128 96 drop
ACL attached
------------------------------------
Console> (enable)
Note You can only delete policing rules if they are not attached to any interfaces (for more information,
see the “Detaching ACLs from Interfaces” section on page 41-46).
To delete one or all policing rules, perform this task in privileged mode:
Task Command
Step 1 Delete one or all policing rules. clear qos policer {microflow | aggregate}
{policer_name | all}
Step 2 Verify the configuration. show qos policer {config | runtime}
{microflow | aggregate | all}
This example shows how to delete the microflow policing rule named my_micro:
Console> (enable) clear qos policer microflow my_micro
my_micro QoS microflow policer cleared.
Console> (enable)
Note The commands in this section are not supported with a Layer 2 Switching Engine.
ACL Names
ACL names can be up to 31 characters long, are case sensitive, and may include a–z, A–Z, 0–9, the dash
character (-), the underscore character (_), and the period character (.). ACL names must start with an
alphabetic character and must be unique across all QoS ACLs of all types. You cannot use keywords
from any command as an ACL name.
Named IP ACLs
These sections describe creating or modifying IP ACLs:
• Source and Destination IP Addresses and Masks, page 41-38
• Port Operator Parameters, page 41-38
• Precedence Parameter Options, page 41-38
• IP ACEs for TCP Traffic, page 41-39
• IP ACEs for UDP Traffic, page 41-39
• IP ACEs for ICMP Traffic, page 41-40
• IP ACEs for IGMP Traffic, page 41-40
• IP ACLs for Other Layer 4 Protocols, page 41-41
• IP ACEs for Any IP Traffic, page 41-41
In IP ACEs, specify source and destination IP addresses and masks (represented by the src_ip_spec and
dest_ip_spec parameters in the following sections) in the form ip_address mask. The mask is mandatory.
Use one bits, which need not be contiguous, where you want wildcards.
Use any of the following formats for the address and mask:
• Four-part dotted-decimal 32-bit values
• The keyword any as an abbreviation for a wildcard address and wildcard mask of 0.0.0.0
255.255.255.255
• The abbreviation host ip_address for an address and wildcard mask of ip_address 0.0.0.0
For precedence parameter keyword options in IP ACEs, see the “IP ACE Layer 3 Classification Criteria”
section on page 41-16.
To create or modify an IP ACE for TCP traffic, perform this task in privileged mode:
Task Command
Step 1 Create or modify an IP ACE for TCP traffic. set qos acl ip {acl_name} {{dscp dscp} |
trust-cos | trust-ipprec | trust-dscp}
[microflow microflow_name] [aggregate
aggregate_name] tcp {src_ip_spec} [{operator}
{port} [port]] {dest_ip_spec} [{operator} {port}
[port]] [established] [precedence precedence |
dscp-field dscp] [before editbuffer_index |
modify editbuffer_index]
Step 2 Verify the configuration. show qos acl info {acl_name | all}
editbuffer [editbuffer_index]
For port parameter keyword options, see the “IP ACE Layer 4 TCP Classification Criteria” section on
page 41-17.
The established keyword matches traffic with the ACK or RST bits set.
This example shows how to create an IP ACE for TCP traffic:
Console> (enable) set qos acl ip my_IPacl trust-ipprec microflow my-micro aggregate my-agg
tcp any any
my_IPacl editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
To create or modify an IP ACE for UDP traffic, perform this task in privileged mode:
Task Command
Step 1 Create or modify an IP ACE for UDP traffic. set qos acl ip {acl_name} {{dscp dscp} |
trust-cos | trust-ipprec | trust-dscp}
[microflow microflow_name] [aggregate
aggregate_name] udp {src_ip_spec} [{operator}
{port} [port]] {dest_ip_spec} [{operator} {port}
[port]] [precedence precedence |
dscp-field dscp] [before editbuffer_index |
modify editbuffer_index]
Step 2 Verify the configuration. show qos acl info {acl_name | all}
editbuffer [editbuffer_index]
For port parameter keyword options, see the “IP ACE Layer 4 UDP Classification Criteria” section on
page 41-18.
This example shows how to create an IP ACE for UDP traffic:
Console> (enable) set qos acl ip my_IPacl trust-ipprec microflow my-micro aggregate my-agg
udp any any
my_IPacl editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
To create or modify an IP ACE for ICMP traffic, perform this task in privileged mode:
Task Command
Step 1 Create or modify an IP ACE for ICMP traffic. set qos acl ip acl_name {dscp dscp | trust-cos |
trust-ipprec | trust-dscp} [microflow
microflow_name] [aggregate aggregate_name]
icmp src_ip_spec dest_ip_spec
[icmp_type [icmp_code] | icmp_message]
[precedence precedence | dscp-field dscp]
[before editbuffer_index | modify
editbuffer_index]
Step 2 Verify the configuration. show qos acl info {acl_name | all}
editbuffer [editbuffer_index]
For icmp_code and icmp_type parameter keyword options, see the “IP ACE Layer 4 ICMP Classification
Criteria” section on page 41-18.
This example shows how to create an IP ACE for ICMP echo traffic:
Console> (enable) set qos acl ip my_IPacl trust-ipprec microflow my-micro aggregate my-agg
icmp any any echo
my_IPacl editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
Note QoS does not support IGMP traffic when IGMP snooping is enabled.
To create or modify an IP ACE for IGMP traffic, perform this task in privileged mode:
Task Command
Step 1 Create or modify an IP ACE for IGMP traffic. set qos acl ip acl_name {dscp dscp | trust-cos |
trust-ipprec | trust-dscp} [microflow
microflow_name] [aggregate aggregate_name]
igmp src_ip_spec dest_ip_spec [igmp_type]
[precedence precedence | dscp-field dscp]
[before editbuffer_index | modify
editbuffer_index]
Step 2 Verify the configuration. show qos acl info {acl_name | all}
editbuffer [editbuffer_index]
For igmp_type parameter keyword options, see the “IP ACE Layer 4 IGMP Classification Criteria”
section on page 41-19.
This example shows how to create an IP ACE for IGMP protocol independent multicast (PIM) traffic:
Console> (enable) set qos acl ip my_IPacl trust-ipprec microflow my-micro aggregate my-agg
igmp any any pim
my_IPacl editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
To create or modify a named IP ACL with additional parameters that match all Layer 4 protocols,
perform this task in privileged mode:
Task Command
Step 1 Create or modify an IP ACE. set qos acl ip acl_name {dscp dscp | trust-cos |
trust-ipprec | trust-dscp} [microflow
microflow_name] [aggregate aggregate_name]
protocol src_ip_spec dest_ip_spec [precedence
precedence | dscp-field dscp] [before
editbuffer_index | modify editbuffer_index]
Step 2 Verify the configuration. show qos acl info {acl_name | all}
editbuffer [editbuffer_index]
For protocol parameter keyword options, see the “IP ACE Layer 4 Protocol Classification Criteria”
section on page 41-17.
This example shows how to create an IP ACE for IPINIP traffic:
Console> (enable) set qos acl ip my_IPacl trust-ipprec microflow my-micro aggregate my-agg
ipinip any any
my_IPacl editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
To create or modify an IP ACE that matches all IP traffic, perform this task in privileged mode:
Task Command
Step 1 Create or modify an IP ACE. set qos acl ip acl_name {dscp dscp | trust-cos |
trust-ipprec | trust-dscp} [microflow
microflow_name] [aggregate aggregate_name]
src_ip_spec [precedence precedence | dscp-field
dscp] [before editbuffer_index | modify
editbuffer_index]
Step 2 Verify the configuration. show qos acl info {acl_name | all}
editbuffer [editbuffer_index]
Task Command
Step 1 Modify the default IP ACL. set qos acl default-action ip {dscp dscp |
trust-cos | trust-ipprec | trust-dscp} [microflow
microflow_name] [aggregate aggregate_name]
Step 2 Verify the configuration. show qos acl info default-action {ip | ipx | mac |
all}
For more information, see the “Default ACLs” section on page 41-20.
This example shows how to modify the default IP ACL:
Console> (enable) set qos acl default-action ip dscp 5 microflow my-micro aggregate my-agg
QoS default-action for IP ACL is set successfully.
Console> (enable)
Task Command
Step 1 Create or modify an IPX ACL. With PFC:
set qos acl ipx acl_name {dscp dscp | trust-cos}
[aggregate aggregate_name] protocol src_net
[dest_net[.dest_node] [[dest_net_mask].dest_node_
mask]] [before editbuffer_index | modify
editbuffer_index]
With PFC2:
set qos acl ipx acl_name aggregate
aggregate_name protocol src_net
[dest_net[.dest_node] [[dest_net_mask].dest_node_
mask]] [before editbuffer_index | modify
editbuffer_index]
Step 2 Verify the configuration. show qos acl info {acl_name | all}
editbuffer [editbuffer_index]
The protocol parameter can be specified numerically (0–255) or with these keywords: any, ncp (17),
netbios (20), rip (1), sap (4), or spx (5).
The src_net and dest_net parameters are IPX network numbers, entered as up to 8 hexadecimal digits in
the range 1 to FFFFFFFE (-1 matches any network number). You do not need to enter leading zeros.
If you specify an IPX destination network, IPX ACEs support the following optional parameters:
• An IPX destination network mask, entered as up to 8 hexadecimal digits in the range 1 to FFFFFFFE
(-1 matches any network number). Use one bits, which need not be contiguous, where you want
wildcards.
• An IPX destination node, entered as 12 hexadecimal digits (48 bits), formatted as a dotted triplet of
four-digit hexadecimal digits each (xxxx.xxxx.xxxx).
• If you specify an IPX destination node, IPX ACEs support an IPX destination node mask, entered
as 12 hexadecimal digits (48 bits), formatted as a dotted triplet of four-digit hexadecimal digits each
(xxxx.xxxx.xxxx). Use one bits, which need not be contiguous, where you want wildcards.
This example shows how to create an IPX ACE:
Console> (enable) set qos acl ipx my_IPXacl trust-cos aggregate my-agg -1
my_IPXacl editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
Task Command
Step 1 Create or modify a MAC ACL. With PFC:
set qos acl mac acl_name {dscp dscp | trust-cos}
[aggregate aggregate_name] src_mac_spec
dest_mac_spec [ethertype] [before
editbuffer_index | modify editbuffer_index]
With PFC2:
set qos acl mac acl_name aggregate
aggregate_name src_mac_spec dest_mac_spec
[ethertype] [before editbuffer_index |
modify editbuffer_index]
Step 2 Verify the configuration. show qos acl info {acl_name | all}
editbuffer [editbuffer_index]
Enter the src_mac_spec and dest_mac_spec parameters as a MAC address and a mask. Each parameter
is 12 hexadecimal digits (48 bits), formatted as dash-separated pairs. Use one bits, which need not be
contiguous, where you want wildcards. Use the any keyword for a MAC address and mask of
0-0-0-0-0-0 ff-ff-ff-ff-ff-ff. Use the host keyword with a MAC address to specify an all-zero mask
(mac_address 0-0-0-0-0-0).
Enter the ethertype parameter as 4 hexadecimal digits (16 bits) prefaced with 0x (for example, 0x0600)
or as a keyword (see the “MAC ACE Layer 2 Classification Criteria” section on page 41-20).
This example shows how to create a MAC ACE:
Console> (enable) set qos acl mac my_MACacl trust-cos aggregate my-agg any any
my_MACacl editbuffer modified. Use ‘commit’ command to apply changes.
Console> (enable)
Note QoS MAC ACLs that do not include an ethertype parameter match traffic with any value in the
ethertype field, which allows MAC-level QoS to be applied to any traffic except IP and IPX.
Task Command
Step 1 Modify the default IPX or MAC ACL. With PFC:
set qos acl default-action {ipx | mac} {dscp
dscp | trust-cos} [aggregate aggregate_name]
With PFC2:
set qos acl default-action {ipx | mac} aggregate
aggregate_name
Step 2 Verify the configuration. show qos acl info default-action {ip | ipx | mac |
all}
For more information, see the “Default ACLs” section on page 41-20.
This example shows how to modify the default IPX ACL:
Console> (enable) set qos acl default-action ipx dscp 5 aggregate my-agg
QoS default-action for IPX ACL is set successfully.
Console> (enable)
Note IPX and MAC ACLs do not support microflow policing rules.
Task Command
Step 1 Delete a named ACL. clear qos acl acl_name [editbuffer_index]
Step 2 Verify the configuration. show qos acl info {acl_name | all}
Task Command
Step 1 Revert to the default values for a default ACL. clear qos acl default-action {ip | ipx | mac}
Step 2 Verify the configuration. show qos acl info default-action {ip | ipx | mac |
all}
This example shows how to revert to the default values for the default IP ACL:
Console> (enable) clear qos acl default-action ip
Hardware programming in progress...
QoS default-action for IP ACL is restored to default setting.
Console> (enable)
Task Command
Step 1 Discard an uncommitted ACL. rollback qos acl {acl_name | all}
Step 2 If you discarded changes to an existing ACL, show qos acl info {acl_name | all}
verify the configuration.
Note Changes to the default ACLs take effect immediately and cannot be discarded.
Committing ACLs
When you create, change, or delete a named ACL, the changes exist temporarily in an edit buffer in
memory. To commit the ACL so that it can be used, perform this task in privileged mode:
Task Command
Step 1 Commit an ACL. commit qos acl acl_name
Step 2 Verify the configuration. show config qos acl {acl_name | all}
Note When you commit an ACL that has already been attached to interfaces, the new values go into effect
immediately. Changes to the default ACLs do not need to be committed.
See “Configuring and Storing VACLs and QoS ACLs in Flash Memory” section on page 16-42 for
information about where QoS ACLs are stored.
Note The commands in this section are not supported with a Layer 2 Switching Engine.
You can attach one ACL of each type to each VLAN and to each port configured for port-based QoS.
You cannot attach ACLs to a port configured for VLAN-based QoS (for more information, see the
“Enabling Port-Based or VLAN-Based QoS” section on page 41-32). When an ACL of a particular type
(IP, IPX, or Ethernet) is already attached to an interface, attaching a different ACL of the same type
detaches the previous ACL.
To attach an ACL to a port or a VLAN, perform this task in privileged mode:
Task Command
Step 1 Attach an ACL to an interface. set qos acl map acl_name {mod/port | vlan}
Step 2 Verify the configuration. show qos acl map {config | runtime} {acl_name
| mod/port | vlan | all}
This example shows how to attach an ACL named my_acl to port 2/1:
Console> (enable) set qos acl map my_acl 2/1
Hardware programming in progress...
ACL my_acl is attached to port 2/1.
Console> (enable)
Note The commands in this section are not supported with a Layer 2 Switching Engine.
To detach an ACL from a port or a VLAN, perform this task in privileged mode:
Task Command
Step 1 Detach an ACL from an interface. clear qos acl map acl_name {mod/port | vlan |
all}
Step 2 Verify the configuration. show qos acl map {config | runtime} {acl_name
| mod/port | vlan | all}
This example shows how to detach an ACL named my_acl from port 2/1:
Console> (enable) clear qos acl map my_acl 2/1
Hardware programming in progress...
ACL my_acl is detached from port 2/1.
Console> (enable)
This example shows how to detach an ACL named my_acl from VLAN 4:
Console> (enable) clear qos acl map my_acl 4
Hardware programming in progress...
ACL my_acl is detached from vlan 4.
Console> (enable)
Note QoS only supports this command with a Layer 2 Switching Engine.
To map a CoS value to all frames destined for a particular host destination MAC address and VLAN
number value pair, perform this task in privileged mode:
Task Command
Step 1 Map a CoS value to a host destination MAC set qos mac-cos dest_mac VLAN cos_value
address/VLAN pair.
Step 2 Verify the configuration. show qos mac-cos {dest_mac [vlan] | all}
This example shows how to map CoS 2 to a destination MAC address and VLAN 525:
Console> (enable) set qos mac-cos 00-40-0b-30-03-48 525 2
CoS 2 is assigned to 00-40-0b-30-03-48 vlan 525.
Console> (enable)
Note QoS only supports this command with a Layer 2 Switching Engine.
To delete a host destination MAC address and VLAN number value pair CoS assignment, perform this
task in privileged mode:
Task Command
Step 1 Delete a host destination MAC address and clear qos mac-cos {dest_mac [vlan] | all}
VLAN number value pair CoS assignment.
Step 2 Verify the configuration. show qos mac-cos {dest_mac [vlan] | all}
This example shows how to delete all CoS assignments to destination MAC addresses and VLANs:
Console> (enable) clear qos mac-cos all
All CoS to Mac/Vlan entries are cleared.
Console> (enable)
Note The commands in this section are not supported with a Layer 2 Switching Engine.
By default, microflow policing rules affect only Layer 3-switched traffic. To enable or disable
microflow policing of bridged traffic on the switch or on specified VLANs, perform one of these tasks
in privileged mode:
Task Command
Enable microflow policing of bridged traffic on set qos bridged-microflow-policing {enable |
the switch or on specified VLANs. disable} vlan
Disable microflow policing of bridged traffic on set qos bridged-microflow-policing {enable |
the switch or on specified VLANs. disable} vlan
Verify the configuration. show qos bridged-packet-policing {config |
runtime} vlan
Note With Layer 3 Switching Engine II, to do any microflow policing, you must enable microflow
policing of bridged traffic.
For more information, see the “Policing Rules” section on page 41-22.
This example shows how to enable microflow policing of traffic in VLANs 1 through 20:
Console> (enable) set qos bridged-microflow-policing enable 1-20
QoS microflow policing is enabled for bridged packets on vlans 1-20.
Console> (enable)
Task Command
Configure the standard receive-queue tail-drop set qos drop-threshold port_type rx queue 1
thresholds. thr1 thr2 thr3 thr4
For more information, see the “Receive Queues” section on page 41-11.
QoS maintains separate configurations for 1q4t ports and 1p1q4t ports. With either keyword, this
command configures only the standard queue. Specify queue 1 for both port types (the threshold in the
strict-priority queue is not separately configurable; it uses threshold 4 as specified for queue 1).
The thresholds are all specified as percentages ranging from 1 to 100. A value of 10 indicates a threshold
when the buffer is 10 percent full.
This example shows how to configure the standard receive-queue tail-drop thresholds:
Console> (enable) set qos drop-threshold 1q4t rx queue 1 20 40 75 100
Receive drop thresholds for queue 1 set at 20% 40% 75% 100%
Console> (enable)
Task Command
Configure the standard transmit-queue tail-drop set qos drop-threshold port_type tx queue q#
thresholds on all 2q2t ports. thr1 thr2
Queue number 1 is the low-priority transmit queue and queue number 2 is high priority. In each queue,
the low-priority threshold number is 1 and the high-priority threshold number is 2.
The thresholds are all specified as percentages ranging from 1 to 100. A value of 10 indicates a threshold
when the buffer is 10 percent full.
This example shows how to configure the low-priority transmit-queue tail-drop thresholds:
Console> (enable) set qos drop-threshold 2q2t tx queue 1 40 100
Transmit drop thresholds for queue 1 set at 40% 100%
Console> (enable)
Note You cannot configure the tail-drop thresholds in 1p3q1t transmit queues.
Note 1p3q1t ports also have nonconfigurable tail-drop thresholds (see the “1p3q1t Ports” section on
page 41-26).
To configure the standard transmit-queue WRED-drop thresholds on all ports of each type, perform this
task in privileged mode:
Task Command
Configure the standard transmit-queue set qos wred 1p2q2t [tx] queue q#
WRED-drop thresholds on all ports of a given [thr1Lo:]thr1Hi [thr2Lo:]thr2Hi
type.
set qos wred 1p3q1t [tx] queue q#
[thr1Lo:]thr1Hi
For 1p2q2t ports, queue number 1 is the low-priority transmit queue and queue number 2 is high priority.
In each queue, the low-priority threshold is number 1 and the high-priority threshold is number 2.
For 1p3q1t ports, queue number 1 is the low-priority transmit queue, queue number 2 is medium
priority, and queue number 3 is high priority. In each queue, the threshold is number 1.
The thresholds are all specified as percentages ranging from 0 to 100. A value of 10 indicates a threshold
when the buffer is 10 percent full.
You can configure both the low WRED threshold and the high WRED threshold. You must set the low
threshold to a lower percentage than the high threshold.
The low WRED threshold is the traffic level under which no traffic is dropped. The high WRED
threshold is the traffic level above which all traffic is dropped. Traffic in the queue between the low and
high WRED thresholds has an increasing chance of being dropped as the queue fills. The default low
WRED threshold is zero (all traffic has some chance of being dropped).
This example shows how to configure the low-priority transmit-queue WRED-drop thresholds:
Console> (enable) set qos wred 1p2q2t queue 1 40:70 70:100
WRED thresholds for queue 1 set to 40:70 and 70:100 on all WRED-capable 1p2q2t ports.
Console> (enable)
Task Command
Allocate bandwidth between standard transmit set qos wrr port_type queue1-weight
queues. queue2-weight [queue3-weight]
QoS maintains separate configurations for each port type. This command configures only the standard
queues; the strict-priority queue requires no configuration. The valid values for weight range from
1–255.
This example shows how to allocate bandwidth for the 2q2t ports:
Console> (enable) set qos wrr 2q2t 30 70
QoS wrr ratio is set successfully.
Console> (enable)
Task Command
Configure the receive-queue size ratio between set qos rxq-ratio 1p1q0t queue1-val queue2-val
receive queue 1 (standard priority) and receive
queue 2 (strict priority).
Task Command
Configure the transmit-queue size ratio. set qos txq-ratio port_type queue1-val
queue2-val [queue3-val]
Valid port_type parameters are 2q2t and 1p2q2t. QoS maintains separate configurations for each port
type. This example shows how to configure the transmit-queue size ratio:
Console> (enable) set qos txq-ratio 2q2t 80 20
QoS txq-ratio is set successfully.
Console> (enable)
Task Command
Step 1 Associate a CoS value to a drop threshold. set qos map 2q2t tx q# thr# cos coslist
Step 2 Verify the configuration. show qos info config {1p1q4t rx | 1p1q0t rx |
1p2q2t tx | 2q2t tx | 1p3q1t tx}
To associate CoS values to 1p1q4t receive-queue drop thresholds, perform this task in privileged mode:
Task Command
Step 1 Associate a CoS value to a receive-queue drop set qos map 1p1q4t rx q# thr# cos coslist
threshold.
Step 2 Verify the configuration. show qos info config {1p1q4t rx | 1p1q0t rx |
1p2q2t tx | 2q2t tx | 1p3q1t tx}
To associate CoS values to the 1p2q2t transmit-queue drop thresholds, perform this task in privileged
mode:
Task Command
Step 1 Associate a CoS value to a transmit-queue drop set qos map 1p2q2t tx q# thr# cos coslist
threshold.
Step 2 Verify the configuration. show qos info config {1p1q4t rx | 1p1q0t rx |
1p2q2t tx | 2q2t tx | 1p3q1t tx}
Queue 1 is standard low priority, queue 2 is high priority, and queue 3 is strict priority.
Threshold 1 low priority and 2 is high priority.
This example shows how to associate the CoS value 5 to strict-priority transmit-queue 3/drop
threshold 1:
Console> (enable) set qos map 1p2q2t tx 3 1 cos 5
Qos tx strict queue and threshold mapped to cos successfully.
Console> (enable)
To associate CoS values to a 1p1q0t receive queue, perform this task in privileged mode:
Task Command
Step 1 Associate a CoS value to a receive queue. set qos map 1p1q0t rx q# cos coslist
Step 2 Verify the configuration. show qos info config {1p1q4t rx | 1p1q0t rx |
1p2q2t tx | 2q2t tx | 1p3q1t tx}
With 1p3q1t transmit queues, you can associate a CoS value with either the nonconfigurable tail-drop
threshold or the configurable WRED-drop threshold:
• To associate a CoS value with the tail-drop threshold, map the CoS value to the queue.
• To associate a CoS value with the WRED-drop threshold, map the CoS value to the queue and
threshold.
To associate CoS values to the 1p3q1t transmit-queue drop thresholds, perform this task in privileged
mode:
Task Command
Step 1 Associate a CoS value to a transmit-queue drop set qos map 1p3q1t tx q# [thr#] cos coslist
threshold.
Step 2 Verify the configuration. show qos info config {1p1q4t rx | 1p1q0t rx |
1p2q2t tx | 2q2t tx | 1p3q1t tx}
Queue 1 is standard low priority, queue 2 is medium priority, and queue 3 is high priority. Queue 4 is
strict priority.
To map CoS values to the tail-drop threshold, omit the threshold number or enter 0.
The WRED-drop threshold number is 1.
This example shows how to associate the CoS value 0 to transmit-queue 1/drop threshold 1:
Console> (enable) set qos map 1p3q1t tx 1 1 cos 0
Qos tx strict queue and threshold mapped to cos successfully.
Console> (enable)
Task Command
Step 1 Revert to QoS map defaults. clear qos map {1p1q4t rx | 1p1q0t rx |
1p2q2t tx | 2q2t tx | 1p3q1t tx}
Step 2 Verify the configuration. show qos info config {1p1q4t rx | 1p1q0t rx |
1p2q2t tx | 2q2t tx | 1p3q1t tx}
Note The commands in this section are not supported with a Layer 2 Switching Engine.
These sections describe how DSCP values are mapped to other values:
• Mapping Received CoS Values to Internal DSCP Values, page 41-55
• Mapping Received IP Precedence Values to Internal DSCP Values, page 41-56
• Mapping Internal DSCP Values to Egress CoS Values, page 41-56
• Mapping DSCP Markdown Values, page 41-57
Task Command
Step 1 Map received CoS values to internal DSCP set qos cos-dscp-map dscp1 dscp2 dscp3 dscp4
values. dscp5 dscp6 dscp7 dscp8
Step 2 Verify the configuration. show qos maps {config | runtime}
[cos-dscp-map | ipprec-dscp-map |
dscp-cos-map | policed-dscp-map]
Enter 8 DSCP values to which QoS maps received CoS values 0 through 7. This example shows how to
map received CoS values to internal DSCP values:
Console> (enable) set qos cos-dscp-map 20 30 1 43 63 12 13 8
QoS cos-dscp-map set successfully.
Console> (enable)
To revert to default CoS to DSCP value mapping, perform this task in privileged mode:
Task Command
Step 1 Revert to CoS value/DSCP value map defaults. clear qos cos-dscp-map
Step 2 Verify the configuration. show qos maps {config | runtime}
[cos-dscp-map | ipprec-dscp-map |
dscp-cos-map | policed-dscp-map]
Task Command
Step 1 Map received IP precedence values to internal set qos ipprec-dscp-map dscp1 dscp2 dscp3
DSCP values. dscp4 dscp5 dscp6 dscp7 dscp8
Step 2 Verify the configuration. show qos maps {config | runtime}
[cos-dscp-map | ipprec-dscp-map |
dscp-cos-map | policed-dscp-map]
Enter 8 internal DSCP values to which QoS maps received IP precedence values 0 through 7. This
example shows how to map received IP precedence values to internal DSCP values:
Console> (enable) set qos ipprec-dscp-map 20 30 1 43 63 12 13 8
QoS ipprec-dscp-map set successfully.
Console> (enable)
To revert to default IP precedence to DSCP value mapping, perform this task in privileged mode:
Task Command
Step 1 Revert to IP precedence value to DSCP value map clear qos ipprec-dscp-map
defaults.
Step 2 Verify the configuration. show qos maps {config | runtime}
[cos-dscp-map | ipprec-dscp-map |
dscp-cos-map | policed-dscp-map]
Task Command
Step 1 Map internal DSCP values to egress CoS values. set qos dscp-cos-map dscp_list:cos ...
Step 2 Verify the configuration. show qos maps {config | runtime}
[cos-dscp-map | ipprec-dscp-map |
dscp-cos-map | policed-dscp-map]
For more information, see the “Internal DSCP Values” section on page 41-15 and the “Ethernet Egress
Port Scheduling, Congestion Avoidance, and Marking” section on page 41-24.
Enter up to 64 internal DSCP value list/egress CoS value pairs. This example shows how to map internal
DSCP values to egress CoS values:
Console> (enable) set qos dscp-cos-map 20-25:7 33-38:3
QoS dscp-cos-map set successfully.
Console> (enable)
To revert to default CoS to DSCP value mapping, perform this task in privileged mode:
Task Command
Step 1 Revert to DSCP value/CoS value map defaults. clear qos dscp-cos-map
Step 2 Verify the configuration. show qos maps {config | runtime}
[cos-dscp-map | ipprec-dscp-map |
dscp-cos-map | policed-dscp-map]
Task Command
Step 1 Map DSCP values to markdown DSCP values. set qos policed-dscp-map
dscp_list:markdown_dscp ...
Step 2 With PFC2, map DSCP values to markdown set qos policed-dscp-map [normal | excess]
DSCP values. in_profile_dscp_list:policed_dscp ...
Step 3 Verify the configuration. show qos maps {config | runtime}
[cos-dscp-map | ipprec-dscp-map |
dscp-cos-map | policed-dscp-map]
For more information, see the “Policing Rules” section on page 41-22.
Enter up to 64 DSCP-value-list/DSCP-value pairs.
This example shows how to map DSCP markdown values:
Console> (enable) set qos policed-dscp-map 20-25:7 33-38:3
QoS dscp-dscp-map set successfully.
Console> (enable)
This example shows how to map DSCP markdown values for packets exceeding the excess rate:
Console> (enable) set qos policed-dscp-map 33:30
QoS normal-rate policed-dscp-map set successfully.
Console> (enable) set qos policed-dscp-map excess-rate 33:30
QoS excess-rate policed-dscp-map set successfully.
Console> (enable)
Note Configure marked-down DSCP values that map to CoS values consistent with the markdown penalty
(see the “Mapping Internal DSCP Values to Egress CoS Values” section on page 41-56).
To revert to default DSCP markdown value mapping, perform this task in privileged mode:
Task Command
Step 1 Revert to DSCP markdown map defaults. clear qos policed-dscp-map
[normal-rate | excess-rate]
Step 2 Verify the configuration. show qos maps {config | runtime}
[cos-dscp-map | ipprec-dscp-map |
dscp-cos-map | policed-dscp-map]
Note Without the normal-rate or the excess-rate keywords, the clear qos policed-dscp-map command
clears only the normal policed-dscp map.
Task Command
Display QoS information. show qos info [runtime | config]
This example shows how to display the QoS runtime information for port 2/1:
Console> show qos info config 2/1
QoS setting in NVRAM:
QoS is enabled
Port 2/1 has 2 transmit queue with 2 drop thresholds (2q2t).
Port 2/1 has 1 receive queue with 4 drop thresholds (1q4t).
Interface type:vlan-based
ACL attached:
The qos trust type is set to untrusted.
Default CoS = 0
Queue and Threshold Mapping:
Queue Threshold CoS
----- --------- ---------------
1 1 0 1
1 2 2 3
2 1 4 5
2 2 6 7
Rx drop thresholds:
Rx drop thresholds are disabled for untrusted ports.
Queue # Thresholds - percentage (abs values )
------- -------------------------------------
Task Command
Display QoS statistics. show qos statistics {mod[/port] | l3stats |
aggregate-policer [policer_name]}
This example shows how to display QoS statistics for port 2/1:
Console> (enable) show qos statistics 2/1
On Transmit:Port 2/1 has 2 Queue(s) 2 Threshold(s)
Q # Threshold #:Packets dropped
--- -----------------------------------------------
1 1:0 pkts, 2:0 pkts
2 1:0 pkts, 2:0 pkts
On Receive:Port 2/1 has 1 Queue(s) 4 Threshold(s)
Q # Threshold #:Packets dropped
--- -----------------------------------------------
1 1:0 pkts, 2:0 pkts, 3:0 pkts, 4:0 pkts
Task Command
Revert to QoS defaults. clear qos config
Disabling QoS
To disable QoS, perform this task in privileged mode:
Task Command
Disable QoS on the switch. set qos {enable | disable}
Note The commands in this section are not supported with a Layer 2 Switching Engine.
Note COPS can configure QoS only for IP traffic. Use the CLI or SNMP to configure QoS for all other
traffic.
Note Throughout this publication and all Catalyst 6000 family documents, the term “COPS” refers to
COPS support as implemented on the Catalyst 6000 family switches.
Port ASICs
Some COPS support features affect all ports controlled by a port ASIC. The following sections use the
term “per-ASIC” to identify features that configure all ports on the same port ASIC:
• The port ASICs on Gigabit Ethernet switching modules control up to 4 ports each: 1–4, 5–8, 9–12,
and 13–16.
• There is a port ASIC on 10-Mbps, 10/100-Mbps, and 100-Mbps Ethernet switching modules that
controls all ports.
• On 10-Mbps, 10/100-Mbps, and 100-Mbps Ethernet switching modules, there is another set of port
ASICs that control 12 ports each (1–12, 13–24, 25–36, and 37–48), but COPS cannot configure
them.
• Changes to an EtherChannel port apply to all ports in the EtherChannel and to all ports controlled
by the ASIC (or ASICs) that control the EtherChannel ports.
Task Command
Step 1 Select COPS as the QoS policy source. set qos policy-source {local | cops}
Step 2 Verify the QoS policy source. show qos policy-source
This example shows how to select COPS as the QoS policy source:
Console> (enable) set qos policy-source cops
QoS policy source for the switch set to COPS.
Console> (enable) show qos policy-source
QoS policy source for the switch set to COPS.
Console> (enable)
Selecting COPS as the QoS policy source switches the following values from locally configured values
to received COPS values:
• All DSCP maps
• Named and default ACL definitions
• Microflow and aggregate policing rules
• CoS to queue assignments
• Threshold configuration
• WRR weight and buffer configuration
• Default port CoS and ACL-to-interface attachments
Task Command
Step 1 Select locally configured QoS policy. set qos policy-source {local | cops}
Step 2 Verify the QoS policy source. show qos policy-source
Task Command
Step 1 Enable use of locally configured QoS policy on a set port qos policy-source {local | cops}
port.
Step 2 Verify the QoS policy source for the port. show port qos
This example shows how to enable use of locally configured QoS policy:
Console> (enable) set port qos 1/1 policy-source local
QoS policy source set to local on port(s) 1/1-2.
Console> (enable)
Task Command
Step 1 Assign roles to a port ASIC. set port cops {mod/port} roles role1 [role2] ...
Step 2 Verify the roles for the port. show port cops [mod[/port]]
This example shows how to assign two new roles to the ASIC controlling port 2/1:
Console> (enable) set port cops 2/1 roles mod2ports1-12 access
New role ‘mod2ports1-12’ created.
New role ‘access’ created.
Roles added for port 2/1-12.
Console> (enable)
Task Command
Step 1 Remove a role from a port ASIC. clear port cops {mod/port} {all-roles |
roles role1 [role2] ...}
Step 2 Verify the roles for the port. show port cops [mod[/port]]
Deleting Roles
To delete a role (which removes it from all ports), perform this task in privileged mode:
Task Command
Step 1 Delete a role. clear cops {all-roles | roles role1 [role2] ...}
Step 2 Verify the roles for the port. show port cops [mod[/port]]
Note COPS and RSVP can use the same policy decision point (PDP) server.
COPS obtains QoS policy from a PDP server. Configure a primary PDP server and, optionally, a backup
PDP server.
To configure a PDP server, perform this task in privileged mode:
Task Command
Step 1 Configure a PDP server. set cops server ip_address [port] [primary]
[diff-serv | rsvp]
Step 2 Verify the PDP server configuration. show cops info
Task Command
Step 1 Delete PDP server configuration. clear cops server {all | ip_address [diff-serv |
rsvp]}
Step 2 Verify the PDP server configuration. show cops info
Task Command
Step 1 Configure the COPS domain name. set cops domain-name domain_name
Step 2 Verify the COPS domain name. show cops info
Task Command
Step 1 Delete the COPS domain name. clear cops domain-name
Step 2 Verify the configuration. show cops info
Task Command
Step 1 Configure the parameters COPS uses to set cops retry-interval initial increment
communicate with the PDP server. maximum
Step 2 Verify the configuration. show cops info
Enter the parameters as a number of seconds in the range 0 to 65535. The value of the initial parameter
plus the value of the increment parameter must not exceed the value of the maximum parameter.
This example shows how to configure the parameters COPS uses to communicate with the PDP server:
Console> (enable) set cops retry-interval 15 1 30
Connection retry intervals set.
Console> (enable)
Note The commands in this section are not supported with a Layer 2 Switching Engine.
These sections describe configuring RSVP null service template and receiver proxy functionality
support:
• Enabling RSVP Support, page 41-66
• Disabling RSVP Support, page 41-67
• Enabling Participation in the DSBM Election, page 41-67
• Disabling Participation in the DSBM Election, page 41-67
• Configuring Policy Decision Point Servers, page 41-68
• Deleting PDP Server Configuration, page 41-68
• Configuring RSVP Policy Timeout, page 41-69
• Configuring RSVP Use of Local Policy, page 41-69
Note Throughout this publication and all Catalyst 6000 family switch documents, the term “RSVP” refers
to RSVP null service template and receiver proxy functionality support as implemented on the
Catalyst 6000 family switches.
Task Command
Step 1 Enable RSVP support on the switch. set qos rsvp {enable | disable}
Step 2 Verify the configuration. show qos rsvp info
Step 3 Display RSVP activity. show qos rsvp flow-info
Task Command
Step 1 Disable RSVP support on the switch. set qos rsvp {enable | disable}
Step 2 Verify the configuration. show qos rsvp info
Note The DSBM is not reelected when additional RSVP devices join the network. To control which device
is the DSBM, disable election participation in all devices except the one that you want elected as
DSBM. After the DSBM is elected, reenable election participation in other devices, as appropriate
for the network configuration.
To enable the participation of a port in the election of the DSBM, perform this task in privileged mode:
Task Command
Step 1 Enable the participation of a port in the election of set port rsvp {mod/port} dsbm-election
the DSBM. {disable | enable priority}
Step 2 Verify the configuration of the port. show port rsvp [mod[/port]
Task Command
Step 1 Disable the participation of a port in the election set port rsvp {mod/port} dsbm-election
of the DSBM. {disable | enable priority}
Step 2 Verify the configuration. show port rsvp show port rsvp [mod[/port]]
This example shows how to disable the participation of port 2/1 in the election of the DSBM:
Console> (enable) set port rsvp 2/1 dsbm-election disable
DSBM disabled for port 2/1.
Console> (enable)
Note COPS and RSVP can use the same PDP server.
When the switch is the DSBM, RSVP communicates with a PDP server. Configure a primary PDP server
and, optionally, a backup PDP server.
To configure a PDP server, perform this task in privileged mode:
Task Command
Step 1 Configure a PDP server. set cops server ip_address [port] [primary]
[diff-serv | rsvp]
Step 2 Verify the PDP server configuration. show cops info
Task Command
Step 1 Delete PDP server configuration. clear cops server {all | ip_address [diff-serv |
rsvp]}
Step 2 Verify the PDP server configuration. show cops info
Task Command
Step 1 Configure the RSVP policy timeout. set qos rsvp policy-timeout timeout
Step 2 Verify the configuration. show qos rsvp info
Enter the timeout parameter as a number of minutes in the range 0 to 65535 (default is 30).
This example shows how to configure the RSVP policy timeout:
Console> (enable) set qos rsvp policy-timeout 45
RSVP database policy timeout set to 45 minutes.
Console> (enable)
Task Command
Step 1 Configure how RSVP operates when there is no set qos rsvp local-policy {forward | reject}
communication with the PDP server.
Step 2 Verify the configuration. show qos rsvp info
The forward keyword sets the local policy to forward all new or modified RSVP path messages. The
reject keyword sets the local policy to reject all new or modified RSVP path messages. This example
shows how to change the default local RSVP policy setting to reject all new or modified RSVP path
messages:
Console> (enable) set qos rsvp local-policy reject
RSVP local policy set to reject.
Console> (enable)
Note The RSVP local policy is only used until the RSVP policy timeout expires after the connection to the
PDP is lost. After the RSVP policy timeout expires, the switch behaves as an SBM client. RSVP
messages pass through the switch unchanged regardless of the RSVP local policy setting. The RSVP
local policy setting is not used if the switch never establishes a connection to the PDP.
Task Command
Step 1 Enable QoS statistics data export. set qos statistics export enable | disable
Step 2 Verify the configuration. show qos statistics export info
This example shows how to enable QoS statistics data export globally and verify the configuration:
Console> (enable) set qos statistics export enable
Export is enabled.
Export destination:172.20.52.3 SYSLOG facility LOG_LOCAL6 (176), severity LOG_DE
BUG (7)
Aggregate policer export is not supported
Console> (enable) show qos statistics export info
Statistics export status and configuration information
------------------------------------------------------
Export status: enabled
Export time interval: 300
Export destination:172.20.52.3 SYSLOG facility LOG_LOCAL6 (176), severity LOG_DE
BUG (7)
Port Export
------ --------
1/1 disabled
1/2 disabled
3/1 disabled
3/2 disabled
5/1 disabled
5/2 disabled
5/3 disabled
5/4 disabled
<output truncated>
Console> (enable)
Task Command
Step 1 Enable QoS statistics data export per port. set qos statistics export port mod/port enable |
disable
Step 2 Verify the configuration. show qos statistics export info
Note You must enable QoS statistics data export globally in order for the per-port configuration to take
effect.
This example shows how to enable the QoS statistics data export feature per port and verify the
configuration:
Console> (enable) set qos statistics export port 5/1 enable
Port export enabled on 5/1.
Console> (enable) show qos statistics export info
Statistics export status and configuration information
------------------------------------------------------
Export status: enabled
Export time interval: 300
Export destination:172.20.52.3 SYSLOG facility LOG_LOCAL6 (176), severity LOG_DE
BUG (7)
Port Export
------ --------
1/1 disabled
1/2 disabled
3/1 disabled
3/2 disabled
5/1 enabled
5/2 disabled
<output truncated>
Console> (enable)
When enabled on a port, QoS statistics data export contains the following fields, separated by the
delimiter character:
• Export type ("1" for a port)
• Slot/port
• Number of ingress packets
• Number of ingress bytes
• Number of egress packets
• Number of egress bytes
• Time stamp
Task Command
Step 1 Enable QoS statistics data export per aggregate set qos statistics export enable | disable
policer.
Step 2 Verify the configuration. show qos statistics export info
Note You must enable QoS statistics data export globally in order for the per-aggregate policer
configuration to take effect.
This example shows how to enable QoS statistics data export for a specific aggregate policer and verify
the configuration:
Console> (enable) set qos statistics export aggregate ipagg_3 enable
Statistics data export enabled for aggregate policer ipagg_3
Console> (enable) show qos statistics export info
Statistics export status and configuration information
------------------------------------------------------
Export status: enabled
Export time interval: 300
Export destination:172.20.52.3 SYSLOG facility LOG_LOCAL6 (176), severity LOG_DE
BUG (7)
Port Export
------ --------
1/1 disabled
1/2 disabled
3/1 disabled
3/2 disabled
5/1 enabled
5/2 disabled
<output truncated>
When enabled for a named aggregate policer, QoS statistics data export contains the following fields,
separated by the delimiter character:
• Export type ("2" for an aggregate policer)
• Aggregate policer name
• Number of in-profile packets
• Number of packets that exceed the CIR
• Number of packets that exceed the PIR
• Time stamp
Task Command
Step 1 Set the time interval for the QoS statistics data set qos statistics export interval interval
export.
Step 2 Verify the configuration. show qos statistics export info
This example shows how to set the QoS statistics data export interval and verify the configuration:
Console> (enable) set qos statistics export interval 500
Time interval set to 500
Console> (enable) show qos statistics export info
Statistics export status and configuration information
------------------------------------------------------
Export status: enabled
Export time interval: 500
Export destination:172.20.52.3 SYSLOG facility LOG_LOCAL6 (176), severity LOG_DE
BUG (7)
Port Export
------ --------
1/1 disabled
1/2 disabled
3/1 disabled
3/2 disabled
5/1 enabled
5/2 disabled
<output truncated>
Configuring QoS Statistics Data Export Destination Host and UDP Port
To configure the QoS statistics data export destination host and UDP port number, perform this task in
privileged mode:
Task Command
Step 1 Configure the QoS statistics data export set qos statistics export destination {host_name
destination host and UDP port number. | ip_address} [syslog [facility | severity] port]
Step 2 Verify the configuration. show qos statistics export info
This example shows how to configure the QoS statistics data export destination host and UDP port
number and verify the configuration:
Console> (enable) set qos statistics export destination stargate 9996
Statistics data export destination set to stargate port 9996.
Console> (enable) show qos statistics export info
Statistics export status and configuration information
------------------------------------------------------
Export status: enabled
Task Command
Display the QoS statistics per-aggregate policer show qos statistics aggregate-policer
packet and byte rates. [policer_name]
This example shows how to display the QoS statistics per-aggregate policer packet and byte rates:
Console> show qos statistics aggregate-policer
QoS aggregate-policer statistics:
Aggregate Policer Packet Count Packets exceed Packets exceed
normal rate excess rate
-------------------------------- ------------ -------------- -----------------
test 1000 20 5
Console>
This chapter describes how to configure accelerated server load balancing (ASLB) on the Catalyst 6000
family switches.
Note For complete syntax and usage information for hte commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note The information and procedures in this chapter apply only to the Supervisor Engine 1 with Layer 3
switching engine (Policy Feature Card or PFC). ASLB is not supported on Supervisor Engine 2 with
Layer 3 Switching Engine II (PFC2).
Note 1000BASE-X interfaces are only supported on the LocalDirector 420 and 430. They are
not supported on the LocalDirector 410, 415, or 416.
Note The accelerated performance of the LocalDirector is achieved through the Catalyst 6000 family
Layer 3 switching technology.
Figure 42-1 shows a network using the ASLB feature. You must connect the LocalDirector to the switch
with two links; one link connects to the same VLAN that the router is on and the other link connects to
the VLAN that the servers are on. In Figure 42-1, one LocalDirector link is connected to VLAN 10, the
router VLAN; the other link is connected to VLAN 20, the server VLAN.
The LocalDirector supports directed mode and dispatched mode. Only the dispatched mode can be
supported for ASLB feature implementation on Catalyst 6000 family switches.
Server pool
S1
Catalyst 6500 S2
series switches
Clients S3
PK
PR PL
PA PB PM
VLAN 10
28062
VLAN 20 LocalDirector
Path 1
The first packet from the router has a destination MAC address of the LocalDirector and is on VLAN 10.
The MAC address has an Xtag value of 14 in the Layer 2 table. This value indicates that it requires a
Layer 3 lookup, and the SYN flag is set so the frame goes to port PA.
In addition to forwarding the frame to port PA, the switch hardware creates a “candidate” entry in the
Layer 3 forwarding table. This entry is updated later by an “enabler” frame to become a full ASLB
Multilayer Switching (MLS) entry.
Path 2
After receiving the frame from port PA, the LocalDirector makes its standard load-balancing decision and
forwards the frame to port PB. The LocalDirector changes the destination MAC address to that of the
appropriate server. When this frame enters the switch, it is considered an “enabler” frame. The switch
hardware does a lookup in the Layer 3 table and searches for the entry created by the previous candidate
packet (the packet forwarded through the LocalDirector). If the search was successful, a “hit” occurs in
the Layer 3 table.
Path 3—N
The ASLB MLS entry has been created and the next and subsequent frames from the router with a
destination MAC address of the LocalDirector MAC will be Layer 3 switched unless the packet has
SYN, FIN, or RST flags set or the packet is fragmented.
Path N + 1, N + 2...
On the last frame of a connection, either the FIN or RST flags will be set in the TCP header causing the
packet to go to the LocalDirector. The LocalDirector must then forward the frame back to the switch
after modifying the destination MAC address to be that of the appropriate server. This redirected frame
takes the same path as the first frame of the flow. The FIN packet is used by the LocalDirector as an
indication that the connection with the server has been terminated, and by the ASLB to purge the affected
ASLB MLS entry.
Server pool
S1
Catalyst 6500
series switches S2
Path 3 PK S3
Clients
PR PL
PA PB PM
Path 1
Path 2
VLAN 10
28063
VLAN 20 LocalDirector
MAC
Path Destination MAC Source IP Destination IP Source
Number VLAN Address Address Address Address Flags Action
1 10 LocalDirector Router MAC VIP2 CIP3 SYN Candidate entry in
MAC1 Layer 3 table
2 20 Server MAC4 Router MAC1 VIP CIP - Enabler frame
3—N 10 LocalDirector Router MAC VIP CIP - Full ASLB MLS
MAC1 entry created
N+1 10 LocalDirector Router MAC VIP CIP FIN/RST Path 1 redirect
MAC1
N + 2... 20 Server MAC Router MAC1 VIP CIP FIN/RST Path 2
1. This MAC address has an Xtag value of 14 in the Layer 2 table for this packet’s VLAN.
2. VIP = virtual-IP address.
3. CIP = client’s IP address.
4. MAC address of the server that the LocalDirector selected.
Server pool
S1
Catalyst 6500
series switches S2
Path 3 PK S3
Clients
PR PL
PA PB PM
Path 2
Path 1
VLAN 10
28064
VLAN 20 LocalDirector
MAC
Path Destination MAC Source IP Destination IP Source
Number VLAN Address Address Address Address Flags Action
1 2 3 4
1 20 Router MAC Server MAC CIP VIP SYN Candidate entry in
Layer 3 table
2 10 Router MAC LocalDirector CIP VIP - Enabler packet
MAC1
3—N 20 Router MAC1 Server MAC CIP VIP - Full ASLB MLS
entry created
N+1 20 Router MAC1 Server MAC CIP VIP FIN/RST Path 1 redirect
N +2... 10 Router MAC LocalDirector CIP VIP FIN/RST Path 2
MAC1
1. This MAC address has an Xtag value of 14 in the Layer 2 table for this packet’s VLAN.
2. MAC address of the server that the LocalDirector selected.
3. CIP = client’s IP address.
4. VIP = virtual-IP address.
Cabling Guidelines
Follow these cabling guidelines for your ASLB configuration:
• Check your connections to the servers attached to the switch. The servers must be either directly
attached to the switch or within the same bridging domain as the LocalDirector port in the server
VLAN.
• Use two Category 5 unshielded twisted-pair cables to connect two 10/100 or two 1000BASE-X
switch ports to two comparable LocalDirector interfaces.
Caution Connect the LocalDirector directly to the Catalyst 6000 family switch.
See the “Configuring the LocalDirector Interfaces” section on page 42-7 to configure the LocalDirector
interfaces. See the “Configuring ASLB from the CLI” section on page 42-11 to configure the switch.
Configuring ASLB
This section lists the tasks necessary to configure ASLB:
• Configuring the LocalDirector Interfaces, page 42-7
• ASLB Configuration Guidelines, page 42-8
To implement these tasks, follow the guidelines and use the detailed configuration procedures in the
sections that follow.
Routers
Follow these router configuration guidelines:
• The router must be the default gateway for the servers being load balanced and its MAC address
must be known.
• Multiple routers must be on the same router VLAN. Specify all the participating router MAC
addresses using the set lda mac router command.
• When ASLB is configured, a VACL is created to redirect TCP traffic on the two VLANs that the
LocalDirector is connected to; no security IOS ACLs or VACLs can be configured on these VLANs.
Servers
Follow these server configuration guidelines:
• The servers must be either directly attached to the switch or within the same bridging domain as the
LocalDirector port in the server VLAN.
• Configure the servers to ignore ARP requests for the virtual-IP address.
• Configure the server default route as the aliased address of the router that is on the same subnet as
the real IP address of the server.
Caution To accelerate traffic in the client to server direction, you must configure the servers to ignore ARP
requests for the virtual-IP address. If you fail to do this step, traffic acceleration will not start, and
fully redundant topologies in your network will take a long time to recover from a LocalDirector
failure.
• On some server operating systems you cannot disable responses to ARP requests on alias
(secondary) IP addresses. Use static ARP entries at the routers as a workaround for the servers that
respond to ARP requests for the virtual-IP address.
IP Addresses
Follow these IP address configuration guidelines:
Note You can specify an IP address for the virtual-IP address other than server IP network addresses.
• Ensure that the LocalDirectors and servers are on the same subnet to allow the LocalDirector to ARP
the real IP address of each server.
• Ensure that the routers are on the same subnet as the virtual-IP address to allow the router to ARP
the virtual-IP address.
Configure the network for ASLB is as follows (the virtual-IP address in this example is 171.1.1.200):
If the servers in your ASLB configuration need to follow RFC 1918 for privacy, use the following as a
guideline (the virtual-IP address in this example is 171.1.1.200):
Supervisor Engine
Follow these supervisor engine configuration guidelines:
• Up to 32 router MAC addresses are supported.
• Up to 1024 virtual-IP/TCP port pairs are supported.
Note Traffic is Layer 3 switched when an MSFC routes traffic from clients. This process
creates MLS entries that exist separately from the ASLB MLS entries for the same
traffic.
• The aging task that removes terminated ASLB flows also purges MLS terminated flows. ASLB MLS
entries share the Layer 3 MLS cache with the MLS shortcut entries.
The MLS commands (set mls, clear mls, and show mls) do not interoperate with ASLB (set lda,
clear lda, show lda, and commit lda) commands. ASLB uses separate commands to view the
LocalDirector MLS entries.
• When you enable ASLB, ASLB MLS entries are established using one flow mask, full-flow mode
(ip-flow).
VLANs
Follow these VLAN configuration guidelines:
• When you configure ASLB, a VACL is created to redirect TCP traffic on the two VLANs to which
the LocalDirector is connected (router VLAN and server VLAN). You cannot configure any security
IOS access control lists (ACLs) or VLAN access control lists (VACLs) on these VLANs.
• Dedicate the router VLAN and server VLAN for ASLB use only. Do not connect other network
devices (such as end stations and clients) to these two VLANs.
• The VLANs created for ASLB propagate to other switches through VLAN Trunking Protocol (VTP)
when VTP is in the server mode. Spanning Tree Protocol runs over these ASLB VLANs on all VTP
switches in the network, introducing additional overhead over the entire network. To avoid spanning
tree propagation delays, do the following:
– Configure the switch as VTP transparent so it does not populate the VLANs.
– Remove the ASLB VLANs from all trunks on all switches (enter the clear trunk command).
Step 1 Enter the set vlan vlan_num mod_ports command to add the switch ports to the correct VLANs (router
VLAN and server VLAN).
Step 2 Note that the port speed and duplex type for the switch ports should not need setting as all 10/100 switch
ports are set to autonegotiate as the default. If you have a problem with autonegotiation, configure the
port speed and duplex type as follows:
Enter the set port speed mod/port {10 | 100 | auto} command to set the port speed.
Enter the set port duplex mod/port {full | half | auto} command to set the type of duplex.
Note ASLB is disabled by default. When ASLB is disabled, you cannot enter the set lda commands to
perform configuration tasks; to enter the set lda commands, you must enable ASLB.
Task Command
Enable or disable ASLB. set lda enable | disable
Note You can specify up to 1024 virtual-IP addresses and TCP port pairs for acceleration by the
Catalyst 6000 family switch. Newly specified pairs do not replace previously specified pairs. To
cancel a previously entered pair, enter the clear lda vip command.
Note You can use a zero (0) as a wildcard (don’t care) digit for the destination_tcp_port.
To specify server virtual-IP addresses and TCP ports for acceleration, perform this task in privileged
mode:
Task Command
Specify server virtual-IP addresses and TCP set lda vip {server_virtual_ip}
ports for acceleration. {destination_tcp_port} [{server_virtual_ip}
{destination_tcp_port}...]
This example shows how to specify a server virtual-IP address and TCP port for acceleration:
Console> (enable) set lda vip 10.0.0.8 8
Successfully set server virtual ip and port information.
Use commit lda command to save settings to hardware.
Console> (enable)
To specify MAC addresses for participating routers, perform this task in privileged mode:
Task Command
Specify MAC addresses for participating routers. set lda mac router {mac-address}...
This example shows how to specify MAC addresses for participating routers:
Console> (enable) set lda mac router 00-23-45-67-ee-7f
Successfully set mac address.
Use commit lda command to save settings to hardware.
Console> (enable)
Task Command
Specify a MAC address for the LocalDirector. set lda mac ld {ld_mac-address}
This example shows how to specify a MAC address for the LocalDirector:
Console> (enable) set lda mac ld 00-11-22-33-55-66
Successfully set mac address.
Use commit lda command to save settings to hardware.
Console> (enable)
Specifying the Router VLAN and the LocalDirector Port on the VLAN
Note After entering the set lda router command, if you change the switch port(s) that the LocalDirector
is connected to, you must enter the set lda router command again to specify the new configuration.
Note Specifying a backup LocalDirector port is optional unless you are setting up a failover configuration
of LocalDirectors. If you are setting up a failover configuration, you must specify the ports for the
backup LocalDirector. If this is not done, failover will not work because the supervisor engine will
not send any traffic to the intended backup LocalDirector.
To specify the VLAN the router is on and the LocalDirector port on the VLAN, perform this task in
privileged mode:
Task Command
Specify the router VLAN and the set lda router {router_vlan} {ld_mod/port}
LocalDirector port on the VLAN. [backup_ld_mod/port]
This example shows how to specify the router VLAN and the LocalDirector port on the VLAN:
Console> (enable) set lda router 110 4/26
Successfully set router vlan and LD port.
Use commit lda command to save settings to hardware.
Console> (enable)
Specifying the Server VLAN and the LocalDirector Port on the VLAN
Note After entering the set lda server command, if you change the switch port(s) that the LocalDirector
is connected to, you must enter the set lda server command again to specify the new configuration.
Note Specifying a backup LocalDirector port is optional unless you are setting up a failover configuration
of LocalDirectors. If you are setting up a failover configuration, you must specify the ports for the
backup LocalDirector. If this is not done, failover will not work because the supervisor engine will
not send any traffic to the intended backup LocalDirector.
To specify the VLAN the server is on and the LocalDirector port on the VLAN, perform this task in
privileged mode:
Task Command
Specify the server VLAN and the set lda server {server_vlan} {ld_mod/port}
LocalDirector port on the VLAN. [backup_ld_mod/port]
This example shows how to specify the server VLAN and the LocalDirector port on the VLAN:
Console> (enable) set lda server 105 4/40
Successfully set server vlan and LD port.
Use commit lda command to save settings to hardware.
Console> (enable)
Task Command
Configure UDP aging. set lda udpage time_in_ms
You can set aging from 1 to 2024000 milliseconds (ms). Enter a value of zero to disable UDP aging.
This example shows how to configure UDP aging to 500 ms:
Console> (enable) set lda udpage 500
Successfully set LDA UDP aging time to 500ms.
Console> (enable)
Note ASLB configuration settings are temporarily stored in an edit buffer. The settings are saved in
NVRAM, but for the settings to take effect, you must enter the commit lda command. This command
verifies your configuration settings and if the information is entered correctly and passes a
consistency check, the settings are programmed into hardware. Once the ASLB configuration is
successfully committed, the mapping is saved in NVRAM and restored at system bootup.
To commit your ASLB configuration settings, perform this task in privileged mode:
Task Command
Commit your ASLB configuration commit lda
settings.
Note Entering show lda without a keyword (committed | uncommitted) displays committed
configuration settings.
To display committed or uncommitted ASLB configuration settings, perform this task in privileged
mode:
Task Command
Display committed or uncommitted show lda [committed | uncommitted]
ASLB configuration settings.
Virtual IP addresses:
Local Director Flow:10.0.0.8/ (TCP port 8)
Router MAC:
00-23-45-67-ee-7f
LD MAC:00-11-22-33-55-66
LD Router Side:
---------------
Router and LD are on VLAN 110
LD is connected to switch port 4/26 on VLAN 110
LD Server Side:
---------------
Server(s) and LD are on VLAN 105
LD is connected to switch port 4/40 on VLAN 105
Console> (enable)
If the configuration is then modified and the changes are not committed, entering the show lda command
again gives an indication that the configuration has been modified since the last commit but the new
modifications are not shown, only the committed modifications are displayed. To view the new
modifications, enter the show lda uncommitted command.
Note The short | long options give the flexibility to display the output in regular (80 characters in width)
or wide-screen format.
To display the ASLB MLS entries, perform this task in privileged mode:
Task Command
Display ASLB MLS entries. show lda mls entry
show lda mls entry [destination ip_addr_spec] [source
ip_addr_spec] [protocol protocol] [src-port port] [dst-port
port] [short | long]
This example shows how to display all ASLB MLS entries in short format:
Console> (enable) show lda mls entry short
Destination-IP Source-IP Prot DstPrt SrcPrt Destination-Mac Vlan
--------------- --------------- ----- ------ ------ ----------------- ----
EDst ESrc DPort SPort Stat-Pkts Stat-Bytes Uptime Age
---- ---- ------ ------ ---------- ----------- -------- --------
10.0.0.8 172.20.20.10 TCP 8 64 00-33-66-99-22-44 105
ARPA ARPA - 4/25 0 0 00:00:02 00:00:05
This example shows how to display ASLB information for the source IP address in short format:
Console> (enable) show lda mls entry source 172.20.20.11 short
Destination-IP Source-IP Prot DstPrt SrcPrt Destination-Mac Vlan
--------------- --------------- ----- ------ ------ ----------------- ----
EDst ESrc DPort SPort Stat-Pkts Stat-Bytes Uptime Age
---- ---- ------ ------ ---------- ----------- -------- --------
10.0.0.8 172.20.20.11 TCP 8 64 00-33-66-99-22-44 105
ARPA ARPA - 4/25 0 0 00:00:05 00:00:08
Console> (enable)
Task Command
Display ASLB MLS entry statistics. show lda mls statistics entry
show lda mls statistics count
show lda mls statistics entry [destination ip_addr_spec]
[source ip_addr_spec] [protocol protocol]
[src-port port] [dst-port port]
This example shows how to display all ASLB MLS entry statistics:
Console> (enable) show lda mls statistics entry
Last Used
Destination IP Source IP Prot DstPrt SrcPrt Stat-Pkts Stat-Bytes
--------------- --------------- ---- ------ ------ ---------- ---------------
10.0.0.8 172.20.20.10 TCP WWW 64 636 29256
10.0.0.8 172.20.22.10 TCP WWW 64 0 0
Console> (enable)
This example shows how to display the number of ASLB active MLS entries:
Console> (enable) show lda mls statistics count
LDA active shortcuts: 20
Console> (enable)
This example shows how to display the statistics for a specific destination IP address:
Console> (enable) show lda mls statistics entry destination 172.20.22.14
Last Used Last Used
Destination IP Source IP Prot DstPrt SrcPrt Stat-Pkts Stat-Bytes
--------------- --------------- ---- ------ ------ ---------- ---------------
172.20.22.14 172.20.25.10 6 50648 80 3152 347854
Console> (enable)
Caution If you do not enter any keywords with the clear lda command, the entire ASLB configuration is
removed from the hardware and NVRAM along with the MLS entries. If you do not enter any
keywords with the clear lda mls command, all MLS entries are cleared.
To clear ASLB entries or router MAC addresses, perform this task in privileged mode:
Task Command
Clear ASLB configuration settings. clear lda mls
clear lda mls [destination ip_addr_spec] [source
ip_addr_spec] [protocol protocol src-port src_port
dst-port dst_port]
clear lda vip {all | vip | vip tcp_port}
clear lda mac {all | router_mac_address}
This example shows how to clear the MLS entry at a specific destination address:
Console> (enable) clear lda mls destination 172.20.26.22
MLS IP entry cleared.
Console> (enable)
This example shows how to delete a virtual-IP address and port pair (10.0.0.8, port 8):
Console> (enable) clear lda vip 10.0.0.8 8
Successfully deleted vip/port pairs.
Console> (enable)
This example shows how to clear all ASLB router MAC addresses:
Console> (enable) clear lda mac all
Successfully cleared Router MAC address.
Console> (enable)
This example shows how to clear a specific ASLB router MAC address:
Console> (enable) clear lda mac 1-2-3-4-5-6
Successfully cleared Router MAC address.
Console> (enable)
Server pool
S1
Catalyst 6500
series switches
Clients
5/n S2
5/6 5/n
5/7 5/5 5/n
S3
VLAN 7
VLAN 5 LocalDirector
S
28229
Virtual IP addresses:
Router MAC:
00-d0-bc-e9-fb-47
LD MAC: 00-e0-b6-00-4b-04
LD Router Side:
---------------
Router and LD are on VLAN 7
LD is connected to switch port 5/7 on VLAN 7
LD Server Side:
---------------
Server(s) and LD are on VLAN 5
LD is connected to switch port 5/5 on VLAN 5
Console (enable)
Caution Router 1 and router 2 are running Hot Standby Routing Protocol (HSRP) on both interfaces, f1 and
f2 in Figure 42-5. Interface f1 must be active on the same router where f2 is active; otherwise, traffic
will reach interface f1 on one router and will not be forwarded to interface f2 which is active on the
other router. Use the HSRP track command to track the opposite side interface of each router.
LocalDirector 1
VLAN 9 VLAN 5
VLAN 5 & 9
(ISL trunk)
VLAN 9 VLAN 5
33440
LocalDirector
LocalDirector 2 failover cable
IP Addresses
The IP addresses are as follows:
• Router 1, f1 IP address: 7.0.0.100 (network 7)
• Router 2, f1 IP address: 7.0.0.101 (network 7)
• HSRP IP address: 7.0.0.1 for network 7
• Router 1, f2 IP address: 5.0.0.100 (network 5)
• Router 2, f2 IP address: 5.0.0.101 (network 5)
• HSRP IP address: 5.0.0.2 for network 5
• LocalDirector IP address: 5.0.0.1
• Server IP address: 5.100.100.100
• VIP address for servers: 13.13.13.13
MAC Addresses
The MAC addresses are as follows:
• HSRP MAC address for network 7: 00-00-0c-07-ac-00
• HSRP MAC address for network 5: 00-00-0c-07-ac-01
• Router 1, f2 MAC address: 00-d0-79-7b-20-88
• Router 2, f2 MAC address: 00-d0-79-7b-18-88
• LocalDirector MAC address: 00-e0-b6-00-47-ec
Router 1 Configuration
The router 1 configuration is as follows:
interface FastEthernet1
ip address 7.0.0.100 255.0.0.0
no ip redirects
no ip directed-broadcast
no ip route-cache distributed
load-interval 30
no keepalive
full-duplex
standby 1 ip 7.0.0.1
standby 1 track FastEthernet2
!
interface FastEthernet2
ip address 5.0.0.100 255.0.0.0
no ip redirects
no ip directed-broadcast
no ip route-cache distributed
no keepalive
full-duplex
standby priority 250
standby 2 ip 5.0.0.2
standby 2 track FastEthernet1
!
ip route 13.13.13.13 255.255.255.255 5.0.0.1
Router 2 Configuration
The router 2 configuration is as follows:
interface FastEthernet1
ip address 7.0.0.101 255.0.0.0
no ip redirects
no ip directed-broadcast
no ip route-cache distributed
load-interval 30
no keepalive
full-duplex
standby 1 ip 7.0.0.1
standby 1 track FastEthernet2
!
interface FastEthernet2
ip address 5.0.0.101 255.0.0.0
no ip redirects
no ip directed-broadcast
no ip route-cache distributed
no keepalive
full-duplex
standby priority 250
standby 2 ip 5.0.0.2
standby 2 track FastEthernet1
!
ip route 13.13.13.13 255.255.255.255 5.0.0.1
LocalDirector Configuration
The LocalDirector 1 and LocalDirector 2 configuration is as follows (the configuration is the same for
both LocalDirectors):
no shutdown ethernet 0
no shutdown ethernet 4
interface ethernet 0 100full
interface ethernet 4 100full
ip address 5.0.0.1 255.0.0.0
failover ip address 5.0.0.5
virtual 13.13.13.13:80:0:tcp is
virtual 13.13.13.13:23:0:tcp is
predictor 13.13.13.13:80:0:tcp roundrobin
predictor 13.13.13.13:23:0:tcp roundrobin
This chapter describes how to configure the Switch Fabric Module (WS-C6500-SFM) and Switch Fabric
Module 2 (WS-X6500-SFM 2) for the Catalyst 6500 series switches.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
Note The WS-C6500-SFM is supported in the Catalyst 6500 6-and 9-slot chassis only. The
WS-X6500-SFM 2 is supported in the Catalyst 6500 6-slot, 9-slot, 13-slot, and 6509-NEB chassis.
The Switch Fabric Module creates a dedicated connection between fabric-enabled modules and provides
uninterrupted transmission of frames between these modules. The Switch Fabric Module also provides
fabric-enabled modules with a direct connection to the Catalyst 6500 32-Gbps forwarding bus.
You can use the set system crossbar-fallback bus-mode | none command to specify how packets are
handled if the Switch Fabric Module is removed or fails. If you specify bus-mode, the switching is done in
flow-through mode. If you specify none, the switch ports are disabled and switching stops.
The Switch Fabric Module does not have a console. A two-line LCD display on the front panel shows
fabric utilization, software revision, and basic system information.
Install the WS-C6500-SFM in either slot 5 or 6 in the 6-slot and 9-slot Catalyst 6500 series switches.
Install the WS-X6500-SFM 2 in slots 7 or 8 in the 13-slot Catalyst 6500 switches. The Switch Fabric
Module first installed functions as the primary module. For redundancy, you can install a standby Switch
Fabric Module.
When you install two Switch Fabric Modules at the same time in a 6- or 9-slot chassis, the primary
module is in slot 5 and the backup is in slot 6. If you reset the module in slot 5, the module in slot 6
becomes active.
When you install two Switch Fabric Modules at the same time in a 13-slot chassis, the primary module
is in slot 7 and the backup is in slot 8. If you reset the module in slot 7, the module in slot 8 becomes
active.
When you install a Switch Fabric Module in a Catalyst 6500 series switch, the traffic is forwarded to
and from modules in one of these modes:
• Flow-through mode—Data passes between the local bus and the supervisor engine bus. This mode
is used for traffic to or from nonfabric-enabled modules.
• Truncated mode—If there are at least two fabric-enabled modules installed in a system with both
fabric-enabled and nonfabric-enabled modules, traffic between the fabric-enabled modules is
forwarded in truncated mode. In this mode, only the truncated data (the first 64 bytes of the frame)
is sent over the switch fabric channel if both the destination and the source are fabric-enabled
modules. If either the source or destination is a nonfabric-enabled module, the data goes through the
switch fabric channel and the data bus. The Switch Fabric Module does not get involved when traffic
is forwarded between nonfabric-enabled modules.
• Compact mode—A compact version of the DBus header is forwarded over the switch fabric channel,
delivering the best possible switching rate. Nonfabric-enabled modules do not support the compact
mode and generate cyclic redundancy check (CRC) errors if they receive frames in compact mode. This
mode is used only when no nonfabric-enabled modules are installed in the chassis.
Table 43-1 shows the switch modes used with fabric-enabled and nonfabric-enabled modules installed.
Task Command
Configure a fallback option for the Switch Fabric set system crossbar-fallback {bus-mode | none}
Module.
To configure the switch to use flow-through mode if you have non-fabric enabled modules installed,
perform this task:
Task Command
Configure the switch to use flow-through mode. set system switchmode allow bus-only
This example shows how to configure the switch to use flow-through mode:
Console> (enable) set system switchmode allow bus-only
Console> (enable)
To configure the switch to use compact mode if you have only fabric-enabled modules installed, perform
this task:
Task Command
Configure the switch to use compact mode. set system switchmode allow truncated
This example shows how to configure the switch to use compact mode:
Console> (enable) set system switchmode allow truncated
Console> (enable)
Note Enter all show commands supported by the Switch Fabric Module from the supervisor engine.
Task Command
Display the module information. show module mod
Mod MAC-Address(es) Hw Fw Sw
--- -------------------------------------- ------ ---------- -----------------
1 00-40-0b-ff-00-00 to 00-40-0b-ff-00-01 0.219 6.1(0.146) 6.2(0.33-Eng)KEY
00-50-3e-7e-71-56 to 00-50-3e-7e-71-57
00-01-64-f8-ca-00 to 00-01-64-f8-cd-ff
4 00-10-7b-c2-3a-c0 to 00-10-7b-c2-3a-d7 0.204 4.2(0.24)V 6.2(0.14)KEY
5 00-40-0b-ff-00-00 0.204 6.1(0.133) 6.2(0.14)KEY
Task Command
Display the fabric channel counters. show fabric channel counters module
Task Command
Display the fabric channel switching mode and show fabric channel switchmode
channel status.
This example shows how to display the fabric channel switching mode and channel status:
Console> (enable) show fabric channel switchmode
Global switching mode:truncated
Module Num Fab Chan Fab Chan Switch Mode Channel Status
------ ------------ -------- ------------ --------------
1 1 0, 0 flow through ok
In the show fabric channel switchmode command output, the Switch Mode field displays one of the
following modes:
• Flow-through mode
• Truncated mode
• Compact mode
Note See the “Understanding How the Switch Fabric Module Works” section on page 43-1 for definitions
for the different modes.
Task Command
Display the fabric channel utilization. show fabric channel utilization
14 0% 0%
15 0% 0%
16 0% 0%
17 0% 0%
Displaying the Backplane Traffic and Fabric Channel Input and Output
To display the backplane traffic and fabric channel input and output, perform either of these tasks:
Task Command
Display system status including the backplane show system
traffic and fabric channel input and output.
Display the backplane traffic and fabric channel show traffic
input and output.
This example shows how to display the system status including backplane traffic and fabric channel
input and output:
Console> (enable) show system
PS1-Status PS2-Status
---------- ----------
ok none
PS1-Type PS2-Type
------------ ------------
WS-CAC-1000W none
13 0% 0%
14 0% 0%
15 0% 0%
16 0% 0%
17 0% 0%
Console> (enable)
This example shows how to display backplane traffic and fabric channel input and output:
Console> (enable) show traffic
Threshold:100%
Backplane-Traffic Peak Peak-Time
----------------- ---- -------------------------
0% 0% Thu Jul 27 2000, 14:03:27
Task Command
Display the switching mode configuration. show system switchmode
• Multilayer Switch Feature Card (MSFC) version on active and standby supervisor engine
• System contact
After the LCD banner content is modified, this information is sent to the Switch Fabric Modules installed
in the chassis and displayed in the LCDs.
To modify the LCD banner content, perform this task in privileged mode:
Task Command
Step 1 Modify the LCD banner content. set banner lcd c [text] c
Step 2 Verify the LCD bannder change. show banner
This example shows how to modify the LCD banner for the Switch Fabric Module:
Console> (enable) set banner lcd &HelloWorld!&
LCD banner set
Console> (enable) show banner
MOTD banner:
LCD config:
Hello
World!
This chapter describes how to configure a Voice-over-IP (VoIP) network on the Catalyst 6000 family
switches.
Note While this chapter introduces a number of Cisco networking products related to VoIP, the primary
focus of the chapter is to provide configuration information for integrating Catalyst 6000 family
products into your VoIP network.
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Catalyst 6000 Family Command Reference publication.
10/100BASE-TX Module
Analog stations IP phone PC
(WS-X6348-RJ45V)
(phone, fax, modem)
Figure 44-2 Connecting the Cisco IP Phone 7960 to the Catalyst 6000 Family Switch
Example 2—Single PC
Example 2 shows one PC connected to the 10/100 port on the Catalyst 6000 family switch. The PC is
wall-powered.
Note For information on configuring Cisco IP phones and third-party vendor phones, refer to the
documentation that shipped with the phone.
Cisco CallManager
Cisco CallManager is an open and industry-standard call processing system; its software runs on a
Windows NT server and sets up and tears down calls between phones, integrating traditional PBX
functionality with the corporate IP network. Cisco CallManager manages the components of the IP PBX
system, the phones, access gateways, and the resources necessary for such features as call conferencing
and media mixing. Each Cisco CallManager manages the devices within its zone and exchanges
information with the Cisco CallManager in charge of another zone to make calls possible across multiple
zones. Additionally, Cisco CallManager can work with existing PBX systems to route a call over the
Public Switched Telephone Network (PSTN).
Note For information on configuring Cisco CallManager to work with the IP devices described in this
chapter, refer to the Cisco CallManager Administration Guide, Release 3.0, the Configuration Notes
for Cisco CallManager Release 3.0, and the Cisco CallManager v3.0 Remote Serviceability Users
Guide publications.
Access Gateways
Access gateways allow the IP PBX system to talk to existing PSTN or PBX systems. Access gateways
consist of analog station gateways, analog trunk gateways, digital trunk gateways, and a converged voice
gateway.
These sections describe the gateways:
• Analog Station Gateway, page 44-4
• Analog Trunk Gateway, page 44-5
• Digital Trunk Gateway, page 44-6
• Converged Voice Gateway, page 44-7
The 24-port FXS analog interface module features are listed in Table 44-1.
To configure the analog station interfaces, see the “Configuring VoIP on a Switch” section on page 44-9.
Note For more information about VLANs, see Chapter 11, “Configuring VLANs.”
Figure 44-3 shows how a Cisco IP Phone 7960 can be connected to a Catalyst 6000 family switch.
When the IP phone connects to a 10/100 port on the Catalyst 6000 family switch, the access port
(PC-to-phone jack) of the IP phone can be used to connect a PC.
Packets to and from the PC and to and from the phone share the same physical link to the switch and the
same port of the switch. Various configurations of connecting the phone and the PC are possible (see the
“Cisco IP Phone 7960” section on page 44-2).
Introducing IP-based phones into existing switch-based networks raises the following issues:
• The current VLANs might be configured on an IP subnet basis and additional IP addresses might
not be available to assign the phone to a port so that it belongs to the same subnet as other devices
(PC) connected to the same port.
• Data traffic present on the VLAN supporting phones might reduce the quality of VoIP traffic.
You can resolve these issues by isolating the voice traffic onto a separate VLAN on each of the ports
connected to a phone. The switch port configured for connecting a phone would have separate VLANs
configured for carrying the following:
• Voice traffic to and from the IP phone (auxiliary VLAN)
• Data traffic to and from the PC connected to the switch through the access port of the IP phone
(native VLAN)
Isolating the phones on a separate, auxiliary VLAN increases the quality of the voice traffic and allows
a large number of phones to be added to an existing network where there are not enough IP addresses.
A new VLAN means a new subnet and a new set of IP addresses.
Note You must enable Cisco Discovery Protocol (CDP) on the Catalyst 6000 family switch port connected
to the IP phone in order to communicate information such as auxiliary VLAN ID, per-port power
management details, and quality of service (QoS) configuration information.
Table 44-3 Voice-Related CLI Command Module and Platform Support (continued)
Note To determine the exact power requirements for your configuration to ensure that you are within the
system power budget, see the “Determining System Power Requirements” section on page 20-14.
Note This section applies to the WS-X6348-RJ45V 10/100BASE-TX Ethernet switching module only. For
information on powering IP phones connected to other Catalyst 10/100BASE-TX switching
modules, refer to the Catalyst Family Inline-Power Patch Panel Installation Note publication.
For each IP phone connected to the WS-X6348-RJ45V module, the supervisor engine software allocates
part of the available system power to power up and run the phone. The power can be applied on an
individual port basis.
Only one IP phone can be powered per port; the phone must be connected directly to the switch port. If
a second phone is daisy chained off the phone connected to the switch port, the second phone cannot be
powered by the switch.
Task Command
Display module status and information. show module [mod]
This example shows that there is a submodule field that provides information about submodules. The
EARL daughter card is treated as a submodule while the Multilayer Switch Feature Card (MSFC)
internal router is not treated as a submodule. The model number for the voice daughter card, as shown
in the display, is WS-F6K-VPWR.
Console> (enable) show module
Mod Slot Ports Module-Type Model Sub Status
--- ---- ----- ------------------------- ------------------- -----------
1 1 2 1000BaseX Supervisor WS-X6K-SUP1A-2GE yes ok
15 1 1 Multilayer Switch Feature WS-F6K-MSFC no ok
8 8 48 10/100BaseTX Ethernet WS-X6348-RJ-45 no ok
9 9 48 10/100BaseTX Ethernet WS-X6348-RJ-45 yes ok
Mod MAC-Address(es) Hw Fw Sw
--- -------------------------------------- ------ ------------------------
1 00-30-80-f7-a5-06 to 00-30-80-f7-a5-07 1.0 5.2(1) 6.2(0.32-Eng)FTL
00-30-80-f7-a5-04 to 00-30-80-f7-a5-05
00-30-a3-4a-a0-00 to 00-30-a3-4a-a3-ff
15 00-d0-bc-ee-d0-dc to 00-d0-bc-ee-d1-1b 1.2 12.0(3)XE1 12.0(3)XE1
8 00-d0-c0-c8-83-ac to 00-d0-c0-c8-83-db 1.1 4.2(0.24)V6.1(0.37)FTL
9 00-50-3e-7c-43-00 to 00-50-3e-7c-43-2f 0.201 5.3(1)
To display the version of modules and submodules, perform this task in normal mode:
Task Command
Display the version of modules and submodules. show version [mod]
These sections provide information related to IP phone power requirements and management:
• Unpowered Phone, page 44-13
• Power Requirements, page 44-13
• Wall-Powered Phones, page 44-13
• Powering Off the Phone, page 44-14
• Phone Removal, page 44-14
• High-Availability Support, page 44-14
Unpowered Phone
When an unpowered phone is discovered on a switching module port, the switching module reports to
the supervisor engine that an unpowered phone is present and on which module/port. If the port is
configured in Auto mode, the supervisor engine determines if there is enough available system power
to allow the switching module to power up and run the phone. If there is sufficient power, the supervisor
engine removes the default allocated power required by a phone from the total available system power
and then sends a message to the switching module instructing it to provide power to the port. If there is
not enough available power for the phone, the supervisor engine sends a message to the switching
module indicating that power is denied to the port.
After power is applied to the port, the supervisor engine monitors the port to ensure that the link comes
up. If the link does not come up within 4 seconds, the supervisor engine instructs the switching module
to turn power off. The entire cycle is repeated, and the switching module performs discovery and reports
to the supervisor engine if a device is present on the port.
Power Requirements
IP Phones may have different power requirements. The supervisor engine initially allocates the
configured default of 7W (167 mA at 42V) to the Cisco IP Phone. When the correct amount of power is
determined from the CDP messaging with the Cisco IP Phone, the supervisor engine reduces or increases
the allocated power.
For example, the default allocated power is 7W. A Cisco IP Phone requiring 6.3W is plugged into a port.
The supervisor engine allocates 7W for the Cisco IP Phone and powers it up. Once the Cisco IP Phone
is operational, it sends a CDP message with the actual power requirement to the supervisor engine. The
supervisor engine then decreases the allocated power to the required amount.
Wall-Powered Phones
When a wall-powered phone is present on a switching module port, the switching module cannot detect
its presence. The supervisor engine discovers the phone through CDP messaging with the port. If the
phone supports inline power (the supervisor engine determines this through CDP), and the mode is set
to Auto or Off, the supervisor engine does not attempt to power on the port. If a power outage occurs,
and the mode is set to Auto, the phone loses power, but the switching module discovers the phone and
informs the supervisor engine, which then applies inline power to the phone.
The supervisor engine can turn off power to a specific port by sending a message to the switching
module. That power is then added back to the available system power. This situation occurs only when
you power off the phone through the CLI or SNMP.
Phone Removal
The switching module informs the supervisor engine if a powered phone is removed using a link-down
message. The supervisor engine then adds the allocated power for that port back to the available system
power.
In addition, the switching module informs the supervisor engine if an unpowered phone is removed.
Caution When a phone cable is plugged into a port and power is turned on, the supervisor engine has a
4-second timeout waiting for the link to go up on the line. During those 4 seconds, if the phone cable
is unplugged and a network device is plugged in, the device could be damaged. We recommend that
you wait at least 10 seconds between unplugging a device and plugging in a new device.
High-Availability Support
To support high availability during a failover from the active supervisor engine to the standby supervisor
engine, the per-port power management and phone status information is synchronized between the active
and standby supervisor engines.
The information to be synchronized (on a per-port basis) is the presence of a phone, the phone power
status (on, off, denied, or faulty), and the amount of power consumed by the phone. The active supervisor
engine sends this information to the standby supervisor engine, and the standby supervisor engine
updates its internal data structures. When a switchover occurs, the standby supervisor engine allocates
power to the modules and ports from the available power, one module at a time. Once the power for each
module has been allocated, the supervisor engine allocates power to the phones, beginning with the
lowest slot number, until all inline powered ports have been either powered on, off, or denied.
Catalyst Switch
Wall-power
38205
Wall-power
The supervisor engine detects that the device is powered but the link is not up by setting a timeout when
the switching module is directed to power up the device. If the timeout occurs and the supervisor engine
has not received a “link up” for the port, this syslog message is displayed:
1999 Jul 14 10:05:58 %SYS-5-PORT_DEVICENOLINK: Device on Port 4/7 powered, no link up.
The supervisor engine also directs the switching module to power off the port. The switching module
then performs discovery again on the port.
The switching module detects if there is a problem providing inline power to the device and reports this
problem to the supervisor engine. This syslog message is displayed:
1999 Jul 14 10:05:58 %SYS-5-PORT_INLINEPWRFLTY: Port 4/7 reporting inline power as faulty.
The supervisor engine tracks the available power left in the system and does not power up any ports if
no available power remains. This syslog message is displayed:
1999 Jul 14 10:05:58 %SYS-5-PORT_NOPOWERAVAIL: Device on Port 4/7 will remain unpowered.
The supervisor engine informs the switching module that power to the port is denied.
Depending upon the number and type of modules in the chassis, you might need to power off some
modules to prevent overdrawing power from the power supply. The supervisor engine first powers off
and reallocates the power supplied by the ports and then starts powering off and reallocating the power
used by the module.
Once a module that was powered down due to lack of power is powered up and comes online, the module
begins discovery on the ports to determine the presence of unpowered connected devices (phones). The
module reports discovered devices to the supervisor engine, which then directs the switching module to
power up the device (if the port is configured to do so).
For modules that are already powered on, but have devices connected that are power denied, the
supervisor engine attempts to power on the devices starting with the lowest numbered slot to the highest
numbered slot, and from the lowest port number to the highest port number, one module at a time.
Task Command
Set the power mode of a port or group of ports. set port inlinepower mod/port {off | auto}
This example shows how to set the power mode of a port or group of ports:
Console> (enable) set port inlinepower 2/5 off
Inline power for port 2/5 set to off.
Console> (enable) set port inlinepower 2/3-9 auto
Inline power for ports 2/3-9 set to auto.
Console> (enable)
Task Command
Set the default power allocation for a port. set inlinepower defaultallocation value
This example shows how to set the default power allocation for a port:
Console> (enable) set inlinepower defaultallocation 9500
Default inline power allocation set to 9500 mWatt per applicable port.
Console> (enable)
Task Command
Display the power status for modules and show port inlinepower [mod[/port]]
individual ports.
This example shows how to display the power status for modules and individual ports:
Console> show port inlinepower 3/2-6
Default Inline Power allocation per port: 9.500 Watts (0.22 Amps @42V)
Total inline power drawn by module 3: 0 Watt
Port InlinePowered PowerAllocated
Admin Oper Detected mWatt mA @42V
----- ----- ------ -------- ----- --------
3/2 auto on yes 10.00 0.250
3/3 auto on yes 9.8 0.198
3/4 auto denied yes 0 0
The Operational (Oper) status field descriptions in the display are as follows:
• on—Power is supplied by the port.
• off—Power is not supplied by the port.
• denied—The system does not have enough available power for the port.
• faulty—The port is unable to supply power.
Task Command
Display the power status for modules and show environment power [mod]
individual ports.
This example shows how to display the power status for modules and individual ports:
Console> (enable) show environment power 5
Feature not supported on module 5.
Console> (enable) show environment power 9
Module 9:
Default Inline Power allocation per port: 9.500 Watts (0.22 Amps @42V)
Total inline power drawn by module 9: 0 Watt
Default Inline Power allocation per port: 9.500 Watts (0.22 Amps @42V)
Port InlinePowered PowerAllocated
Admin Oper Detected mWatt mA @42V
----- ----- ------ -------- ----- --------
9/1 auto off no 0 0
9/2 auto off no 0 0
9/3 auto off no 0 0
9/4 auto off no 0 0
9/5 auto off no 0 0
9/6 auto off no 0 0
9/7 auto off no 0 0
9/8 auto off no 0 0
.
(display text omitted)
.
9/48 auto off no 0 0
Console> (enable)
A partial-deny status indicates that some module ports are inline powered but not all the ports on the
module are inline powered.
Note We recommend that you use 802.1Q frames and a separate VLAN.
• 802.1p frames, which are 802.1Q frames carrying VLAN ID 0 and Layer 2 CoS set to 5 (enter the
set port auxiliaryvlan mod[/port] dot1p command)
• 802.3 frames, which are untagged and carry no VLAN ID and no Layer 2 CoS value (enter the set
port auxiliaryvlan mod[/port] untagged command)
Note The Cisco IP Phone 7960 always sets Layer 3 IP precedence to 5 in voice traffic.
Task Command
Configure auxiliary VLANs. set port auxiliaryvlan mod[/ports] {vlan |
untagged | dot1p | none}
This example shows how to add voice ports to auxiliary VLANs, specify an encapsulation type, or
specify that the VLAN will not send or receive CDP messages with voice-related information:
Console> (enable) set port auxiliaryvlan 2/1-3 222
Auxiliaryvlan 222 configuration successful.
AuxiliaryVlan AuxVlanStatus Mod/Ports
------------- ------------- -------------------------
222 active 1/2,2/1-3
Console> (enable) set port auxiliaryvlan 5/7 untagged
Port 5/7 allows the connected device send and receive untagged packets and without 802.1p
priority.
Console> (enable) set port auxiliaryvlan 5/9 dot1p
Port 5/9 allows the connected device send and receive packets with 802.1p priority.
Console> (enable) set port auxiliaryvlan 5/12 none
Port 5/12 will not allow sending CDP packets with Voice VLAN information.
Console> (enable)
The default setting is none. Table 44-4 lists the set port auxiliaryvlan command keywords and their
descriptions.
Task Command
Verify auxiliary VLAN configuration status. show port auxiliaryvlan {vlan | untagged |
dot1p | none}
To configure port voice interface for DHCP, TFTP, and DNS servers, perform this task in privileged
mode:
Task Command
Configure port voice interface for DHCP, TFTP, set port voice interface mod/port dhcp enable
and DNS servers. [vlan vlan]
set port voice interface mod/port dhcp disable
{ipaddrspec} {tftp ipaddr} [vlan vlan]
[gateway ipaddr] [dns [ipaddr] [domain_name]]
These examples shows how to configure the port voice interface for DHCP, TFTP, and DNS servers:
Console> (enable) set port voice interface 7/1 dhcp enable
Port 7/1 DHCP enabled.
Console> (enable) set port voice interface 7/3 dhcp disable 171.68.111.41/24 tftp
173.32.43.11 dns 172.20.34.204 cisco.com
Port 7/3 dhcp disabled.
System DNS configurations applied.
Console> (enable) set port voice interface 7/4-6 dhcp enable vlan 3
Vlan 3 configuration successful
Ports 7/4-6 DHCP enabled.
Console> (enable)
Task Command
Display the port voice interface configuration. show port voice interface [mod[/port]]
This example shows how to display the port voice interface configuration (this display is from the
24-port FXS analog interface module):
Console> show port voice interface 5
Port DHCP MAC-Address IP-Address Subnet-Mask
-------- ------- ----------------- --------------- ---------------
5/1-24 disable 00-10-7b-00-13-ea 10.6.15.158 255.255.255.0
Note FDL is a link management protocol used to help diagnose problems and gather statistics.
To display Facilities Data Link (FDL) statistics for the specified ports, perform this task in privileged
mode:
Task Command
Display FDL statistics for the specified ports. show port voice fdl [mod[/port]]
This example shows how to display FDL statistics for the specified ports:
Console> (enable) show port voice fdl 7/1-3
Port ErrorEvents ErroredSecond SeverlyErroredSecond
Last 15' Last 24h Last 15' Last 24h Last 15' Last 24h
----- -------- -------- -------- -------- -------- -----------
7/1 17 18 19 20 21 22
7/2 17 18 19 20 21 22
7/3 17 18 19 20 21 22
Table 44-5 describes the possible fields (depending on the port type queried) in the show port voice fdl
command output.
Field Description
ErrorEvents Count of errored events.
ErroredSecond Count of errored seconds.
SeverelyErroredSecond Count of severely errored seconds.
FailedSignalState Count of failed signal state errors.
FailedSignalSecond Count of errored events.
LES Line errored seconds detected.
BES Bursty errored seconds detected.
LCV Line code violation seconds detected.
Task Command
Display the port configuration for individual show port [mod[/port]]
ports.
This section provides the show port command displays for the following gateway modules:
• 8-Port T1/E1 PSTN Interface Module, page 44-24
• 8-Port T1/E1 PSTN Interface Module Configured for Trancoding/Conferencing, page 44-25
• 24-Port FXS Analog Interface Module, page 44-26
The Status field shows Layer 2 status of the ports. Possible values are notconnect, connected, disabled,
and faulty. The following display is for the T1 module. The E1 module display would be the same except
the port speed for the E1 module would be 2.048.
Console> show port 7
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
7/1 connected 123 full 1.544 T1
7/2 connected 2 full 1.544 T1
7/3 disable 1 full 1.544 T1
7/4 connected 11 full 1.544 T1
7/5 connected 123 full 1.544 T1
7/6 connected 1 full 1.544 T1
7/7 faulty 2 full 1.544 T1
7/8 faulty 2 full 1.544 T1
(*): Primary
Console>
MTP (media termination point) and Conf Bridge (conference bridge) are types of ports. Transcoding
applies to a call on an MTP port.
In this example a transcoding port shows as “MTP” and a conference port shows as
“Conf Bridge.”
Console> (enable) show port 7
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
7/1 notconnect 1 full 1.544 T1
7/2 notconnect 1 full 1.544 T1
7/3 connected 1 full 1.544 T1
7/4 connected 1 full 1.544 T1
7/5 connected 1 full 1.544 T1
7/6 connected 1 full 1.544 T1
7/7 enabled 1 full - Conf Bridge
7/8 enabled 1 full - MTP
In this example all ports should have a Type of FXS, and all ports in the same module should belong to
one VLAN:
Console> (enable) show port 3
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
3/1 onhook 1 full 64k FXS
3/2 onhook 1 full 64k FXS
3/3 onhook 1 full 64k FXS
3/4 onhook 1 full 64k FXS
Task Command
Display active call information. show port voice active [mod/port]
[all | call | conference | transcode] [ipaddr]
Entering the show port voice active command without any parameters shows all the calls in the system
(regular calls, conference calls, and transcoding calls). Display field descriptions are as follows:
• Type—The “call” notation is for 24-port FXS analog interface module and 8-port PSTN interface
module calls.
When you configure 8-port T1/E1 PSTN interfaces for transcoding and/or conferencing, the Type
field displays “conferencing” for conferencing calls and “transcoding” for transcoding calls.
• Conference-ID, Transcoding-ID, and Party-ID are only applicable to 8-port T1/E1 PSTN interfaces
configured for transcoding and/or conferencing.
This example shows all active calls in the system:
Console> show port voice active
Port Type Total Conference-ID/ Party-ID IP-Address
Transcoding-ID
----- ------------ ----- -------------- -------- ---------------
3/1 call 1 - - 199.22.25.254
3/2 call 1 - - 172.225.25.54
4/5 call 3 - - 165.34.234.111
172.32.34.12
198.96.23.111
3/8 conferencing 2 1 1 255.255.255.241
2 173.23.13.42
3 198.97.123.98
5 182.34.54.26
2 1 199.22.25.25
3 182.34.54.2
6 121.43.23.43
3/2 call 1 - - 172.225.25.54
3/8 transcoding 1 1 1 255.255.255.241
2 183.32.43.3
This example shows how to display detailed call information for a port (specifying the module only, this
example shows detailed call information for all ports on the module):
Console> show port voice active 3/2
Port 3/2:
Channel #1:
Remote IP address : 165.34.234.111
Remote UDP port : 124
Call state : Ringing
Codec Type : G.711
Coder Type Rate : 35243
Tx duration : 438543 sec
Voice Tx duration : 34534 sec
ACOM Level Current : 123213
ERL Level : 123 dB
Fax Transmit Duration : 332433
Hi Water Playout Delay : 23004 ms
Logical If index : 4
Low water playout delay : 234 ms
Receive delay : 23423 ms
Receive bytes : 2342342332423
Note The Cisco IP Phone 7960 always sets Layer 3 IP precedence and Layer 2 CoS to 5 in voice traffic
generated by the phone. The Layer 3 IP precedence and Layer 2 CoS values in voice traffic generated
by the phone are not configurable.
You can configure the Cisco IP Phone 7960 access port (see Figure 44-5) to either trusted or untrusted
mode.
Untrusted mode means that all traffic in 802.1Q or 802.1p frames received through the access port is
marked with a configured Layer 2 CoS value. The default Layer 2 CoS value is 0. Untrusted mode is the
default when the phone is connected to a Cisco LAN switch.
Trusted mode means that all traffic received through the access port passes through the phone switch
unchanged. Trusted mode is the default when the phone is not connected to a Cisco LAN switch.
Traffic in frame types other than 802.1Q or 802.1p passes through the phone switch unchanged,
regardless of the access port trust state.
To set the phone access port trust mode, perform this task in privileged mode:
Task Command
Set the phone access port trust mode. set port qos mod/ports...trust-ext {trusted |
untrusted}
This example shows how to set the phone access port to the trusted mode:
Console> (enable) set port qos 3/7 trust-ext trusted
Port in the phone device connected to port 3/7 is configured to be trusted.
Console> (enable)
This example shows how to set the phone access port to the untrusted mode:
Console> (enable) set port qos 3/7 trust-ext untrusted
Port in the phone device connected to port 3/7 is configured to be untrusted.
Console> (enable)
To set the phone access port CoS value, perform this task in privileged mode:
Task Command
Set the phone access port CoS value. set port qos mod/ports cos cos_value
set port qos mod/ports cos-ext cos_value
This example shows how to set the Layer 2 CoS value used by a phone access port in untrusted mode:
Console> (enable) set port qos 2/1 cos-ext 3
Port 2/1 qos cos-ext set to 3.
Console> (enable)
Task Command
Verify QoS configuration information. show port qos [mod[/port]]
MTU RMON 1
isolated 14
privileged EXEC mode 9
name 4
prompt
promiscuous 14
configuring 3
VLAN assignments 12
configuring 3
configuration guidelines 3
protocol support 2
disabling 7
pruning, VTP
enabling 3
See VTP, pruning
COPS default IP 42
See COPS default IPX, creating 44
receive queue default MAC, creating 44
statistics data export 27 deleting named 44
configuring 70 detaching 46
configuring destination host 73 discarding uncommitted 45
configuring time interval 73 IP, named 38
displaying information 74 marking rules 21
trust-cos modifying 37
port keyword 10 named 16
trust-dscp names 37
port keyword 10 policing rules 22
trust-ipprec policing rules, creating 34
port keyword 10 policing rules, deleting 36
QoS ACE reverting to default values 44
ICMP, creating 40 storing in Flash memory 42
ICMP, options 18 QoS classification (definition) 2
IGMP, creating 40 QoS classification criteria
IGMP, options 19 IP ACE Layer 3 16
IP addresses and masks 38 IP ACE Layer 4 ICMP 18
IP Layer 3 options 16 IP ACE Layer 4 IGMP 19
IP Layer 4 port options 38 IP ACE Layer 4 protocol 17
IP Layer 4 protocol options 17 IP ACE Layer 4 TCP 17
IP precedence parameter options 38 IP ACE Layer 4 UDP 18
IP with Layer 4 options 41 IPX ACE 19
IP with only Layer 3 options 41 MAC ACE Layer 2 20
IPX, creating 42 QoS configuring 30
IPX, options 19 QoS configuring on Cisco IP Phone 7960 29
MAC, creating 43 QoS congestion avoidance
MAC, options 20 definition 3
TCP, creating 39 dual transmit queue ports 25
TCP, options 17 receive queue 11
UDP, creating 39 QoS CoS
UDP, options 18 and ToS final values from Layer 3 Switching Engine 24
QoS ACL 15 configuring port value 33
attaching 23, 46 definition 2
committing 45 QoS default configuration 28
creating 37 QoS definitions 2
default 20 QoS destination-based 47
disabling
V
globally 4
on ports 4 VACLs 3
displaying configuration 5 ACEs
enabling overview 4
globally 3 applying on
on ports 3 bridged packets 7
overview 1 multicast packets 8
specify the message interval 4 routed packets 7
UDP QoS features capturing traffic flows 38
See QoS ACE or ACL common uses for 22
unicast suppression 2 configuration
UniDirectional Link Detection Protocol figure 23
See UDLD guidelines 28
untrusted summary 29
see QoS trust-cos configuration guidelines 28
See QoS untrusted configuring 28
UplinkFast 3 configuring for policy-based forwarding 46
disabling 14 configuring on private VLANs 26
enabling 13 denying access to a server on another VLAN
figure 3 figure 26
MISTP mode 13 procedure 25
PVST+ mode 13 features unsupported 27
uploading hardware requirements 2
configuration files Layer 2 parameters 5
preparation 5, 8 Layer 3 parameters 4
running configuration 5, 8 Layer 4 parameters 4
TFTP 5 Layer 4 port operations 20
software images logging messages 40
preparation 8, 15 overview 1
rcp server 15 redirecting broadcast traffic to a specific server port
supervisor 9, 15 figure 24
supervisor engine 9 procedure 23
user EXEC mode 9 restricting ARP traffic 26
user sessions restricting the DHCP response for a specific server
disconnecting 6 figure 25
monitoring 6 procedure 24
storing in Flash memory 42
supported features 4