Cisco 4500 Config Guide
Cisco 4500 Config Guide
Americas Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 527-0883
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.
Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at
www.cisco.com/go/trademarks. Third party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership
relationship between Cisco and any other company. (1005R)
Preface xxxix
Audience xxxix
Organization xxxix
Notices xlii
OpenSSL/Open SSL Project xlii
License Issues xlii
Conventions xliv
Commands in Task Tables xlv
CHAPTER 5 Configuring Supervisor Engine Redundancy Using RPR and SSO 5-1
CHAPTER 6 Configuring the Cisco IOS XE In Service Software Upgrade Process 6-1
Related Documents 6-2
Prerequisites to Performing ISSU 6-2
Overview 8-4
Running the TDR Test 8-4
TDR Guidelines 8-5
Using Telnet 8-5
CHAPTER 9 Configuring Cisco NSF with SSO Supervisor Engine Redundancy 9-1
VLANs 12-1
About VLANs 12-1
VLAN Configuration Guidelines and Restrictions 12-3
VLAN Ranges 12-3
Configurable Normal-Range VLAN Parameters 12-4
VLAN Default Configuration 12-4
Configuring VLANs 12-5
Configuring VLANs in Global Configuration Mode 12-5
Assigning a Layer 2 LAN Interface to a VLAN 12-7
VLAN Trunking Protocol 12-7
About VTP 12-7
Understanding the VTP Domain 12-8
Understanding VTP Modes 12-8
Understanding VTP Advertisements 12-9
Understanding VTP Versions 12-9
Understanding VTP Pruning 12-11
VTP Configuration Guidelines and Restrictions 12-12
VTP Default Configuration 12-13
Configuring VTP 12-14
Configuring VTP Global Parameters 12-14
Configuring the VTP Mode 12-16
Starting a Takeover 12-19
Displaying VTP Statistics 12-19
Displaying VTP Devices in a Domain 12-20
VLAN Membership Policy Server 12-20
About VMPS 12-21
VMPS Server 12-21
Security Modes for VMPS Server 12-22
Fallback VLAN 12-23
Illegal VMPS Client Requests 12-23
Overview of VMPS Clients 12-23
Understanding Dynamic VLAN Membership 12-23
Default VMPS Client Configuration 12-24
Configuring a Switch as a VMPS Client 12-24
Administering and Monitoring the VMPS 12-28
Troubleshooting Dynamic Port VLAN Membership 12-29
Restrictions 28-8
Limitations 28-8
Related Features and Technologies 28-8
Prerequisites to Configuring Unicast RPF 28-9
Unicast RPF Configuration Task List 28-9
Configuring Unicast RPF 28-9
Verifying Unicast RPF 28-10
Monitoring and Maintaining Unicast RPF 28-11
CHAPTER 40 Configuring DHCP Snooping, IP Source Guard, and IPSG for Static Hosts 40-1
Temperature 48-3
Operational Uptime 48-4
Interrupts 48-7
Message Logging 48-8
Default Settings for OBFL 48-9
INDEX
This preface describes who should read this document, how it is organized, and its conventions. The
preface also tells you how to obtain Cisco documents, as well as how to obtain technical assistance.
Audience
This guide is for experienced network administrators who are responsible for configuring and
maintaining Catalyst 4500 series switches.
Organization
This guide is organized into the following chapters:
Notices
The following notices pertain to this software license.
License Issues
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the OpenSSL License and the
original SSLeay license apply to the toolkit. See below for the actual license texts. Actually both licenses
are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact
[email protected].
OpenSSL License:
Copyright © 1998-2007 The OpenSSL Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions of source code must retain the copyright notice, this list of conditions and the
following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and
the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following
acknowledgment: “This product includes software developed by the OpenSSL Project for use in the
OpenSSL Toolkit (http://www.openssl.org/)”.
4. The names “OpenSSL Toolkit” and “OpenSSL Project” must not be used to endorse or promote
products derived from this software without prior written permission. For written permission, please
contact [email protected].
5. Products derived from this software may not be called “OpenSSL” nor may “OpenSSL” appear in
their names without prior written permission of the OpenSSL Project.
6. Redistributions of any form whatsoever must retain the following acknowledgment:
“This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit
(http://www.openssl.org/)”.
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT “AS IS”' AND ANY EXPRESSED OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
This product includes cryptographic software written by Eric Young ([email protected]). This product
includes software written by Tim Hudson ([email protected]).
Conventions
This document uses the following typographical conventions:
Convention Description
boldface font Commands, command options, and keywords are in boldface.
italic font Command arguments for which you supply values are in italics.
[ ] Command elements in square brackets are optional.
{x|y|z} Alternative keywords in command lines 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
because the string will include the quotation marks.
screen font System displays are in screen font.
boldface screen Information you must enter verbatim 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.
^ Represents the key labeled Control—for example, the key combination ^D in a
screen display means hold down the Control key while you press the D key.
< > Nonprinting characters such as passwords are in angle brackets.
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.
Related Documentation
Refer to the following documents for additional Catalyst 4500 series information:
• Catalyst 4500 Series Switch Documentation Home
http://www.cisco.com/en/US/products/hw/switches/ps4324/tsd_products_support_series_home.ht
mll
Hardware Documents
Installation guides and notes including specifications and relevant safety information are available at the
following URLs:
• Catalyst 4500 Series Switches Installation Guide
http://www.cisco.com/en/US/docs/switches/lan/catalyst4500/hardware/installation/guide/78-14409
-08/4500inst.html
• Catalyst 4500 E-series Switches Installation Guide
http://www.cisco.com/en/US/docs/switches/lan/catalyst4500/hardware/catalyst4500e/installation/g
uide/Eseries.html
• For information about individual switching modules and supervisors, refer to the Catalyst 4500
Series Module Installation Guide at:
http://www.cisco.com/en/US/docs/switches/lan/catalyst4500/hardware/configuration/notes/OL_25
315.html
• Regulatory Compliance and Safety Information for the Catalyst 4500 Series Switches
http://www.cisco.com/en/US/docs/switches/lan/catalyst4500/hardware/regulatory/compliance/78_
13233.html
• Installation notes for specific supervisor engines or for accessory hardware are available at:
http://www.cisco.com/en/US/products/hw/switches/ps4324/prod_installation_guides_list.html
Software Documentation
Software release notes, configuration guides, command references, and system message guides are
available at the following URLs:
• Catalyst 4500 release notes are available at:
http://www.cisco.com/en/US/products/hw/switches/ps4324/prod_release_notes_list.html
Software documents for the Catalyst 4500 Classic and Catalyst 4500 E-Series are available at the
following URLs:
• Catalyst 4500 Series Software Configuration Guide
http://www.cisco.com/en/US/products/hw/switches/ps4324/products_installation_and_configurati
on_guides_list.html
• Catalyst 4500 Series Software Command Reference
http://www.cisco.com/en/US/products/hw/switches/ps4324/prod_command_reference_list.html
• Catalyst 4500 Series Software System Message Guide
http://www.cisco.com/en/US/products/hw/switches/ps4324/products_system_message_guides_list
.html
This chapter provides an overview of Catalyst 4500 series switches and includes the following major
sections:
• Layer 2 Software Features, page 1-1
• Layer 3 Software Features, page 1-8
• Management Features, page 1-15
• Security Features, page 1-20
Note For complete syntax and usage information for the switch commands used in this chapter, first look at
the Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products//hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Series Switch Command Reference, it will be found in
the larger Cisco IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference
and related publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
EtherChannel Bundles
EtherChannel port bundles allow you to create high-bandwidth connections between two switches by
grouping multiple ports into a single logical transmission path.
For information on configuring EtherChannel, see Chapter 19, “Configuring EtherChannel.”
Flexible NetFlow
Flow is defined as unique set of key fields attributes, which might include fields of packet, packet routing
attributes, and input and output interface information. A NetFlow feature defines a flow as a sequence
of packets that have the same values for the feature key fields. Flexible Netflow (FNF) allows a flow
record that specifies various flow attributes to be collected and optionally exported. Netflow collection
supports IP, IPv6 and Layer 2 traffic.
For information on configuring Flexible NetFlow, see Chapter 32, “Configuring Flexible NetFlow.”
IPv6 Multicast Listen Discovery (MLD) and Multicast Listen Discovery snooping
MLD is a protocol used by IPv6 multicast devices to discover the presence of multicast listeners
(nodes that want to receive IPv6 multicast packets) on its directly attached links and to discover
which multicast packets are of interest to neighboring nodes. MLD snooping is supported in two
different versions: MLD v1 and MLD v2. Network switches use MLD snooping to limit the flood
of multicast traffic, causing IPv6 multicast data to be selectively forwarded to a list of ports that want
to receive the data, instead of being flooded to all ports in a VLAN. This lessens the load on devices
in the network, minimizing unnecessary bandwidth on links, enabling efficient distribution of IPv6
multicast data.
For information on configuring multicast services, see Chapter 22, “Configuring IPv6 MLD
Snooping.”
Jumbo Frames
The jumbo frames feature allows the switch to forward packets as large as 9216 bytes (larger than the
IEEE Ethernet MTU), rather than declare those frames “oversize” and discard them. This feature is
typically used for large data transfers. The jumbo frames feature can be configured on a per-port basis
on Layer 2 and Layer 3 interfaces.
The feature is supported only on the following hardware:
• WS-X4306-GB: All ports
• WS-X4232-GB-RJ: Ports 1-2
• WS-X4418-GB: Ports 1-2
• WS-X4412-2GB-TX: Ports 13-14
• WS-4648-RJ45V-E
• WS-X4648+RJ45V+E
• WS-X4706-10GE linecards
• supervisor engine uplink ports
For information on Jumbo Frames, see Chapter 7, “Configuring Interfaces.”
Quality of Service
The quality of service (QoS) feature prevents congestion by selecting network traffic and prioritizing it
according to its relative importance. Implementing QoS in your network makes network performance
more predictable and bandwidth use more effective.
The Catalyst 4500 series switch supports the following QoS features:
• Classification and marking
• Ingress and egress policing, including per-port per-VLAN policing
• Sharing and shaping
Catalyst 4500 series switch supports trusted boundary, which uses the Cisco Discovery Protocol (CDP)
to detect the presence of a Cisco IP phone (such as the Cisco IP Phone 7910, 7935, 7940, and 7960) on
a switch port. If the telephone is not detected, the trusted boundary feature disables the trusted setting
on the switch port and prevents misuse of a high-priority queue.
The Catalyst 4500 series switch also supports QoS Automation (Auto QoS), which simplifies the
deployment of existing QoS features through automatic configuration.
Cisco Modular QoS command-line-interface
Cisco Modular QoS CLI (MQC) is the framework that implements Cisco IOS software QoS. MQC
allows the user to define a traffic class, create a traffic policy (containing the QoS feature to be applied
to the traffic class), and attach the traffic policy to an interface. MQC is a cross-Cisco baseline that
provides a consistent syntax and behavior of QoS features across multiple product families. MQC
enables rapid deployment of new features and technology innovations and facilitates the management of
network performance with respect to bandwidth, delay, jitter, and packet loss, enhancing the
performance of mission-critical business applications. The rich and advanced QoS features that are
supported as part of the Supervisor Engine 7-E are enabled using Cisco MQC.
The Two-Rate Three-Color Policing feature (also termed Hierarchical QoS) limits the input or output
transmission rate of a class of traffic based on user-defined criteria and marks or colors packets by setting
the applicable differentiated services code point (DSCP) values. This feature is often configured on the
interfaces at the edge of a network to limit the rate of traffic entering or leaving the network. Using this
feature, traffic that conforms to user-defined criteria can be sent through the interfaces, while traffic that
exceeds or violates these criteria is sent out with a decreased priority setting or even dropped.
For information on QoS and Auto QoS, see Chapter 33, “Configuring Quality of Service.”
Stateful Switchover
Stateful switchover (SSO) enables you to propagate configuration and state information from the active
to the redundant supervisor engine so that sub-second interruptions in Layer 2 traffic occur when the
active supervisor engine switches over to the redundant supervisor engine.
For information about SSO, see Chapter 9, “Configuring Cisco NSF with SSO Supervisor Engine
Redundancy.”
SVI Autostate
When an SVI has multiple ports on a VLAN, normally the SVI will go down when all the ports in the
VLAN go down. You can design your network so that some ports are not counted in the calculation of
SVI “going up or down.” SVI Autostate provides a knob to mark a port so that it is not counted in the
SVI “going up and down” calculation and applies to all VLANs that are enabled on that port.
Unidirectional Ethernet
Note Unidirectional Ethernet is not supported on either Supervisor Engine 6-E or a Catalyst 4900M chassis.
Unidirectional Ethernet uses only one strand of fiber for either transmitting or receiving one-way traffic
for the Gigaport, instead of two strands of fiber for a full-duplex Gigaport Ethernet.
For information about Unidirectional Ethernet, see Chapter 25, “Configuring Unidirectional Ethernet.”
VLANs
A VLAN configures switches and routers according to logical, rather than physical, topologies. Using
VLANs, you can combine any collection of LAN segments within an internetwork into an autonomous
user group, such that the segments appear as a single LAN in the network. VLANs logically segment the
network into different broadcast domains so that packets are switched only between ports within the
VLAN. Typically, a VLAN corresponds to a particular subnet, although not necessarily.
For more information about VLANs, VTP, and Dynamic VLAN Membership, see Chapter 12,
“Configuring VLANs, VTP, and VMPS.”
The following VLAN-related features also are supported:
• VLAN Trunking Protocol (VTP)—VTP maintains VLAN naming consistency and connectivity
between all devices in the VTP management domain. You can have redundancy in a domain by using
multiple VTP servers, through which you can maintain and modify the global VLAN information.
Only a few VTP servers are required in a large network.
• Private VLANs—Private VLANs are sets of ports that have the features of normal VLANs and also
provide some Layer 2 isolation from other ports on the switch.
For information about private VLANs, see Chapter 35, “Configuring Private VLANs.”
• Private VLAN Trunk Ports—Private VLAN trunk ports allow a secondary port on a private VLAN
to carry multiple secondary VLANs.
• Private VLAN Promiscuous Trunk Ports—Private VLAN promiscuous trunk extends the
promiscuous port to a 802.1Q trunk port, carrying multiple primary VLANs (hence multiple
subnets). Private VLAN promiscuous trunk is typically used to offer different services or content
on different primary VLANs to isolated subscribers. Secondary VLANs can not be carried over the
private VLAN promiscuous trunk.
• Dynamic VLAN Membership—Dynamic VLAN Membership allows you to assign switch ports to
VLANs dynamically, based on the source Media Access Control (MAC) address of the device
connected to the port. When you move a host from a port on one switch in the network to a port on
another switch in the network, that switch dynamically assigns the new port to the proper VLAN for
that host. With the VMPS Client feature, you can convert a dynamic access port to a VMPS client.
VMPS clients can use VQP queries to communicate with the VMPS server to obtain a VLAN
assignment for the port based on the MAC address of the host attached to that port.
GLBP
The Gateway Load Balancing Protocol (GLBP) feature provides automatic router backup for IP hosts
configured with a single default gateway on a LAN. Multiple first hop routers on the LAN combine to
offer a single virtual first hop IP router while sharing the IP packet forwarding load. GLBP devices share
packet-forwarding responsibilities, optimizing resource usage, thereby reducing costs. Other routers on
the LAN may act as redundant GLBP routers that will become active if any of the existing forwarding
routers fail. This improves the resiliency of the network and reduces administrative burden.
For details on GLBP, refer to this URL:
http://www.cisco.com/en/US/docs/ios/ipapp/configuration/guide/ipapp_glbp_ps6350_TSD_Products_
Configuration_Guide_Chapter.html
Feature guides document features that are supported on many different software releases and platforms.
Your Cisco software release or platform may not support all the features documented in a feature guide.
See the Feature Information table at the end of the feature guide for information about which features in
that guide are supported in your software release. Use Cisco Feature Navigator to find information about
platform support and Cisco software image support. To access Cisco Feature Navigator, go to
http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
HSRP
The Hot Standby Router Protocol (HSRP) provides high network availability by routing IP traffic from
hosts on Ethernet networks without relying on the availability of any single Layer 3 switch. This feature
is particularly useful for hosts that do not support a router discovery protocol and do not have the
functionality to switch to a new router when their selected router reloads or loses power.
For information on configuring HSRP, refer to the following URL:
http://www.cisco.com/en/US/docs/ios/ipapp/configuration/guide/ipapp_hsrp_ps6350_TSD_Products_
Configuration_Guide_Chapter.html
IP Precedence Accounting
http://www.cisco.com/en/US/docs/ios/ipapp/configuration/guide/ipapp_ipserv.html
ISSU—HSRP
http://www.cisco.com/en/US/docs/ios/ipapp/configuration/guide/ipapp_hsrp.html
SSO—HSRP
http://www.cisco.com/en/US/docs/ios/ipapp/configuration/guide/ipapp_hsrp.html
IP Routing Protocols
The following routing protocols are supported on the Catalyst 4500 series switch:
• BGP, page 1-11
• EIGRP, page 1-12
• OSPF, page 1-13
• RIP, page 1-13
BGP
The Border Gateway Protocol (BGP) is an exterior gateway protocol that allows you to set up an
interdomain routing system to automatically guarantee the loop-free exchange of routing information
between autonomous systems. In BGP, each route consists of a network number, a list of autonomous
systems that information has passed through (called the autonomous system path), and a list of other path
attributes.
The Catalyst 4500 series switch supports BGP version 4, including classless interdomain routing
(CIDR). CIDR lets you reduce the size of your routing tables by creating aggregate routes, resulting in
supernets. CIDR eliminates the concept of network classes within BGP and supports the advertising of
IP prefixes. CIDR routes can be carried by OSPF, EIGRP, and RIP.
The BGP Route-Map Continue feature introduces the continue clause to the BGP route-map
configuration. The continue clause provides more programmable policy configuration and route
filtering. It introduces the capability to execute additional entries in a route map after an entry is executed
with successful match and set clauses. Continue clauses allow configuring and organizing more modular
policy definitions to reduce the number of policy configurations that are repeated within the same route
map.
For details on BGP, refer to this URL:
http://www.cisco.com/en/US/docs/ios/12_4t/ip_route/configuration/guide/t_brbbas.html
EIGRP
The Enhanced Interior Gateway Routing Protocol (EIGRP) is a version of IGRP that combines the
advantages of link-state protocols with distance-vector protocols. EIGRP incorporates the Diffusing
Update Algorithm (DUAL). EIGRP includes fast convergence, variable-length subnet masks, partially
bounded updates, and multiple network-layer support. When a network topology change occurs, EIGRP
checks its topology table for a suitable new route to the destination. If such a route exists in the table,
EIGRP updates the routing table instantly. You can use the fast convergence and partial updates that
EIGRP provides to route Internetwork Packet Exchange (IPX) packets.
EIGRP saves bandwidth by sending routing updates only when routing information changes. The
updates contain information only about the link that changed, not the entire routing table. EIGRP also
takes into consideration the available bandwidth when determining the rate at which it transmits updates.
Note Layer 3 switching does not support the Next Hop Resolution Protocol (NHRP).
Note Customers can configure Enhanced Interior Gateway Routing Protocol (EIGRP) to route IPv6 prefixes.
EIGRP configuration and protocol behavior for both IPv4 and IPv6 prefixes are similar, providing
operational familiarity and continuity. EIGRP support for IPv6 will enable customers to use their
existing EIGRP knowledge and processes, allowing them to deploy an IPv6 network at a low cost.
This section lists the IP Routing: EIGRP software features that are supported in Cisco IOS XE 3.1.0SG.
Links to the feature documentation are included.
Feature guides may contain information about more than one feature. To find information about a
specific feature within a feature guide, see the Feature Information table at the end of the guide.
Feature guides document features that are supported on many different software releases and platforms.
Your Cisco software release or platform may not support all the features documented in a feature guide.
See the Feature Information table at the end of the feature guide for information about which features in
that guide are supported in your software release. Use Cisco Feature Navigator to find information about
platform support and Cisco software image support. To access Cisco Feature Navigator, go to
http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
OSPF
The Open Shortest Path First (OSPF) protocol is a standards-based IP routing protocol designed to
overcome the limitations of RIP. Because OSPF is a link-state routing protocol, it sends link-state
advertisements (LSAs) to all other routers within the same hierarchical area. Information on the attached
interfaces and their metrics is used in OSPF LSAs. As routers accumulate link-state information, they
use the shortest path first (SPF) algorithm to calculate the shortest path to each node. Additional OSPF
features include equal-cost multipath routing and routing based on the upper-layer type of service (ToS)
requests.
OSPF employs the concept of an area, which is a group of contiguous OSPF networks and hosts. OSPF
areas are logical subdivisions of OSPF autonomous systems in which the internal topology is hidden
from routers outside the area. Areas allow an additional level of hierarchy different from that provided
by IP network classes, and they can be used to aggregate routing information and mask the details of a
network. These features make OSPF particularly scalable for large networks.
For details on OSPF, refer to this URL:
http://www.cisco.com/en/US/tech/tk365/tk480/tsd_technology_support_sub-protocol_home.html
This section lists the IP Routing: OSPF software features that are supported in Cisco IOS XE 3.1.0SG.
Links to the feature documentation are included.
Feature guides may contain information about more than one feature. To find information about a
specific feature within a feature guide, see the Feature Information table at the end of the guide.
Feature guides document features that are supported on many different software releases and platforms.
Your Cisco software release or platform may not support all the features documented in a feature guide.
See the Feature Information table at the end of the feature guide for information about which features in
that guide are supported in your software release. Use Cisco Feature Navigator to find information about
platform support and Cisco software image support. To access Cisco Feature Navigator, go to
http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
RIP
The Routing Information Protocol (RIP) is a distance-vector, intradomain routing protocol. RIP works
well in small, homogeneous networks. In large, complex internetworks it has many limitations, such as
a maximum hop count of 15, lack of support for variable-length subnet masks (VLSMs), inefficient use
of bandwidth, and slow convergence. RIP II does support VLSMs.
For details on RIP, refer to this URL:
http://www.cisco.com/en/US/tech/tk365/tk554/tsd_technology_support_sub-protocol_home.html
Multicast Services
Multicast services save bandwidth by forcing the network to replicate packets only when necessary and
by allowing hosts to join and leave groups dynamically. The Catalyst 4500 series switch supports
Protocol Independent Multicast (PIM), which is a protocol-independent because it can leverage
whichever unicast routing protocol is used to populate the unicast routing table, including EIGRP, OSPF,
BGP, or static route. PIM also uses a unicast routing table to perform the Reverse Path Forwarding (RPF)
check function instead of building a completely independent multicast routing table.
For information on configuring multicast services, see Chapter 29, “Configuring IP Multicast.”
For information on PIM-SSM mapping, see the URL:
http://www.cisco.com/en/US/docs/ios/12_3t/12_3t2/feature/guide/gtssmma.html#wp1171997
Policy-Based Routing
Traditional IP forwarding decisions are based purely on the destination IP address of the packet being
forwarded. Policy Based Routing (PBR) enables forwarding based upon other information associated
with a packet, such as the source interface, IP source address, Layer 4 ports, and so on. This feature
allows network managers more flexibility in how they configure and design their networks.
For more information on policy-based routing, see Chapter 30, “Configuring Policy-Based Routing.”
VRF-lite
VPN routing and forwarding (VRF-lite) is an extension of IP routing that provides multiple routing
instances. Along with BGP, it enables the creation of a Layer 3 VPN service by keeping separate IP
routing and forwarding tables for each VPN customer. VRF-lite uses input interfaces to distinguish
routes for different VPNs. It forms virtual packet-forwarding tables by associating one or more Layer 3
interfaces with each VRF, allowing the creation of multiple Layer 3 VPNs on a single switch. Interfaces
in a VRF could be either physical, such as an Ethernet port, or logical, such as a VLAN switch virtual
interface (SVI). However, interfaces cannot belong to more than one VRF at any time.
For information on VRF-lite, see Chapter 31, “Configuring VRF-lite.”
Management Features
The Catalyst 4500 series switch offers network management and control through the CLI or through
alternative access methods, such as SNMP. The switch software supports these network management
features:
• Cisco Call Home, page 1-16
can verify service levels, verify outsourced service level agreements, and understand network
performance. Cisco IOS IP SLAs can perform network assessments, verify quality of service (QoS), ease
the deployment of new services, and assist with network troubleshooting.
For more information on IP SLA, see Chapter 50, “Configuring Cisco IOS IP SLAs Operations.”
Embedded CiscoView
A web-based toos to configure the Catalyst 4500 series switch. Embedded CiscoView is a device
management application that can be embedded on the switch flash and provides dynamic status,
monitoring, and configuration information for your switch.
For more information on Embedded CiscoView, see Chapter 4, “Administering the Switch.”
http://www.cisco.com/en/US/products/ps6815/products_ios_protocol_group_home.html
For SD card under IOS XE 3.1.0 SG, the default format is FAT16:
Switch# format slaveusb0: ?
FAT16 FAT16 filesystem type
FAT32 FAT32 filesystem type
ext2 ext2 filesystem type
Secure Shell
Secure Shell (SSH) is a program that enables you to log into another computer over a network, to execute
commands remotely, and to move files from one machine to another. The switch may not initiate SSH
connections: SSH will be limited to providing a remote login session to the switch and will only function
as a server.
XML-PI
eXtensible Markup Language Programmatic Interface (XML-PI) Release 1.0 leverages the Network
Configuration Protocol (NETCONF). It provides new data models that collect running configurations
and show command output down to the keyword level without requiring the technologies or external
XML-to-command line interface (CLI) gateways. XML-PI allows you to develop XML-based network
management applications to control any number of network devices simultaneously.
Refer to the following link for more details:
http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_xmlpi_v1.html
Security Features
The Catalyst 4500 series switch offers network management and control through the CLI or through
alternative access methods, such as SNMP. The switch software supports these security features:
• 802.1X Identity-Based Network Security, page 1-20
• Dynamic ARP Inspection, page 1-21
• Dynamic Host Configuration Protocol Snooping, page 1-21
• Flood Blocking, page 1-22
• Hardware-Based Control Plane Policing, page 1-22
• IP Source Guard, page 1-22
• Local Authentication, RADIUS, and TACACS+ Authentication, page 1-22
• Network Admission Control, page 1-23
• Network Security with ACLs, page 1-23
• Port Security, page 1-23
• Storm Control, page 1-24
• uRPF Strict Mode, page 1-24
• Utilities, page 1-24
• Web-based Authentication, page 1-25
• 802.1X Authentication Failed Open Assignment—Enables you to configure a switch to handle the
case when a device fails to authenticate itself correctly through 802.1X (for example, not providing
the correct password).
• 802.1X with Port Security—Enables port security on an 802.1X port in either single- or
multiple-host mode. When you enable port security and 802.1X on a port, 802.1X authenticates the
port, and port security manages the number of MAC addresses allowed on that port, including that
of the client.
• 802.1X Authentication with ACL Assignment—Downloads per-host policies such as ACLs and
redirect URLs to the switch from the RADIUS server during 802.1X or MAB authentication of the
host.
• 802.1X Authentication with Per-User ACL and Filter-ID ACL—Allows ACL policy enforcement
using a third-party AAA server.
• 802.1X with RADIUS-Provided Session Timeouts—Enables you to specify whether a switch uses
a locally configured or a RADIUS-provided reauthentication timeout.
• 802.1X with Voice VLAN—Enables you to use 802.1X security on a port while enabling it to be
used by both Cisco IP phones and devices with 802.1X supplicant support.
• 802.1X Convergence—Provides consistency between the switching business units in 802.1X
configuration and implementation.
• Multi-Domain Authentication—Allows both a data device and a voice device, such as an IP phone
(Cisco or non-Cisco), to authenticate on the same switch port, which is divided into a data domain
and a voice domain.
For more information on 802.1X identity-based network security, see Chapter 36, “Configuring 802.1X
Port-Based Authentication.”
For DHCP server configuration information, refer to the chapter, “Configuring DHCP,” in the Cisco IOS
IP and IP Routing Configuration Guide at the following URL:
http://www.cisco.com/en/US/docs/ios/ipaddr/configuration/guide/iad_dhcp_rdmp_ps6350_TSD_Produ
cts_Configuration_Guide_Chapter.html
For information on configuring DHCP snooping, see Chapter 40, “Configuring DHCP Snooping, IP
Source Guard, and IPSG for Static Hosts.”
Flood Blocking
Flood blocking enables users to disable the flooding of unicast and multicast packets on a per-port basis.
Occasionally, unknown unicast or multicast traffic from an unprotected port is flooded to a protected port
because a MAC address has timed out or has not been learned by the switch.
For information on flood blocking, see Chapter 44, “Port Unicast and Multicast Flood Blocking.”
IP Source Guard
Similar to DHCP snooping, this feature is enabled on an untrusted 12 port that is configured for DHCP
snooping. Initially all IP traffic on the port is blocked except for the DHCP packets, which are captured
by the DHCP snooping process. When a client receives a valid IP address from the DHCP server, a
PVACL is installed on the port, which restricts the client IP traffic only to clients with assigned IP
addresses, so any IP traffic with source IP addresses other than those assigned by the DHCP server will
be filtered out. This filtering prevents a malicious host from attacking a network by hijacking neighbor
host's IP address.
For information on configuring IP Source Guard, see Chapter 40, “Configuring DHCP Snooping, IP
Source Guard, and IPSG for Static Hosts.”
http://www.cisco.com/en/US/docs/ios/sec_user_services/configuration/guide/sec_cfg_authentifcn_ps635
0_TSD_Products_Configuration_Guide_Chapter.html
http://www.cisco.com/en/US/docs/net_mgmt/cisco_secure_access_control_server_for_windows/4.
1/configuration/guide/nac_conf.html
• NAC Layer 2 802.1X authentication
The Cisco Catalyst 4500 series switch extends NAC support to 802.1x-enabled devices. Like NAC
Layer 2 IP, the NAC Layer 2 802.1x feature determines the level of network access based on
endpoint information.
For more information on 802.1X identity-based network security, see Chapter 36, “Configuring
802.1X Port-Based Authentication.”
Port Security
Port security restricts traffic on a port based upon the MAC address of the workstation that accesses the
port. Trunk port security extends this feature to trunks, including private VLAN isolated trunks, on a
per-VLAN basis.
Sticky port security extends port security by saving the dynamically learned MAC addresses in the
running configuration to survive port link down and switch reset. It enables a network administrator to
restrict the MAC addresses allowed or the maximum number of MAC addresses on each port.
Voice VLAN sticky port security further extends the sticky port security to the Voice-over-IP
deployment. Voice VLAN sticky port security locks a port and blocks access from a station with a MAC
address different from the IP phone and the workstation behind the IP phone.
For information on port security, see Chapter 38, “Configuring Port Security.”
Storm Control
Broadcast suppression is used to prevent LANs from being disrupted by a broadcast storm on one or
more switch ports. A LAN broadcast storm occurs when broadcast packets flood the LAN, creating
excessive traffic and degrading network performance. Errors in the protocol-stack implementation or in
the network configuration can cause a broadcast storm. Multicast and broadcast suppression measures
how much broadcast traffic is passing through a port and compares the broadcast traffic with some
configurable threshold value within a specific time interval. If the amount of broadcast traffic reaches
the threshold during this interval, broadcast frames are dropped, and optionally the port is shut down.
For information on configuring broadcast suppression, see Chapter 45, “Configuring Storm Control.”
Utilities
The following untilities are supported on the Catalyst 4500 series switch.
Layer 2 Traceroute
Layer 2 traceroute allows the switch to identify the physical path that a packet takes from a source device
to a destination device. Layer 2 traceroute supports only unicast source and destination MAC addresses.
For information about Layer 2 Traceroute, see Chapter 8, “Checking Port Status and Connectivity.”
For information about TDR, see Chapter 8, “Checking Port Status and Connectivity.”
Debugging Features
The Catalyst 4500 series switch has several commands to help you debug your initial setup. These
commands are included in the following command groups:
• platform
• debug platform
For more information, refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference.
Web-based Authentication
The web-based authentication feature, known as Web Authentication Proxy, enables you to authenticate
end users on host systems that do not run the IEEE 802.1X supplicant. When you initiate an HTTP
session, this feature intercepts ingress HTTP packets from the host and sends an HTML login page to
your. You key in the credentials, which the web-based authentication feature sends to the AAA server
for authentication. If authentication succeeds, web-based authentication sends a Login-Successful
HTML page to the host and applies the access policies returned by the AAA server.
For information on configuring web-based authentication, see Chapter 37, “Configuring Web-Based
Authentication.”
This chapter describes the CLIs you use to configure the Catalyst 4500 series switch. This chapter
includes the following major sections:
• File Management Commands, page 2-1
• Accessing the Switch CLI, page 2-2
• Performing Command-Line Processing, page 2-3
• Performing History Substitution, page 2-4
• About Cisco IOS Command Modes, page 2-4
• Getting a List of Commands and Syntax, page 2-5
• ROMMON Command-Line Interface, page 2-7
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Note EIA/TIA-232 was known as recommended standard 232 (RS-232) before its acceptance as a standard by
the Electronic Industries Alliance (EIA) and Telecommunications Industry Association (TIA).
Perform the initial switch configuration over a connection to the EIA/TIA-232 console interface. Refer
to the Catalyst 4500 Series Switch Module Installation Guide for console interface cable connection
procedures.
To access the switch through the console interface, perform this task:
Command Purpose
Step 1 Switch> enable From the user EXEC prompt (>), enter enable to change
to enable mode (also known as privileged mode or
privileged EXEC mode).
Step 2 Password: password At the password prompt, enter the system password. The
prompt (#) appears, indicating that you have accessed the
Switch#
CLI in enabled mode.
Step 3 Switch# quit When you are finished executing the task command, exit
the session.
After accessing the switch through the EIA/TIA-232 interface, you see this display:
Press Return for Console prompt
Switch> enable
Password:< >
Switch#
Note Before you make a Telnet connection to the switch, you must set the IP address for the switch. See the
“Configuring Physical Layer 3 Interfaces” section on page 26-10.
The switch supports up to eight simultaneous Telnet sessions. Telnet sessions disconnect automatically
after remaining idle for the period specified by the exec-timeout command.
Command Purpose
Step 1 telnet {hostname | ip_addr} From the remote host, enter the telnet command and the
name or IP address of the switch you want to access.
Step 2 Password: password At the prompt, enter the password for the CLI. If no
password has been configured, press Return.
Switch#
Step 3 Enter the necessary commands to complete your desired
tasks.
Step 4 Switch# quit When finished, exit the Telnet session.
Keystrokes Result
Press Ctrl-B or Moves the cursor back one character.
press the Left Arrow key1
Press Ctrl-F or Moves the cursor forward one character.
press the Right Arrow key1
Press Ctrl-A Moves the cursor to the beginning of the command line.
Press Ctrl-E Moves the cursor to the end of the command line.
Press Esc-B Moves the cursor back one word.
Press Esc-F Moves the cursor forward one word.
1. The Arrow keys function only on ANSI-compatible terminals, such as VT100s.
Command Purpose
1
Ctrl-P or the Up Arrow key Recalls commands in the history buffer, beginning with
the most recent command. Repeat the key sequence to
recall older commands successively.
Ctrl-N or the Down Arrow key1 Returns to more recent commands in the history buffer
after commands have been recalled with Ctrl-P or the
Up Arrow key. Repeat the key sequence to recall more
recent commands.
Switch# show history Lists the last several commands you have entered in
EXEC mode.
1. The Arrow keys function only on ANSI-compatible terminals such as VT100s.
http://www.cisco.com/en/US/docs/ios/12_2/configfun/configuration/guide/ffun_c.html
http://www.cisco.com/en/US/docs/ios/fundamentals/command/reference/cf_book.html
The Cisco IOS user interface has many different modes: user EXEC, privileged EXEC (enable), global
configuration, interface, subinterface, and protocol-specific. The commands available to you depend on
which mode you are in. To get a list of the commands in a given mode, enter a question mark (?) at the
system prompt. See the “Getting a List of Commands and Syntax” section on page 2-5 for more
information.
When you start a session on the switch, you begin in user mode, also called user EXEC mode. Only a
small subset of commands are available in EXEC mode. To have access to all commands, you must enter
privileged EXEC mode, also called enable mode. To access the privileged EXEC mode, you must enter
a password. When you are in the privileged EXEC mode, you can enter any EXEC command or access
global configuration mode. Most EXEC commands are one-time commands, such as show commands,
which display the current configuration status, and clear commands, which reset counters or interfaces.
The EXEC commands are not saved when the switch is rebooted.
The configuration modes allow you to make changes to the running configuration. If you save the
configuration, these commands are stored when you reboot the switch. You must start in global
configuration mode. From global configuration mode, you can enter interface configuration mode,
subinterface configuration mode, and a variety of protocol-specific modes.
You would use a separate mode called ROMMON when the switch cannot boot up properly. For example,
the switch might enter ROMMON mode if it does not find a valid system image when it is booting, or if
its configuration file is corrupted. For more information, see the “ROMMON Command-Line Interface”
section on page 2-7.
Table 2-3 lists and describes frequently used Cisco IOS modes.
The Cisco IOS command interpreter, called the EXEC, interprets and runs 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, enter those characters
followed by the question mark (?). Do not include a space before the question mark. This form of help
is called word help, because it completes a word for you.
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.
Switch# 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
<cr>
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.
Type exit to return to the previous mode. Press Ctrl-Z or enter the end command in any mode to
immediately return to privileged EXEC mode.
To log in to the standby supervisor engine using a virtual console, do the following:
Switch# session module 2
Connecting to standby virtual console
Type "exit" or "quit" to end this session
Switch-standby-console# exit
Note The standby virtual console provides the standard features that are available from the supervisor console
such as command history, command completion, command help and partial command keywords.
Note Ctrl-C is always enabled for 60 seconds after you reboot the switch, even if Ctrl-C is configured to be
off in the configuration register settings.
When you enter ROMMON mode, the prompt changes to rommon 1>. Use the ? command to see the
available ROMMON commands.
For more information about the ROMMON commands, refer to the Catalyst 4500 Series Switch Cisco
IOS Command Reference.
This chapter describes how to initially configure a Catalyst 4500 series switch.
The information presented here supplements the administration information and procedures in this
publication: Cisco IOS Configuration Fundamentals Command Reference, Release 12.2SR, at this URL:
http://www.cisco.com/en/US/docs/ios/12_2/configfun/command/reference/frfabout.html
This chapter includes the following major sections:
• Default Switch Configuration, page 3-1
• Configuring DHCP-Based Autoconfiguration, page 3-2
• Configuring the Switch, page 3-8
• Controlling Access to Privileged EXEC Commands, page 3-13
• Recovering a Lost Enable Password, page 3-25
• Modifying the Supervisor Engine Startup Configuration, page 3-25
• Resetting a Switch to Factory Default Settings, page 3-32
• Configuring Crashinfo, page 3-32
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Interfaces Enabled, with speed and flow control autonegotiated, and without
IP addresses
DHCP-Based Autoconfiguration
Note Starting with Release 12.2(20)EW, you can enable DHCP AutoConfiguration by entering the write erase
command. This command clears the startup-config in NVRAM. In images prior to Release 12.2(20)EW,
this command will not enable autoconfiguration.
DHCP provides configuration information to Internet hosts and internetworking devices. This protocol
consists of two components: one component for delivering configuration parameters from a DHCP
server to a device and another component that is a mechanism for allocating network addresses to
devices. DHCP is built on a client-server model, in which designated DHCP servers allocate network
addresses and deliver configuration parameters to dynamically configured devices. The switch can act
as both a DHCP client and a DHCP server.
DHCPDISCOVER (broadcast)
Switch A DHCPOFFER (unicast) DHCP server
DHCPREQUEST (broadcast)
DHCPACK (unicast)
51807
The client, Switch A, broadcasts a DHCPDISCOVER message to locate a DHCP server. The DHCP
server offers configuration parameters (such as an IP address, subnet mask, gateway IP address, DNS IP
address, lease for the IP address, and so forth) to the client in a DHCPOFFER unicast message.
In a DHCPREQUEST broadcast message, the client returns a formal request for the offered
configuration information to the DHCP server. The formal request is broadcast so that all other DHCP
servers that received the DHCPDISCOVER broadcast message from the client can reclaim the IP
addresses that they offered to the client.
The DHCP server confirms that the IP address has been allocated to the client by returning a DHCPACK
unicast message to the client. With this message, the client and server are bound, and the client uses the
configuration information that it received from the server. The amount of information the switch receives
depends on how you configure the DHCP server. For more information, see the “Configuring the DHCP
Server” section on page 3-4.
If the configuration parameters sent to the client in the DHCPOFFER unicast message are invalid (if
configuration error exists), the client returns a DHCPDECLINE broadcast message to the DHCP server.
The DHCP server sends the client a DHCPNAK denial broadcast message, which means that the offered
configuration parameters have not been assigned, that an error has occurred during the negotiation of the
parameters, or that the client has been slow in responding to the DHCPOFFER message. (The DHCP
server might have assigned the parameters to another client.)
A DHCP client might receive offers from multiple DHCP servers and can accept any of them; however,
the client usually accepts the first offer it receives. The offer from the DHCP server is not a guarantee
that the IP address will be allocated to the client; however, the server usually reserves the address until
the client has had a chance to formally request the address.
Note The router IP address is the default gateway address for the switch.
If you want the switch to receive the configuration file from a TFTP server, you must configure the
DHCP server with these lease options:
• TFTP server name or IP address (required)
• Boot filename (the name of the configuration file that the client needs) (recommended)
• Host name (optional)
Depending on the settings of the DHCP server or the DHCP server feature running on your switch, the
switch can receive IP address information, the configuration file, or both.
If you do not configure the DHCP server, or the DHCP server feature running on your switch, with the
lease options described earlier, the switch replies to client requests with only those parameters that are
configured. If the IP address and subnet mask are not in the reply, the switch is not configured. If the
router IP address or TFTP server name (or IP address) are not found, the switch might send broadcast,
instead of unicast, TFTP requests. Unavailability of other lease options does not impact
autoconfiguration.
The DHCP server, or the DHCP server feature running on your switch, can be on the same LAN or on a
different LAN than the switch. If the DHCP server is running on a different LAN, you should configure
a DHCP relay, which forwards broadcast traffic between two directly connected LANs. A router does
not forward broadcast packets, but it forwards packets based on the destination IP address in the received
packet. For more information on relay devices, see the “Configuring the Relay Device” section on
page 3-5.
filename (if any) and the following files: network-confg, cisconet.cfg, hostname.confg, or hostname.cfg,
where hostname is the current hostname of the switch and router-confg and ciscortr.cfg. The TFTP
server addresses used include the specified TFTP server address (if any) and the broadcast address
(255.255.255.255).
For the switch to successfully download a configuration file, the TFTP server must contain one or more
configuration files in its base directory. The files can include the following:
• The configuration file named in the DHCP reply (the actual switch configuration file).
• The network-confg or the cisconet.cfg file (known as the default configuration files).
• The router-confg or the ciscortr.cfg file. (These files contain commands common to all switches.
Normally, if the DHCP and TFTP servers are properly configured, these files are not accessed.)
If you specify the TFTP server name in the DHCP server-lease database, you must also configure the
TFTP server name-to-IP-address mapping in the DNS-server database.
If the TFTP server you plan to use is on a different LAN from the switch, or if you plan to access it with
the switch through the broadcast address (which occurs if the DHCP server response does not contain
all the required information described earlier), you must configure a relay to forward the TFTP packets
to the TFTP server. For more information, see the “Configuring the Relay Device” section on page 3-5.
The preferred solution is to configure either the DHCP server or the DHCP server feature running on
your switch with all the required information.
On interface 20.0.0.1:
router(config-if)# ip helper-address 10.0.0.1
10.0.0.2
10.0.0.1 20.0.0.1
49068
DHCP server TFTP server DNS server
If the switch cannot read the network-confg, cisconet.cfg, or the hostname file, it reads the
router-confg file. If the switch cannot read the router-confg file, it reads the ciscortr.cfg file.
Note The switch broadcasts TFTP server requests provided that one of these conditions is met: the TFTP
server is not obtained from the DHCP replies; all attempts to read the configuration file through unicast
transmissions fail; or the TFTP server name cannot be resolved to an IP address.
Example Configuration
Figure 3-3 shows a network example for retrieving IP information using DHCP-based autoconfiguration.
Cisco router
10.0.0.10
49066
DHCP server DNS server TFTP server
(maritsu)
Table 3-2 shows the configuration of the reserved leases on either the DHCP server or the DHCP server
feature running on your switch.
Step 1 Connect a console terminal to the console interface of your supervisor engine.
Step 2 After a few seconds, you will see the user EXEC prompt (Switch>). Now, you may want to enter
privileged EXEC mode, also known as enable mode. Type enable to enter enable mode:
Switch> enable
Step 3 At the enable prompt (#), enter the configure terminal command to enter global configuration mode:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
Step 4 At the global configuration mode prompt, enter the interface type slot/interface command to enter
interface configuration mode:
Switch(config)# interface fastethernet 5/1
Switch(config-if)#
Step 5 In either of these configuration modes, enter changes to the switch configuration.
Step 6 Enter the end command to exit configuration mode.
Step 7 Save your settings. (See the “Saving the Running Configuration Settings to Your Start-Up File” section
on page 3-10.)
Your switch is now minimally configured and can boot with the configuration you entered. To see a list
of the configuration commands, enter ? at the prompt or press the help key in configuration mode.
Current configuration:
!
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Switch
<...output truncated...>
!
line con 0
transport input none
line vty 0 4
exec-timeout 0 0
password lab
login
transport input lat pad dsipcon mop telnet rlogin udptn nasi
!
end
Switch#
Caution This command saves the configuration settings that you created in configuration mode. If you fail to do
this step, your configuration will be lost the next time you reload the system.
To store the configuration, changes to the configuration, or changes to the startup configuration in
NVRAM, enter the copy running-config startup-config command at the enable prompt (#), as follows:
Switch# copy running-config startup-config
<...output truncated...>
!
line con 0
exec-timeout 0 0
transport input none
line vty 0 4
exec-timeout 0 0
password lab
login
transport input lat pad dsipcon mop telnet rlogin udptn nasi
!
end
Switch#
Note The switch uses the default gateway only when it is not configured with a routing protocol.
Configure a default gateway to send data to subnets other than its own when the switch is not configured
with a routing protocol. The default gateway must be the IP address of an interface on a router that is
directly connected to the switch.
To configure a default gateway, perform this task:
Command Purpose
Step 1 Switch(config)# ip default-gateway IP-address Configures a default gateway.
Step 2 Switch# show ip route Verifies that the default gateway is correctly displayed in
the IP routing table.
This example shows how to configure a default gateway and how to verify the configuration:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip default-gateway 172.20.52.35
Switch(config)# end
3d17h: %SYS-5-CONFIG_I: Configured from console by console
Switch# show ip route
Default gateway is 172.20.52.35
Command Purpose
Step 1 Switch(config)# ip route dest_IP_address mask Configures a static route to the remote network.
{forwarding_IP | vlan vlan_ID}
Step 2 Switch# show running-config Verifies that the static route is displayed correctly.
This example shows how to use the ip route command to configure a static route to a workstation at IP
address 171.10.5.10 on the switch with a subnet mask and IP address 172.20.3.35 of the forwarding
router:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip route 171.10.5.10 255.255.255.255 172.20.3.35
Switch(config)# end
Switch#
This example shows how to use the show running-config command to confirm the configuration of the
static route:
Switch# show running-config
Building configuration...
.
<...output truncated...>
.
ip default-gateway 172.20.52.35
ip classless
ip route 171.10.5.10 255.255.255.255 172.20.3.35
no ip http server
!
line con 0
transport input none
line vty 0 4
exec-timeout 0 0
password lab
login
transport input lat pad dsipcon mop telnet rlogin udptn nasi
!
end
Switch#
This example shows how to use the ip route command to configure the static route IP address 171.20.5.3
with subnet mask and connected over VLAN 1 to a workstation on the switch:
Switch# configure terminal
Switch(config)# ip route 171.20.5.3 255.255.255.255 vlan 1
Switch(config)# end
Switch#
This example shows how to use the show running-config command to confirm the configuration of the
static route:
Switch# show running-config
Building configuration...
.
<...output truncated...>
.
ip default-gateway 172.20.52.35
ip classless
ip route 171.20.5.3 255.255.255.255 Vlan1
no ip http server
!
!
x25 host z
!
line con 0
transport input none
line vty 0 4
exec-timeout 0 0
password lab
login
transport input lat pad dsipcon mop telnet rlogin udptn nasi
!
end
Switch#
Command Purpose
Switch(config)# enable password password Sets a new password or changes an existing
password for the privileged EXEC mode.
This example shows how to configure an enable password as “lab” at the privileged EXEC mode:
Switch# configure terminal
Switch(config)# enable password lab
Switch(config)#
For instructions on how to display the password or access level configuration, see the “Displaying the
Password, Access Level, and Privilege Level Configuration” section on page 3-24.
Command Purpose
Switch(config)# enable password [level Establishes a password for the privileged EXEC
level] {password | encryption-type mode.
encrypted-password}
Switch(config)# enable secret [level Specifies a secret password that will be saved using
level] {password | encryption-type a nonreversible encryption method. (If
encrypted-password}
enable password and enable secret commands are
both set, users must enter the enable secret
password.)
When you enter either of these password commands with the level option, you define a password for a
specific privilege level. After you specify the level and set a password, give the password only to users
who need to have access at this level. Use the privilege level configuration command to specify
commands accessible at various levels.
If you enable the service password-encryption command, the password you enter is encrypted. When
you display the password with the more system:running-config command, the password displays the
password in encrypted form.
If you specify an encryption type, you must provide an encrypted password—an encrypted password you
copy from another Catalyst 4500 series switch configuration.
Note You cannot recover a lost encrypted password. You must clear NVRAM and set a new password. See
the “Recovering a Lost Enable Password” section on page 3-25 for more information.
For information on how to display the password or access level configuration, see the “Displaying the
Password, Access Level, and Privilege Level Configuration” section on page 3-24.
Command Purpose
Switch(config-line)# password password Sets a new password or changes an existing
password for the privileged level.
For information on how to display the password or access level configuration, see the “Displaying the
Password, Access Level, and Privilege Level Configuration” section on page 3-24.
Note For complete syntax and usage information for the commands used in this section, see the Cisco IOS
Security Command Reference, Release 12.2.
Understanding TACACS+
TACACS+ is a security application that provides centralized validation of users attempting to gain
access to your switch. TACACS+ services are maintained in a database on a TACACS+ daemon
typically running on a UNIX or Windows NT workstation. You should have access to and should
configure a TACACS+ server before configuring TACACS+ features on your switch.
TACACS+ provides for separate and modular AAA facilities. TACACS+ allows for a single access
control server (the TACACS+ daemon) to provide each service—authentication, authorization, and
accounting—independently. Each service can be locked into its own database to take advantage of other
services available on that server or on the network, depending on the capabilities of the daemon.
The goal of TACACS+ is to provide a method for managing multiple network access points from a single
management service. Your switch can be a network access server along with other Cisco routers and
access servers. A network access server provides connections to a single user, to a network or
subnetwork, and to interconnected networks as shown in Figure 3-4.
UNIX workstation
(TACACS+ Catalyst 6500
server 1) series switch
171.20.10.7
UNIX workstation
(TACACS+
server 2)
171.20.10.8
101230
Create a login authentication method list.
Apply the list to the terminal lines.
Create an authorization and accounting
Workstations method list as required. Workstations
TACACS+ administered through the AAA security services can provide these services:
• Authentication—Provides complete control of authentication through login and password dialog,
challenge and response, and messaging support.
The authentication facility can conduct a dialog with the user (such as, after a username and
password are provided, to challenge a user with several questions such as home address, mother’s
maiden name, service type, and social security number). The TACACS+ authentication service can
also send messages to user screens. For example, a message could notify users that their passwords
must be changed because of the company’s password aging policy.
• Authorization—Provides strict control over user capabilities for the duration of the user’s session,
including but not limited to setting autocommands, access control, session duration, or protocol
support. You can also enforce restrictions on the commands a user can execute with the TACACS+
authorization feature.
• Accounting—Collects and sends information used for billing, auditing, and reporting to the
TACACS+ daemon. Network managers can use the accounting facility to track user activity for a
security audit or to provide information for user billing. Accounting records include user identities,
start and stop times, executed commands (such as PPP), number of packets, and number of bytes.
The TACACS+ protocol provides authentication between the switch and the TACACS+ daemon, and it
ensures confidentiality because all protocol exchanges between the switch and the TACACS+ daemon
are encrypted.
You need a system running the TACACS+ daemon software to use TACACS+ on your switch.
TACACS+ Operation
When a user attempts a simple ASCII login by authenticating to a switch using TACACS+, this process
occurs:
1. When the connection is established, the switch contacts the TACACS+ daemon to obtain a username
prompt, which is then displayed to the user. The user enters a username, and the switch then contacts
the TACACS+ daemon to obtain a password prompt. The switch displays the password prompt to
the user, the user enters a password, and the password is then sent to the TACACS+ daemon.
TACACS+ allows a conversation between the daemon and the user until the daemon receives enough
information to authenticate the user. The daemon prompts for a username and password
combination, but can include other items such as the user’s mother’s maiden name.
2. The switch eventually receives one of these responses from the TACACS+ daemon:
• ACCEPT—The user is authenticated and service can begin. If the switch is configured to
require authorization, authorization begins at this time.
• REJECT—The user is not authenticated. The user can be denied access or is prompted to retry
the login sequence, depending on the TACACS+ daemon.
• ERROR—An error occurred at some time during authentication with the daemon or in the
network connection between the daemon and the switch. If an ERROR response is received, the
switch typically tries to use an alternative method for authenticating the user.
• CONTINUE—The user is prompted for additional authentication information.
After authentication, the user undergoes an additional authorization phase if authorization has been
enabled on the switch. Users must first successfully complete TACACS+ authentication before
proceeding to TACACS+ authorization.
3. If TACACS+ authorization is required, the TACACS+ daemon is again contacted, and it returns an
ACCEPT or REJECT authorization response. If an ACCEPT response is returned, the response
contains data in the form of attributes that direct the EXEC or NETWORK session for that user and
the services that the user can access:
• Telnet, Secure Shell (SSH), rlogin, or privileged EXEC services
• Connection parameters, including the host or client IP address, access list, and user timeouts
Configuring TACACS+
This section describes how to configure your switch to support TACACS+. At a minimum, you must
identify the host or hosts maintaining the TACACS+ daemon and define the method lists for TACACS+
authentication. You can optionally define method lists for TACACS+ authorization and accounting. A
method list defines the sequence and methods used to authenticate, to authorize, or to keep accounts on
a user. You can use method lists to designate one or more security protocols, ensuring a backup system
if the initial method fails. The software uses the first method listed to authenticate, to authorize, or to
keep accounts on users; if that method does not respond, the software selects the next method in the list.
This process continues until there is successful communication with a listed method or the method list
is exhausted.
Note Although TACACS+ configuration is performed through the CLI, the TACACS+ server authenticates
HTTP connections that have been configured with a privilege level of 15.
Identifying the TACACS+ Server Host and Setting the Authentication Key
You can configure the switch to use a single server or AAA server groups in order to group existing
server hosts for authentication. You can group servers to select a subset of the configured server hosts
and use them for a particular service. The server group is used with a global server-host list and contains
the list of IP addresses of the selected server hosts.
Beginning in privileged EXEC mode, follow these steps to identify the IP host or host maintaining
TACACS+ server and optionally set the encryption key:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 tacacs-server host hostname [port Identifies the IP host or hosts maintaining a TACACS+ server. Enter this
integer] [timeout integer] [key command multiple times to create a list of preferred hosts. The software
string]
searches for hosts in the order in which you specify them.
• For hostname, specify the name or IP address of the host.
• (Optional) For port integer, specify a server port number. The default
is port 49. The range is 1 to 65535.
• (Optional) For timeout integer, specify a time in seconds the switch
waits for a response from the daemon before it times out and declares
an error. The default is 5 seconds. The range is 1 to 1000 seconds.
• (Optional) For key string, specify the encryption key for encrypting
and decrypting all traffic between the switch and the TACACS+
daemon. You must configure the same key on the TACACS+ daemon
for encryption to succeed.
Step 3 aaa new-model Enables AAA.
Step 4 aaa group server tacacs+ group-name (Optional) Defines the AAA server-group with a group name.
This command puts the switch in a server group subconfiguration mode.
Command Purpose
Step 5 server ip-address (Optional) Associates a particular TACACS+ server with the defined
server group. Repeat this step for each TACACS+ server in the AAA
server group.
Each server in the group must be previously defined in Step 2.
Step 6 end Returns to privileged EXEC mode.
Step 7 show tacacs Verifies your entries.
Step 8 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To remove the specified TACACS+ server name or address, use the no tacacs-server host hostname
global configuration command. To remove a server group from the configuration list, use the no aaa
group server tacacs+ group-name global configuration command. To remove the IP address of a
TACACS+ server, use the no server ip-address server group subconfiguration command.
To configure AAA authentication, define a named list of authentication methods and then apply that list
to various ports. The method list defines the types of authentication you intend to perform and the
sequence in which you intend to perform them; you must apply the list to a specific port before you can
perform any of the defined authentication methods. The only exception is the default method list (which,
by coincidence, is named default). The default method list is automatically applied to all ports except
those that have a named method list explicitly defined. A defined method list overrides the default
method list.
A method list describes the sequence and authentication methods that must be queried to authenticate a
user. You can designate one or more security protocols for authentication, ensuring a backup system for
authentication in case the initial method fails. The software uses the first method listed to authenticate
users; if that method fails to respond, the software selects the next authentication method in the method
list. This process continues until there is successful communication with a listed authentication method
or until all defined methods are exhausted. If authentication fails at any point in this cycle—meaning that
the security server or local username database responds by denying the user access—the authentication
process stops, and no other authentication methods are attempted.
Beginning in privileged EXEC mode, follow these steps to configure login authentication:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 aaa new-model Enables AAA.
Command Purpose
Step 3 aaa authentication login {default | Creates a login authentication method list.
list-name} method1 [method2...]
• To create a default list that is used when a named list is not specified
in the login authentication command, use the default keyword
followed by the methods that you plan to use in default situations. The
default method list is automatically applied to all ports.
• For list-name, specify a character string to name the list you are
creating.
• For method1..., specify the actual method the authentication
algorithm tries. The additional methods of authentication are used
only if the previous method returns an error, not if it fails.
Select one of these methods:
• enable—Use the enable password for authentication. Before you can
use this authentication method, you must define an enable password
by using the enable password global configuration command.
• group tacacs+—Uses TACACS+ authentication. Before you can use
this authentication method, you must configure the TACACS+
server. For more information, see the “Identifying the TACACS+
Server Host and Setting the Authentication Key” section on
page 3-18.
• line—Use the line password for authentication. Before you can use
this authentication method, you must define a line password. Use the
password password line configuration command.
• local—Use the local username database for authentication. You must
enter username information in the database. Use the username
password global configuration command.
• local-case—Use a case-sensitive local username database for
authentication. You must enter username information in the database
by using the username name password global configuration
command.
• none—Do not use any authentication for login.
Step 4 line [console | tty | vty] line-number Enters line configuration mode, and configure the lines to which you want
[ending-line-number] to apply the authentication list.
Step 5 login authentication { default | Applies the authentication list to a line or set of lines.
list-name}
• If you specify default, use the default list created with the aaa
authentication login command.
• For list-name, specify the list created with the aaa authentication
login command.
Step 6 end Returns to privileged EXEC mode.
Step 7 show running-config Verifies your entries.
Step 8 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To disable AAA, use the no aaa new-model global configuration command. To disable AAA
authentication, use the no aaa authentication login {default | list-name} method1 [method2...] global
configuration command. To either disable TACACS+ authentication for logins or to return to the default
value, use the no login authentication {default | list-name} line configuration command.
Configuring TACACS+ Authorization for Privileged EXEC Access and Network Services
AAA authorization limits the services available to a user. When AAA authorization is enabled, the
switch uses information retrieved from the user’s profile, which is located either in the local user
database or on the security server, to configure the user’s session. The user is granted access to a
requested service only if the information in the user profile allows it.
You can use the aaa authorization global configuration command with the tacacs+ keyword to set
parameters that restrict a user’s network access to privileged EXEC mode.
The aaa authorization exec tacacs+ local command sets these authorization parameters:
• Use TACACS+ for privileged EXEC access authorization if authentication was performed by using
TACACS+.
• Use the local database if authentication was not performed by using TACACS+.
Note Authorization is bypassed for authenticated users who log in through the CLI even if authorization has
been configured.
Beginning in privileged EXEC mode, follow these steps to specify TACACS+ authorization for
privileged EXEC access and network services:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 aaa authorization network tacacs+ Configures the switch for user TACACS+ authorization for all
network-related service requests.
Step 3 aaa authorization exec tacacs+ Configures the switch for user TACACS+ authorization if the user has
privileged EXEC access.
The exec keyword might return user profile information (such as
autocommand information).
Step 4 end Returns to privileged EXEC mode.
Step 5 show running-config Verifies your entries.
Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To disable authorization, use the no aaa authorization {network | exec} method1 global configuration
command.
The AAA accounting feature tracks the services that users are accessing and the amount of network
resources that they are consuming. When AAA accounting is enabled, the switch reports user activity to
the TACACS+ security server in the form of accounting records. Each accounting record contains
accounting attribute-value (AV) pairs and is stored on the security server. This data can then be analyzed
for network management, client billing, or auditing.
Beginning in privileged EXEC mode, follow these steps to enable TACACS+ accounting for each Cisco
IOS privilege level and for network services:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 aaa accounting network start-stop Enables TACACS+ accounting for all network-related service requests.
tacacs+
Step 3 aaa accounting exec start-stop Enables TACACS+ accounting to send a start-record accounting notice
tacacs+ at the beginning of a privileged EXEC process and a stop-record at the
end.
Step 4 end Returns to privileged EXEC mode.
Step 5 show running-config Verifies your entries.
Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To disable accounting, use the no aaa accounting {network | exec} {start-stop} method1... global
configuration command.
Encrypting Passwords
Because protocol analyzers can examine packets (and read passwords), you can increase access security
by configuring the Cisco IOS software to encrypt passwords. Encryption prevents the password from
being readable in the configuration file.
To configure the Cisco IOS software to encrypt passwords, perform this task:
Command Purpose
Switch(config)# service password-encryption Encrypts a password.
Encryption occurs when the current configuration is written or when a password is configured. Password
encryption is applied to all passwords, including authentication key passwords, the privileged command
password, console and virtual terminal line access passwords, and Border Gateway Protocol (BGP)
neighbor passwords. The service password-encryption command keeps unauthorized individuals from
viewing your password in your configuration file.
Caution The service password-encryption command does not provide a high level of network security. If you
use this command, you should also take additional network security measures.
Although you cannot recover a lost encrypted password (that is, you cannot get the original password
back), you can regain control of the switch after having lost or forgotten the encrypted password. See
the “Recovering a Lost Enable Password” section on page 3-25 for more information.
For information on how to display the password or access level configuration, see the “Displaying the
Password, Access Level, and Privilege Level Configuration” section on page 3-24.
Command Purpose
Step 1 Switch(config)# privilege mode level level Sets the privilege level for a command.
command
Step 2 Switch(config)# enable password level level Specifies the enable password for a privilege level.
[encryption-type] password
For information on how to display the password or access level configuration, see the “Displaying the
Password, Access Level, and Privilege Level Configuration” section on page 3-24.
Command Purpose
Switch(config-line)# privilege level level Changes the default privilege level for the line.
For information on how to display the password or access level configuration, see the “Displaying the
Password, Access Level, and Privilege Level Configuration” section on page 3-24.
Command Purpose
Switch# enable level Logs in to a specified privilege level.
Command Purpose
Switch# disable level Exits to a specified privilege level.
Command Purpose
Step 1 Switch# show running-config Displays the password and access level configuration.
Step 2 Switch# show privilege Shows the privilege level configuration.
This example shows how to display the password and access level configuration:
Switch# show running-config
Building configuration...
Current configuration:
!
version 12.0
service timestamps debug datetime localtime
service timestamps log datetime localtime
no service password-encryption
!
hostname Switch
!
boot system flash sup-bootflash
enable password lab
!
<...output truncated...>
This example shows how to display the privilege level configuration:
Switch# show privilege
Current privilege level is 15
Switch#
Note Ctrl-C is always enabled for five seconds after you reboot the switch, regardless of whether the
configuration-register setting has Ctrl-C disabled.
Caution To avoid possibly halting the Catalyst 4500 series switch switch, remember that valid configuration
register settings might be combinations of settings and not just the individual settings listed in Table 3-3.
For example, the factory default value of 0x2101 is a combination of settings.
Table 3-3 lists the meaning of each of the software configuration memory bits. Table 3-4 defines the boot
field.
Note The factory default configuration register setting for systems and spares is 0x2101. However, the
recommended value is 0x0102.
When the boot field is set to either 00 or 01 (0-0-0-0 or 0-0-0-1), the system ignores any boot instructions
in the system configuration file and the following occurs:
• When the boot field is set to 00, you must boot up the operating system manually by issuing the boot
command at the system bootstrap or ROMMON prompt.
• When the boot field is set to 01, the system boots the first image in the bootflash single in-line
memory module (SIMM).
• When the entire boot field equals a value between 0-0-1-0 and 1-1-1-1, the switch loads the system
image specified by boot system commands in the startup configuration file.
Caution If you set bootfield to a value between 0-0-1-0 and 1-1-1-1, you must specify a value in the boot system
command, else the switch cannot boot up and will remain in ROMMON.
You can enter the boot command only or enter the command and include additional boot instructions,
such as the name of a file stored in flash memory, or a file that you specify for booting from a network
server. If you use the boot command without specifying a file or any other boot instructions, the system
boots from the default flash image (the first image in onboard flash memory). Otherwise, you can
instruct the system to boot up from a specific flash image (using the boot system flash filename
command).
You can also use the boot command to boot up images stored in the compact flash cards located in slot 0
on the supervisor engine.
Command Purpose
Step 1 Switch# show version Determines the current configuration register setting.
Step 2 Switch# configure terminal Enters configuration mode, and specify the terminal
option.
Step 3 Switch(config)# config-register value Modifies the existing configuration register setting to
reflect the way you want the switch to load a system
image.
Step 4 Switch(config)# end Exits configuration mode.
Step 5 Switch# reload Reboots the switch to make your changes take effect.
To modify the configuration register while the switch is running Cisco IOS software, follow these steps:
Step 1 Enter the enable command and your password to enter privileged level, as follows:
Switch> enable
Password:
Switch#
Step 2 Enter the configure terminal command at the EXEC mode prompt (#), as follows:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
Set the contents of the configuration register by specifying the value command variable, where value is
a hexadecimal number preceded by 0x (see Table 3-3 on page 3-27).
Step 4 Enter the end command to exit configuration mode. The new value settings are saved to memory;
however, the new settings do not take effect until the system is rebooted.
Step 5 Enter the show version EXEC command to display the configuration register value currently in effect;
it will be used at the next reload. The value is displayed on the last line of the screen display, as shown
in this sample output:
Configuration register is 0x141 (will be 0x102 at next reload)
Command Purpose
Switch# show version Displays the configuration register setting.
In this example, the show version command indicates that the current configuration register is set so that
the switch does not automatically load an operating system image. Instead, it enters ROMMON mode
and waits for you to enter ROM monitor commands.
Switch# show version
Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software
(cat4500e-UNIVERSAL-M), Version 03.01.00.SG RELEASE SOFTWARE (fc4)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Fri 10-Sep-10 03:32 by prod_rel_team
...
ROM: 15.0(1r)SG(0.326)
Jawa Revision 7, Snowtrooper Revision 0x0.0x15
1
Specifying the Startup System Image
You can enter multiple boot commands in the startup configuration file or in the BOOT environment
variable to provide backup methods for loading a system image.
The BOOT environment variable is also described in the “Specify the Startup System Image in the
Configuration File” section in the “Loading and Maintaining System Images and Microcode” chapter of
the Cisco IOS Configuration Fundamentals Configuration Guide.
Use the following sections to configure your switch to boot from flash memory. flash memory can be
either single in-line memory modules (SIMMs) or flash disks. Check the appropriate hardware
installation and maintenance guide for information about types of flash memory.
1.
Security Precautions
Note the following security precaution when loading from flash memory:
Caution You can only change the system image stored in flash memory from privileged EXEC level on the
console terminal.
Step 1 Copy a system image to flash memory using TFTP or other protocols. Refer to the “Cisco IOS File
Management” and “Loading and Maintaining System Images” chapters in the Cisco IOS Configuration
Fundamentals Configuration Guide, Release 12.2, at the following URL:
http://www.cisco.com/en/US/docs/ios/fundamentals/configuration/guide/12_2sr/cf_12_2sr_book.html
Step 2 Configure the system to boot automatically from the desired file in flash memory.
You might need to change the configuration register value. See the “Modifying the Boot Field and Using
the boot Command” section on page 3-27, for more information on modifying the configuration register.
Step 3 Save your configurations.
Step 4 Power cycle and reboot your system to verify that all is working as expected.
Note When you use the boot system and boot bootldr global configuration commands, you affect only the
running configuration. To save the configuration for future use, you must save the environment variable
settings to your startup configuration, which places the information under ROM monitor control. Enter
the copy system:running-config nvram:startup-config command to save the environment variables
from your running configuration to your startup configuration.
You can view the contents of the BOOT and BOOTLDR variables using the show bootvar command.
This command displays the settings for these variables as they exist in the startup configuration and in
the running configuration if a running configuration setting differs from a startup configuration setting.
This example shows how to check the BOOT and BOOTLDR variables on the switch:
Switch# show bootvar
BOOTLDR variable = bootflash:cat4000-is-mz,1;
If the Catalyst 4500 series switch is accessible to a TFTP server, you can copy an image to the bootflash
memory with the TFTP command:
Switch# copy tftp://192.20.3.123/tftpboot/abc/cat4500-entservices-mz.bin bootflash:
When the copying is completed, you can reboot the just-copied Catalyst 4500 series switch image to the
image stored in the bootflash memory with the reload command:
Switch# reload
To see details about the default parameters set by the erase /all non-default command, see the usage
guidelines for the erase command in the Catalyst 4500 Series Switch Cisco IOS Command Reference.
Configuring Crashinfo
The crashinfo file is a collection of useful debugging information related to a process that has crashed.
A system might have numerous processes running, and occasionally, one or more of them may crash
because of a software defect. The crashinfo file not only contain a snapshot of the process’s state infor-
mation of the process state at crash time, but it also contains a snapshot of the system's state informa-
tion (such as the state of system resources). The information in the crashinfo file helps to identify a
crash’s possible root cause.
This section contains the following subsections:
• About Crashinfo, page 3-33
• Configuring Crashinfo, page 3-35
About Crashinfo
This subsection describes the three types of crashinfo files (process crashinfo, process core dump, and
kernel crashinfo).
The following topics are discussed:
• Process Crashinfo File, page 3-33
• Process Core Dump File, page 3-34
• Kernel Crashinfo File, page 3-34
Configuring Crashinfo
The crashinfo is configured with default values. It is not necessary to configure the crashinfo because
the default values are designed to be optimal. The configuration may require customization to account
for system configuration, storage availability, and capacity.
Topics include:
• Default Configuration, page 3-35
• Configuring commands, page 3-35
• show Commands, page 3-36
• Enabling the Generation of the Process Core Dump File, page 3-38
• Saving Crash Files to a Secondary Devices, page 3-39
• Determining the Process that Crashed, page 3-39
Default Configuration
By default, the crash files are saved in crashinfo: partition, which cannot be changed. Two additional
storage devices can be configured to save the crash files.
Using the crashinfo configuration commands, you can set the maximum number of files stored in each
of the storage devices. This allows you to use the storage device wisely, saving the crash files, and
increasing their manageability. By default, you can save up to 10 crashinfo files and up to 10 coredump
files. Recall that the generation of the process core dump file is disabled by default. When the maximum
number of files has been achieved and a new crash file is created, one or more of the oldest files, among
the process crashinfo and core dump files, are deleted to create space for the new crash file.
The file named last_crashinfo possesses the file name of the latest crash file. View this file when it is
hard to locate the latest crash file because multiple crash files exist on multiple storage devices.
Configuring commands
The following commands define the number of crashinfo files or coredump files respectively to be
retained on each of the storage partition such as crashinfo:. Depending on the size of the storage
partition, you might not be able to retain the configured number of files. Also, when a new crash file is
created, and if there is insufficient space to store the new crash file, the oldest crash files are deleted
until enough storage space is available for the new crash file.
Command Purpose
Switch# exception crashinfo maximum-files ? Sets the maximum number of process crashinfo
<1-20> A value between 1-20 files to be retained.
The initial default values is 10.
Switch# exception coredump maximum-files ? Sets the maximum number of process core dump
<1-20> A value between 1-20 files to be retained.
The initial default values are 10.
The following command is used to configure the list of storage devices to be searched for space defined
by the system when space is required to store newly created crash files. The first device is always the
crashinfo: partition and cannot be changed. For example, if a second device is configured and there is
insufficient space to store the new crash files, the system attempts to save these new crash files on the
second device rather than deleting files from the crashinfo: partition.
Command Purpose
Switch# exception dump device ? Sets the second and third storage devices that are
second Second search device to store checked for available storage space for saving
crashinfo
third Third search device to store
the new crash files.
crashinfo crashinfo: is the default device and cannot be
changed,
The following command enables the generation of coredump crash data. The coredump data is a binary
data, and it is compressed by default.
Command Purpose
Switch# exception coredump Enables the generation of compressed process
core dump file.
The default is not to generate compressed
process core dump file.
The following command directs the system to generate uncompressed coredump crash data. Typically,
you should not generate uncompressed coredump data because the file can very large (on the order of
1-2 Gigabytes), and storage sapce for the crash file will be insufficient.
Command Purpose
Switch# exception coredump uncompress Enables the generation of the uncompressed
process core dump file.
Note An uncompressed coredump file can be
very large.
show Commands
Use the following command to display the current configuration of the crashinfo:
Switch# show exception information
Exception configuration information
Coredump file - disabled,compressed
Maximum number of files
Core - 10 file(s)
Process crashinfo - 10 file(s)
Configured storage devices
1 - crashinfo:
2 - not assigned
3 - not assigned
Use the following command to determine the file name of latest crash file:
Switch# more crashinfo:last_crashinfo
crashinfo:crashinfo_iosd_20100803-073408-UTC
Use the following command to view the contents of a process crashinfo file:
Switch# more crashinfo:crashinfo_iosd_20100803-073408-UTC
====== signr 5
======= Process
====== Registers
--More-
//output omitted//
Use the following command to view the contents of kernel crash information
Switch# more crashinfo:koops.dat
NOVAOOPS:
<4>CRASHINFO_OOPS:
<4>Oops: Machine check, sig: 7 [#1]
<4>SMP NR_CPUS=2 Cisco Systems K10 (Callista)
<4>Modules linked in: gsbu64atomic mtsmod(P) aipcmod(P) vsi uld_timer cpumem tun bridge
pds crashinfo bpa_mem
<4>NIP: c0022cc0 LR: c00230e8 CTR: c00230b0
<4>REGS: c04c4f50 TRAP: 0202 Tainted: P (2.6.24.4.28.13.k10)
<4>MSR: 00021000 <ME> CR: 24084422 XER: 20000000
<4>TASK = ea088150[13355] 'iosd' THREAD: ea738000 CPU: 0
<6>GPR00: 00000001 ea739c60 ea088150 0000001a ea4c0460 00000000 00000000 00000000
<6>GPR08: c0fec000 c04d0000 fcfd3000 fcfd3060 24084482 1423ebb8 00000000 10121d28
<6>GPR16: 100d0000 ea739db8 c03f61a0 c03fb098 ea088318 c04c0000 ea739f50 ea088530
<6>GPR24: 418004fc ea739e88 00029000 00021000 c04c8eb0 0000005a 0000005a e9b80fa0
<4>NIP [c0022cc0] cisco_tatooine_mask_irq_internal+0x10/0x40
<4>LR [c00230e8] cisco_tatooine_mask_and_ack_irq+0x38/0x60
<4>Call Trace:
<4>[ea739c60] [c00f3004] proc_destroy_inode+0x24/0x40 (unreliable)
<4>[ea739c80] [c0073e0c] free_irq+0x14c/0x170
<4>[ea739ca0] [c0075ee0] irq_proc_release+0x50/0x170
<4>[ea739cc0] [c00f3570] proc_reg_release+0x70/0xd0
<4>[ea739ce0] [c00ab28c] __fput+0xbc/0x1b0
<4>[ea739d00] [c00a777c] filp_close+0x6c/0xd0
<4>[ea739d20] [c004506c] put_files_struct+0x10c/0x120
<4>[ea739d40] [c00468f8] do_exit+0x198/0x7a0
<4>[ea739d90] [c0046f38] do_group_exit+0x38/0x90
TIMESTAMP:
730956298.010309
READFLAG:
1
Use the following command to list the current crash files on the system:
Switch# show exception files
Exception crashinfo files
Files in crashinfo:
crashinfo_iosd_20100803-064137-UTC
crashinfo_iosd_20100803-073408-UTC
Command Purpose
Step 1 Switch# config terminal Enters global configuration mode.
Step 2 Switch(config)# exception coredump Generates the process core dump file.
Step 3 Switch(config)# exception coredump maximum-files Limits the number of process core dump files to x.
x
Step 4 Switch(config)# end Returns to global configuration mode.
Step 5 Switch# show exception information (optional) Verifies the configuration.
This example shows how to generate the process core dump file, limit the number of process core dump
files to 2, and to verify the configuration:
Switch# config t
Switch (config)# exception coredump
Switch (config)# exception coredump maximum files 2
Switch (config)# end
Switch# show exception information
Exception configuration information
Coredump file - enabled,compressed
Maximum number of files
Core - 2 file(s)
Process crashinfo - 10 file(s)
Configured storage devices
1 - crashinfo:
2 - not assigned
3 - not assigned
Dump protocol - not configured
Command Purpose
Step 1 Switch# config terminal Enters global configuration mode.
Step 2 Switch(config)# exception dump second device x Configures x as the storage devices to be searched for
needed storage space.
Step 3 Switch(config)# end Returns to global configuration mode.
Step 4 Switch# show exception information (optional) Verifies the configuration.
Note A portion of the output should indicate that the
secondary device has been configured.
This example shows how to configure the USB to be searched for needed storage space and to verify
the configuration>
Switch# config t
Switch(config)# exception dump second device usb0:
Switch# show exception information
Exception configuration information
Coredump file - disabled,compressed
Maximum number of files
Core - 10 file(s)
Process crashinfo - 10 file(s)
Configured storage devices
1 - crashinfo:
2 - usb0:
3 - not assigned
Dump protocol - not configured
Command Purpose
Step 1 Switch# show exception information Displays the configuration to determine where the crash
files are saved.
Step 2 Switch# more crashinfo:last_crashinfo Locates the latest crashinfo file.
Step 3 Switch# more Displays the contents of the process crashinfo file.
crashinfo:crashinfo_yyyymmdd-hhmmss-UTC
Step 4 Switch(config)# more crashinfo:koops.dat Displays the contents of the kernel crashinfo file to
determine whether the kernel had crashed.
Step 5 Switch# copy crashinfo: tftp: Copies a crash file to a TFTP server. When Cisco TAC
Source filename [}? requests a specific crash file for root cause analysis, you
Address or name of remote host []? remote_host
Destination filename []?
can copy the file to a TFTP server from the switch.
crashinfo_yyyymmdd-hhmmss-UTC
======= Process
====== Registers
--More-
//output omitted//
TIMESTAMP:
730956298.010309
READFLAG:
Switch# copy crashinfo: tftp:
Source filename [}?
Address or name of remote host []? 10.5.224.2
Destination filename []? /users/user/crashinfo_iosd_20100803-073408-UTC
!!!!!!
790676 bytes copied in 37.420 secs (21130 bytes/sec)
This chapter describes how to perform one-time operations to administer the Catalyst 4500 Series
switch.
This chapter also describes how to install and configure the Embedded CiscoView network management
system to provide a graphical representation of a Catalyst 4500 series switch and to provide a GUI-based
management and configuration interface.
This chapter includes the following major sections:
• Managing the System Time and Date, page 4-1
• Configuring a System Name and Prompt, page 4-14
• Creating a Banner, page 4-17
• Managing the MAC Address Table, page 4-19
• Managing the ARP Table, page 4-30
• Configuring Embedded CiscoView Support, page 4-30
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it will be found in the larger
Cisco IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
System Clock
The core of the time service is the system clock, which monitors the date and time. This clock starts when
the system starts.
The system clock can provide time to these services:
• User show commands
• Logging and debugging messages
The system clock keeps track of time internally based on Universal Time Coordinated (UTC), also
known as Greenwich Mean Time (GMT). You can configure information about the local time zone and
summer time (daylight saving time) so that the time is correct for the local time zone.
The system clock keeps track of whether the time is authoritative or not (whether it has been set by a
time source considered to be authoritative). If it is not authoritative, the time is available only for display
purposes and is not redistributed. For configuration information, see the “Configuring Time and Date
Manually” section on page 4-11.
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 the time service for your network be derived from the public NTP
servers available on the IP Internet.
Figure 4-1 shows a typical network example using NTP. Switch A is the NTP master, with Switches B,
C, and D configured in NTP server mode, in server association with Switch A. Switch E is configured
as an NTP peer to the upstream and downstream switches, Switch B and Switch F, respectively.
Switch A
Local
workgroup
servers
Switch E
Workstations
Switch F
101349
Workstations
If the network is isolated from the Internet, Cisco’s implementation of NTP allows a device to act as if
it is synchronized through NTP, when it is not. Other devices then synchronize to that device through
NTP.
NTP time overrides the time set by any other method.
Several manufacturers include NTP software for their host systems, and a public version for systems
running UNIX and its various derivatives is also available. This software allows host systems to be
synchronized as well.
Configuring NTP
These sections contain this configuration information:
• Default NTP Configuration, page 4-4
• Configuring NTP Authentication, page 4-4
NTP is enabled on all interfaces by default. All interfaces receive NTP packets.
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 ntp authenticate Enables the NTP authentication feature, which is disabled by
default.
Step 3 ntp authentication-key number md5 value Defines the authentication keys. By default, none are defined.
• For number, specify a key number. The range is 1 to
4294967295.
• md5 specifies that message authentication support is provided
by using the message digest algorithm 5 (MD5).
• For value, enter an arbitrary string of up to eight characters for
the key.
The switch does not synchronize to a device unless both have one
of these authentication keys, and the key number is specified by the
ntp trusted-key key-number command.
Command Purpose
Step 4 ntp trusted-key key-number Specifies one or more key numbers (defined in Step 3) that a peer
NTP device must provide in its NTP packets for this switch to
synchronize to it.
By default, no trusted keys are defined.
For key-number, specify the key defined in Step 3.
This command provides protection against accidentally
synchronizing the switch to a device that is not trusted.
Step 5 end Returns to privileged EXEC mode.
Step 6 show running-config Verifies your entries.
Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To disable NTP authentication, use the no ntp authenticate global configuration command. To remove
an authentication key, use the no ntp authentication-key number global configuration command. To
disable authentication of the identity of a device, use the no ntp trusted-key key-number global
configuration command.
This example shows how to configure the switch to synchronize only to devices providing authentication
key 42 in the device’s NTP packets:
Switch# configure terminal
Switch(config)# ntp authenticate
Switch(config)# ntp authentication-key 42 md5 aNiceKey
Switch(config)# ntp trusted-key 42
Switch(config)# end
Switch#
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 ntp peer ip-address [version number] Configures the switch system clock to synchronize a peer or to be
[key keyid] [source interface] synchronized by a peer (peer association).
[prefer]
or or
ntp server ip-address [version
number] [key keyid] [source Configures the switch system clock to be synchronized by a time server
interface] [prefer] (server association).
No peer or server associations are defined by default.
• For ip-address in a peer association, specify either the IP address of
the peer providing, or being provided, the clock synchronization. For
a server association, specify the IP address of the time server
providing the clock synchronization.
• (Optional) For number, specify the NTP version number. The range
is 1 to 3. By default, Version 3 is selected.
• (Optional) For keyid, enter the authentication key defined with the
ntp authentication-key global configuration command.
• (Optional) For interface, specify the interface from which to pick the
IP source address. By default, the source IP address is taken from the
outgoing interface.
• (Optional) Enter the prefer keyword to make this peer or server the
preferred one that provides synchronization. This keyword reduces
switching back and forth between peers and servers.
Step 3 end Returns to privileged EXEC mode.
Step 4 show running-config Verifies your entries.
Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
You need to configure only one end of an association; the other device can automatically establish the
association. If you are using the default NTP version (Version 3) and NTP synchronization does not
occur, try using NTP Version 2. Many NTP servers on the Internet run Version 2.
To remove a peer or server association, use the no ntp peer ip-address or the no ntp server ip-address
global configuration command.
This example shows how to configure the switch to synchronize its system clock with the clock of the
peer at IP address 172.16.22.44 using NTP Version 2:
Switch# configure terminal
Switch(config)# ntp server 172.16.22.44 version 2
Switch(config)# end
Switch#
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 interface interface-id Specifies the interface to send NTP broadcast packets, and enter
interface configuration mode.
Step 3 ntp broadcast [version number] [key Enables the interface to send NTP broadcast packets to a peer.
keyid] [destination-address]
By default, this feature is disabled on all interfaces.
• (Optional) For number, specify the NTP version number. The
range is 1 to 3. If you do not specify a version, Version 3 is used.
• (Optional) For keyid, specify the authentication key to use when
sending packets to the peer.
• (Optional) For destination-address, specify the IP address of the
peer that is synchronizing its clock to this switch.
Step 4 end Returns to privileged EXEC mode.
Step 5 show running-config Verifies your entries.
Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To disable the interface from sending NTP broadcast packets, use the no ntp broadcast interface
configuration command.
This example shows how to configure a port to send NTP Version 2 packets:
Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ntp broadcast version 2
Switch(config-if)# end
Switch#
To configure the switch to receive NTP broadcast packets from connected peers, perform this task:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 interface interface-id Specifies the interface to receive NTP broadcast packets, and enter
interface configuration mode.
Step 3 ntp broadcast client Enables the interface to receive NTP broadcast packets.
By default, no interfaces receive NTP broadcast packets.
Step 4 exit Returns to global configuration mode.
Step 5 ntp broadcastdelay microseconds (Optional) Changes the estimated round-trip delay between the switch and
the NTP broadcast server.
The default is 3000 microseconds; the range is 1 to 999999.
Step 6 end Returns to privileged EXEC mode.
Step 7 show running-config Verifies your entries.
Step 8 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To disable an interface from receiving NTP broadcast packets, use the no ntp broadcast client interface
configuration command. To change the estimated round-trip delay to the default, use the
no ntp broadcastdelay global configuration command.
This example shows how to configure a port to receive NTP broadcast packets:
Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# ntp broadcast client
Switch(config-if)# end
Switch#
To control access to NTP services by using access lists, perform this task:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 ntp access-group {query-only | Creates an access group, and apply a basic IP access list.
serve-only | serve | peer}
access-list-number The keywords have these meanings:
• query-only—Allows only NTP control queries.
• serve-only—Allows only time requests.
• serve—Allows time requests and NTP control queries, but does not
allow the switch to synchronize to the remote device.
• peer—Allows time requests and NTP control queries and allows the
switch to synchronize to the remote device.
For access-list-number, enter a standard IP access list number from 1
to 99.
Step 3 access-list access-list-number Creates the access list.
permit source [source-wildcard]
• For access-list-number, enter the number specified in Step 2.
• Enter the permit keyword to permit access if the conditions are
matched.
• For source, enter the IP address of the device that is permitted access
to the switch.
• (Optional) For source-wildcard, enter the wildcard bits to be applied
to the source.
Note When creating an access list, remember that, by default, the end
of the access list contains an implicit deny statement for
everything if it did not find a match before reaching the end.
Step 4 end Returns to privileged EXEC mode.
Step 5 show running-config Verifies your entries.
Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
The access group keywords are scanned in this order, from least restrictive to most restrictive:
1. peer—Allows time requests and NTP control queries and allows the switch to synchronize itself to
a device whose address passes the access list criteria.
2. serve—Allows time requests and NTP control queries, but does not allow the switch to synchronize
itself to a device whose address passes the access list criteria.
3. serve-only—Allows only time requests from a device whose address passes the access list criteria.
4. query-only—Allows only NTP control queries from a device whose address passes the access list
criteria.
If the source IP address matches the access lists for more than one access type, the first type is granted.
If no access groups are specified, all access types are granted to all devices. If any access groups are
specified, only the specified access types are granted.
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 interface interface-id Enters interface configuration mode, and specify the interface to disable.
Step 3 ntp disable Disables NTP packets from being received on the interface.
By default, all interfaces receive NTP packets.
To reenable receipt of NTP packets on an interface, use the
no ntp disable interface configuration command.
Step 4 end Returns to privileged EXEC mode.
Step 5 show running-config Verifies your entries.
Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 ntp source type number Specifies the interface type and number from which the IP source address
is taken.
By default, the source address is set by the outgoing interface.
Step 3 end Returns to privileged EXEC mode.
Step 4 show running-config Verifies your entries.
Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
The specified interface is used for the source address for all packets sent to all destinations. If a source
address is to be used for a specific association, use the source keyword in the ntp peer or ntp server
global configuration command as described in the “Configuring NTP Associations” section on page 4-6.
Command Purpose
Step 1 clock set hh:mm:ss day month year Manually sets the system clock using one of these formats.
or
clock set hh:mm:ss month day year • For hh:mm:ss, specify the time in hours (24-hour format), minutes,
and seconds. The time specified is relative to the configured time
zone.
• For day, specify the day by date in the month.
• For month, specify the month by name.
• For year, specify the year (no abbreviation).
This example shows how to manually set the system clock to 1:32 p.m. on July 23, 2001:
Switch# clock set 13:32:00 23 July 2001
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 clock timezone zone hours-offset Sets the time zone.
[minutes-offset]
To set the time to UTC, use the no clock timezone global configuration
command.
The switch keeps internal time in universal time coordinated (UTC), so
this command is used only for display purposes and when the time is
manually set.
• For zone, enter the name of the time zone to be displayed when
standard time is in effect. The default is UTC.
• For hours-offset, enter the hours offset from UTC.
• (Optional) For minutes-offset, enter the minutes offset from UTC.
Step 3 end Returns to privileged EXEC mode.
Step 4 show running-config Verifies your entries.
Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
The minutes-offset variable in the clock timezone global configuration command is available for those
cases where a local time zone is a percentage of an hour different from UTC. For example, the time zone
for some sections of Atlantic Canada (AST) is UTC-3.5, where the 3 means 3 hours and .5 means 50
percent. In this case, the necessary command is clock timezone AST -3 30.
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 clock summer-time zone recurring Configures summer time to start and end on the specified days every year.
[week day month hh:mm week day
month hh:mm [offset]] Summer time is disabled by default. If you specify clock summer-time
zone recurring without parameters, the summer time rules default to the
United States rules.
• For zone, specify the name of the time zone (for example, PDT) to be
displayed when summer time is in effect.
• (Optional) For week, specify the week of the month (1 to 5 or last).
• (Optional) For day, specify the day of the week (Sunday, Monday...).
• (Optional) For month, specify the month (January, February...).
• (Optional) For hh:mm, specify the time (24-hour format) in hours and
minutes.
• (Optional) For offset, specify the number of minutes to add during
summer time. The default is 60.
Step 3 end Returns to privileged EXEC mode.
Step 4 show running-config Verifies your entries.
Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
The first part of the clock summer-time global configuration command specifies when summer time
begins, and the second part specifies when it ends. All times are relative to the local time zone. The start
time is relative to standard time. The end time is relative to summer time. If the starting month is after
the ending month, the system assumes that you are in the southern hemisphere.
This example shows how to specify that summer time starts on the first Sunday in April at 02:00 and
ends on the last Sunday in October at 02:00:
Switch# configure terminal
Switch(config)# clock summer-time PDT recurring 1 Sunday April 2:00 last Sunday October
2:00
Switch(config)# end
Switch#
If summer time in your area does not follow a recurring pattern (configure the exact date and time of the
next summer time events), perform this task:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 clock summer-time zone date [month Configures summer time to start on the first date and end on the second
date year hh:mm month date year date.
hh:mm [offset]]
or To disable summer time, use the no clock summer-time global
clock summer-time zone date [date configuration command.
month year hh:mm date month year
hh:mm [offset]] Summer time is disabled by default.
• For zone, specify the name of the time zone (for example, PDT) to be
displayed when summer time is in effect.
• (Optional) For week, specify the week of the month (1 to 5 or last).
• (Optional) For day, specify the day of the week (Sunday, Monday...).
• (Optional) For month, specify the month (January, February...).
• (Optional) For hh:mm, specify the time (24-hour format) in hours and
minutes.
• (Optional) For offset, specify the number of minutes to add during
summer time. The default is 60.
Step 3 end Returns to privileged EXEC mode.
Step 4 show running-config Verifies your entries.
Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
The first part of the clock summer-time global configuration command specifies when summer time
begins, and the second part specifies when it ends. All times are relative to the local time zone. The start
time is relative to standard time. The end time is relative to summer time. If the starting month is after
the ending month, the system assumes that you are in the southern hemisphere.
To disable summer time, use the no clock summer-time global configuration command.
This example shows how to set summer time to start on October 12, 2000, at 02:00, and end on April
26, 2001, at 02:00:
Switch# configure terminal
Switch(config)# clock summer-time pdt date 12 October 2000 2:00 26 April 2001 2:00
Switch#
For complete syntax and usage information for the commands used in this section, see the Cisco IOS
Configuration Fundamentals Command Reference, Release 12.3 and the Cisco IOS IP Command
Reference, Volume 2 of 3: Routing Protocols, Release 12.3.
These sections contain this configuration information:
• Configuring a System Name, page 4-15
• Understanding DNS, page 4-15
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 hostname name Manually configures a system name.
The default setting is switch.
The name must follow the rules for ARPANET hostnames. They must start
with a letter, end with a letter or digit, and have as interior characters only
letters, digits, and hyphens. Names can be up to 63 characters.
To return to the default hostname, use the no hostname global
configuration command.
Step 3 end Returns to privileged EXEC mode.
Step 4 show running-config Verifies your entries.
Step 5 copy running-config (Optional) Saves your entries in the configuration file.
startup-config
When you set the system name, it is also used as the system prompt.
Understanding DNS
The DNS protocol controls the Domain Name System (DNS), a distributed database with which you can
map hostnames to IP addresses. When you configure DNS on your switch, you can substitute the
hostname for the IP address with all IP commands, such as ping, telnet, connect, and related Telnet
support operations.
IP defines a hierarchical naming scheme that allows a device to be identified by its location or domain.
Domain names are pieced together with periods (.) as the delimiting characters. For example, Cisco
Systems is a commercial organization that IP identifies by a com domain name, so its domain name is
cisco.com. A specific device in this domain, for example, the File Transfer Protocol (FTP) system is
identified as ftp.cisco.com.
To keep track of domain names, IP has defined the concept of a domain name server, which holds a cache
(or database) of names mapped to IP addresses. To map domain names to IP addresses, you must first
identify the hostnames, specify the name server that is present on your network, and enable the DNS.
Setting Up DNS
To set up your switch to use the DNS, perform this task:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 ip domain-name name Defines a default domain name that the software uses to complete unqualified
hostnames (names without a dotted-decimal domain name).
To remove a domain name, use the no ip domain-name name global
configuration command.
Do not include the initial period that separates an unqualified name from the
domain name.
At boot time, no domain name is configured; however, if the switch
configuration comes from a BOOTP or Dynamic Host Configuration Protocol
(DHCP) server, then the default domain name might be set by the BOOTP or
DHCP server (if the servers were configured with this information).
Step 3 ip name-server Specifies the address of one or more name servers to use for name and address
server-address1 resolution.
[server-address2 ...
server-address6] To remove a name server address, use the no ip name-server server-address
global configuration command.
You can specify up to six name servers. Separate each server address with a
space. The first server specified is the primary server. The switch sends DNS
queries to the primary server first. If that query fails, the backup servers are
queried.
Command Purpose
Step 4 ip domain-lookup (Optional) Enables DNS-based hostname-to-address translation on your switch.
This feature is enabled by default.
To disable DNS on the switch, use the no ip domain-lookup global
configuration command.
If your network devices require connectivity with devices in networks for which
you do not control name assignment, you can dynamically assign device names
that uniquely identify your devices by using the global Internet naming scheme
(DNS).
Step 5 end Returns to privileged EXEC mode.
Step 6 show running-config Verifies your entries.
Step 7 copy running-config (Optional) Saves your entries in the configuration file.
startup-config
If you use the switch IP address as its hostname, the IP address is used and no DNS query occurs. If you
configure a hostname that contains no periods (.), a period followed by the default domain name is
appended to the hostname before the DNS query is made to map the name to an IP address. The default
domain name is the value set by the ip domain-name global configuration command. If there is a
period (.) in the hostname, the Cisco IOS software looks up the IP address without appending any default
domain name to the hostname.
Creating a Banner
You can configure a message-of-the-day (MOTD) and a login banner. The MOTD banner displays on
all connected terminals at login and is useful for sending messages that affect all network users (such as
impending system shutdowns).
The login banner also displays on all connected terminals. It appears after the MOTD banner and before
the login prompts.
Note For complete syntax and usage information for the commands used in this section, see the Cisco IOS
Configuration Fundamentals Command Reference, Release 12.3.
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 banner motd c message c Specifies the message of the day.
To delete the MOTD banner, use the no banner motd global
configuration command.
For c, enter the delimiting character of your choice, for example, a
pound sign (#), and press the Return key. The delimiting character
signifies the beginning and end of the banner text. Characters after the
ending delimiter are discarded.
For message, enter a banner message up to 255 characters. You cannot
use the delimiting character in the message.
Step 3 end Returns to privileged EXEC mode.
Step 4 show running-config Verifies your entries.
Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
This example shows how to configure a MOTD banner for the switch by using the pound sign (#) symbol
as the beginning and ending delimiter:
Switch(config)# banner motd #
This is a secure site. Only authorized users are allowed.
For access, contact technical support.
#
Switch(config)#
This example shows the banner that appears from the previous configuration:
Unix> telnet 172.2.5.4
Trying 172.2.5.4...
Connected to 172.2.5.4.
Escape character is '^]'.
Password:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 banner login c message c Specifies the login message.
To delete the login banner, use the no banner login global configuration
command.
For c, enter the delimiting character of your choice, for example, a pound
sign (#), and press the Return key. The delimiting character signifies the
beginning and end of the banner text. Characters after the ending delimiter
are discarded.
For message, enter a login message up to 255 characters. You cannot use the
delimiting character in the message.
Step 3 end Returns to privileged EXEC mode.
Step 4 show running-config Verifies your entries.
Step 5 copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to configure a login banner for the switch by using the dollar sign ($) symbol
as the beginning and ending delimiter:
Switch# configuration terminal
Switch(config)# banner login $
Access for authorized users only. Please enter your username and password.
$
Switch(config)# end
Switch#
Note For complete syntax and usage information for the commands used in this section, see the command
reference for this release.
When private VLANs are configured, address learning depends on the type of MAC address:
• Dynamic MAC addresses learned in one VLAN of a private VLAN are replicated in the associated
VLANs. For example, a MAC address learned in a private-VLAN secondary VLAN is replicated in
the primary VLAN.
• Static MAC addresses configured in a primary or secondary VLAN are not replicated in the
associated VLANs. When you configure a static MAC address in a private VLAN primary or
secondary VLAN, you should also configure the same static MAC address in all associated VLANs.
For more information about private VLANs, see Chapter 35, “Configuring Private VLANs.”
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 mac address-table aging-time [0 | Sets the length of time that a dynamic entry remains in the MAC
10-1000000] [vlan vlan-id] address table after the entry is used or updated.
To return to the default value, use the no mac address-table
aging-time global configuration command.
The range is 10 to 1000000 seconds. The default is 300. You can also
enter 0, which disables aging. Static address entries are never aged
or removed from the table.
For vlan-id, valid IDs are 1 to 4094.
Step 3 end Returns to privileged EXEC mode.
Command Purpose
Step 4 show mac address-table aging-time Verifies your entries.
Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 snmp-server host host-addr [traps|informs] {version Specifies the recipient of the trap message.
{1|2c|3}} [auth | noauth | priv] community-string
[udp-port port] [notification-type] • For host-addr, specify the name or address of the
NMS.
• Specify traps (the default) to send SNMP traps
to the host. Specify informs to send SNMP
informs to the host.
• Specify the SNMP version to support. Version 1,
the default, is not available with informs.
• For community-string, specify the string to send
with the notification operation. Though you can
set this string by using the snmp-server host
command, we recommend that you define this
string by using the snmp-server community
command before using the snmp-server host
command.
• For notification-type, use the mac-notification
keyword.
Command Purpose
Step 3 snmp-server enable traps mac-notification change Enables the switch to send MAC change traps to the
NMS.
To disable the switch from sending MAC change
notification traps, use the
no snmp-server enable traps mac-notification
change global configuration command.
Step 4 mac address-table notification change Enables the MAC address change notification
feature.
Step 5 mac address-table notification change Enters the trap interval time and the history table
[interval value] | [history-size value] size.
• (Optional) For interval value, specify the
notification trap interval in seconds between
each set of traps that are generated to the NMS.
The range is 0 to 2147483647 seconds; the
default is 1 second.
• (Optional) For history-size value, specify the
maximum number of entries in the MAC
notification history table. The range is 0 to 500;
the default is 1.
To disable the MAC change notification feature, use
the no mac address-table notification change
global configuration command.
Step 6 interface interface-id Enters interface configuration mode, and specify the
interface on which to enable the SNMP MAC change
notification trap.
Step 7 snmp trap mac-notification change {added | removed} Enables the MAC change notification trap.
• Enable the MAC change notification trap
whenever a MAC address is added on this
interface.
• Enable the MAC change notification trap
whenever a MAC address is removed from this
interface.
To disable the MAC change notification traps on a
specific interface, use the no snmp trap
mac-notification change {added | removed}
interface configuration command.
Step 8 end Returns to privileged EXEC mode.
Step 9 show mac address-table notification change interface Verifies your entries.
show running-config
Step 10 copy running-config startup-config (Optional) Saves your entries in the configuration
file.
This example shows how to specify 172.69.59.93 as the network management system, enable the switch
to send MAC change notification traps to the network management system, enable the MAC change
notification feature, set the interval time to 60 seconds, set the history-size to 100 entries, and enable
traps whenever a MAC address is added on the specified port:
Switch# configure terminal
Switch(config)# snmp-server host 172.69.59.93 private mac-notification
Switch(config)# snmp-server enable traps mac-notification change
Switch(config)# mac address-table notification change
Switch(config)# mac address-table notification change interval 60
Switch(config)# mac address-table notification change history-size 100
Switch(config)# interface fastethernet0/2
Switch(config-if)# snmp trap mac-notification change added
Switch(config-if)# end
Switch# show mac address-table notification change interface
MAC Notification Feature is Enabled on the switch
MAC Notification Flags For All Ethernet Interfaces :
----------------------------------------------------
Interface MAC Added Trap MAC Removed Trap
--------- -------------- ----------------
GigabitEthernet1/1 Enabled Enabled
GigabitEthernet1/2 Enabled Enabled
GigabitEthernet1/3 Enabled Enabled
GigabitEthernet1/4 Enabled Enabled
GigabitEthernet1/5 Enabled Enabled
GigabitEthernet1/6 Enabled Enabled
GigabitEthernet1/7 Enabled Enabled
GigabitEthernet1/8 Enabled Enabled
GigabitEthernet1/9 Enabled Enabled
GigabitEthernet1/10 Enabled Enabled
GigabitEthernet1/11 Enabled Enabled
GigabitEthernet1/12 Enabled Enabled
Switch#
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 snmp-server host host-addr [traps|informs] {version Specifies the recipient of the trap message.
{1|2c|3}} [auth | noauth | priv] community-string
[udp-port port] [notification-type] • For host-addr, specify the name or address of the
NMS.
• Specify traps (the default) to send SNMP traps
to the host. Specify informs to send SNMP
informs to the host.
• Specify the SNMP version to support. Version 1,
the default, is not available with informs.
• For community-string, specify the string to send
with the notification operation. Though you can
set this string by using the snmp-server host
command, we recommend that you define this
string by using the snmp-server community
command before using the snmp-server host
command.
• For notification-type, use the mac-notification
keyword.
Step 3 snmp-server enable traps mac-notification move Enables the switch to send MAC move notification
traps to the NMS.
To disable the switch from sending MAC
notification traps, use the
no snmp-server enable traps mac-notification
move global configuration command.
Step 4 mac address-table notification mac-move Enables the MAC-move notification feature.
To disable this feature, use the
no mac-address-table notification mac-move
global configuration command.
Step 5 end Returns to privileged EXEC mode.
Step 6 show mac address-table notification mac-move Displays the MAC-move notification status.
show running-config
Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration
file.
This example shows how to specify 172.69.59.93 as the network management system, enable the switch
to send MAC move notification traps to the NMS, enable the MAC move notification feature, and enable
traps whenever a MAC address moves from one port to another:
Switch# configure terminal
Switch(config)# snmp-server host 171.69.59.93 private mac-notification
Switch(config)# snmp-server enable traps mac-notification move
Switch(config)# mac address-table notification mac-move
Switch(config)# end
Switch# show mac address-table notification mac-move
MAC Move Notification: Enabled
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 snmp-server host host-addr [traps|informs] {version Specifies the recipient of the trap message.
{1|2c|3}} [auth | noauth | priv] community-string
[udp-port port] [notification-type] • For host-addr, specify the name or address of the
NMS.
• Specify traps (the default) to send SNMP traps
to the host. Specify informs to send SNMP
informs to the host.
• Specify the SNMP version to support. Version 1,
the default, is not available with informs.
• For community-string, specify the string to send
with the notification operation. Though you can
set this string by using the snmp-server host
command, we recommend that you define this
string by using the snmp-server community
command before using the snmp-server host
command.
• For notification-type, use the mac-notification
keyword.
Step 3 snmp-server enable traps mac-notification threshold Enables the switch to send MAC threshold
notification traps to the NMS.
To disable the switch from sending MAC threshold
notification traps, use the
no snmp-server enable traps mac-notification
threshold global configuration command.
Step 4 mac address-table notification threshold Enables the MAC address threshold notification
feature.
To disable this feature, use the
no address-table notification threshold global
configuration command.
Step 5 mac address-table notification threshold Enters the threshold value for the MAT usage
[limit percentage] | [interval time] monitoring.
• (Optional) For limit percentage, specify the
percentage of the MAT utilization; valid values
are from 1 to 100 percent. Default is 50 per cent.
• (Optional) For interval time, specify the time
between notifications; valid values are greater
than or equal to 120 seconds. Default is 120
seconds.
Command Purpose
Step 6 end Returns to privileged EXEC mode.
Step 7 show mac address-table notification threshold Displays the MAT utilization threshold notification
show running-config status.
Step 8 copy running-config startup-config (Optional) Saves your entries in the configuration
file.
This example shows how to specify 172.69.59.93 as the network management system, enable the MAC
threshold notification feature, enable the switch to send MAC threshold notification traps to the NMS,
set the interval to 123 seconds, and set the limit to 78 per cent:
Switch# configure terminal
Switch(config)# snmp-server host 171.69.59.93 private mac-notification
Switch(config)# snmp-server enable traps mac-notification threshold
Switch(config)# mac address-table notification threshold
Switch(config)# mac address-table notification threshold interval 123
Switch(config)# mac address-table notification threshold limit 78
Switch(config)# end
Switch# show mac-address-table notification threshold
Status limit Interval
-------------+-----------+-------------
enabled 78 123
Switch#
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 mac address-table static mac-addr Adds a static address to the MAC address table.
vlan vlan-id interface interface-id
• For mac-addr, specify the destination MAC unicast address to add to
the address table. Packets with this destination address received in the
specified VLAN are forwarded to the specified interface.
• For vlan-id, specify the VLAN for which the packet with the
specified MAC address is received. Valid VLAN IDs are 1 to 4094.
• For interface-id, specify the interface to which the received packet is
forwarded. Valid interfaces include physical ports or port channels.
You can specify static multicast addresses for multiple interface IDs.
However, you cannot assign static unicast MAC address to multiple
interfaces with the same MAC address and VLAN ID.
To remove static entries from the address table, use the
no mac address-table static mac-addr vlan vlan-id [interface
interface-id] global configuration command.
Step 3 end Returns to privileged EXEC mode.
Step 4 show mac address-table static Verifies your entries.
Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
This example shows how to add the static address c2f3.220a.12f4 to the MAC address table. When a
packet is received in VLAN 4 with this MAC address as its destination address, the packet is forwarded
to the specified port:
Switch# configure terminal
Switch(config)# mac address-table static c2f3.220a.12f4 vlan 4 interface
gigabitethernet0/1
Switch(config)# end
Switch#
Note Unicast MAC Address Filtering is not supported on Supervisor Engine 6-E.
When unicast MAC address filtering is enabled, the switch drops packets with specific source or
destination MAC addresses. This feature is disabled by default and only supports unicast static
addresses.
Follow these guidelines when using this feature:
• Multicast MAC addresses, broadcast MAC addresses, and router MAC addresses are not supported.
If you specify one of these addresses when entering the mac address-table static mac-addr vlan
vlan-id drop global configuration command, one of these messages appears:
% Only unicast addresses can be configured to be dropped
• Packets that are forwarded to the CPU are also not supported.
• If you add a unicast MAC address as a static address and configure unicast MAC address filtering,
the switch either adds the MAC address as a static address or drops packets with that MAC address,
depending on which command was entered last. The second command that you entered overrides
the first command.
For example, if you enter the mac address-table static mac-addr vlan vlan-id interface global
configuration command followed by the mac address-table static mac-addr vlan vlan-id drop
command, the switch drops packets with the specified MAC address as a source or destination.
If you enter the mac address-table static mac-addr vlan vlan-id drop global configuration
command followed by the mac address-table static mac-addr vlan vlan-id interface command, the
switch adds the MAC address as a static address.
You enable unicast MAC address filtering and configure the switch to drop packets with a specific
address by specifying the source or destination unicast MAC address and the VLAN from which it is
received.
To configure the switch to drop a source or destination unicast static address, perform this task:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 mac address-table static mac-addr Enables unicast MAC address filtering and configure the switch to drop a
vlan vlan-id drop packet with the specified source or destination unicast static address.
• For mac-addr, specify a source or destination unicast MAC address.
Packets with this MAC address are dropped.
• For vlan-id, specify the VLAN for which the packet with the
specified MAC address is received. Valid VLAN IDs are 1 to 4094.
To disable unicast MAC address filtering, use the no mac address-table
static mac-addr vlan vlan-id global configuration command.
Step 3 end Returns to privileged EXEC mode.
Step 4 show mac address-table static Verifies your entries.
Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
This example shows how to enable unicast MAC address filtering and to configure the switch to drop
packets that have a source or destination address of c2f3.220a.12f4. When a packet is received in
VLAN 4 with this MAC address as its source or destination, the packet is dropped:
Switch# configure terminal
Switch(config)# mac a ddress-table static c2f3.220a.12f4 vlan 4 drop
Switch(config)# end
Switch#
Command Description
show ip igmp snooping groups Displays the Layer 2 multicast entries for all VLANs or the specified VLAN.
show mac address-table address Displays MAC address table information for the specified MAC address.
show mac address-table aging-time Displays the aging time in all VLANs or the specified VLAN.
show mac address-table count Displays the number of addresses present in all VLANs or the specified VLAN.
show mac address-table dynamic Displays only dynamic MAC address table entries.
show mac address-table interface Displays the MAC address table information for the specified interface.
show mac address-table notification Displays the MAC notification parameters and history table.
show mac address-table static Displays only static MAC address table entries.
show mac address-table vlan Displays the MAC address table information for the specified VLAN.
Command Purpose
Step 1 Switch# dir device_name Displays the contents of the device.
If you are installing Embedded CiscoView for the first
time, or if the CiscoView directory is empty, skip to
Step 5.
Step 2 Switch# delete device_name:cv/* Removes existing files from the CiscoView directory.
Step 3 Switch# squeeze device_name: Recovers the space in the file system.
Step 4 Switch# copy tftp bootflash Copies the tar file to bootflash.
Step 5 Switch# archive tar /xtract tftp:// Extracts the CiscoView files from the tar file on the
ip address of tftp server/ciscoview.tar TFTP server to the CiscoView directory.
device_name:cv
Step 6 Switch# dir device_name: Displays the contents of the device.
In a redundant configuration, repeat Step 1 through
Step 6 for the file system on the redundant supervisor
engine.
Step 7 Switch# configure terminal Enters global configuration mode.
Step 8 Switch(config)# ip http server Enables the HTTP web server.
Step 9 Switch(config)# snmp-server community string ro Configures the SNMP password for read-only operation.
Step 10 Switch(config)# snmp-server community string rw Configures the SNMP password for read/write operation.
Note The default password for accessing the switch web page is the enable-level password of the switch.
The following example shows how to install and configure Embedded CiscoView on your switch:
Switch# dir
Directory of bootflash:/
Directory of bootflash:/
1 -rw- 9572396 Dec 30 2002 01:05:01 +00:00 cat4000-i9k2s-mz.121-19.EW
Directory of bootflash:/
1 -rw- 9572396 Dec 30 2002 01:05:01 +00:00 cat4000-i9k2s-mz.121-19.EW
2 -rw- 9604192 Jan 3 2003 07:46:49 +00:00 cat4000-i5k2s-mz.121-19.EW
3 -rw- 1985024 Jan 21 2003 03:31:20 +00:00 Cat4000IOS.v4-0.tar
4 -rw- 1173 Mar 19 2003 05:50:26 +00:00 post-2003.03.19.05.50.07-passed.txt
5 -rw- 2031616 Mar 26 2003 05:33:12 +00:00 Cat4000IOS.v5-1.tar
Switch#
Switch# archive tar /xtract Cat4000IOS.v5-1.tar /cv
extracting Cat4000IOS-5.1.sgz (1956591 bytes)
extracting Cat4000IOS-5.1_ace.html (7263 bytes)
extracting Cat4000IOS-5.1_error.html (410 bytes)
extracting Cat4000IOS-5.1_install.html (2743 bytes)
extracting Cat4000IOS-5.1_jks.jar (20450 bytes)
extracting Cat4000IOS-5.1_nos.jar (20782 bytes)
Directory of bootflash:/
1 -rw- 9572396 Dec 30 2002 01:05:01 +00:00 cat4000-i9k2s-mz.121-19.EW
2 -rw- 9604192 Jan 3 2003 07:46:49 +00:00 cat4000-i5k2s-mz.121-19.EW
3 -rw- 1985024 Jan 21 2003 03:31:20 +00:00 Cat4000IOS.v4-0.tar
4 -rw- 1173 Mar 19 2003 05:50:26 +00:00 post-2003.03.19.05.50.07-passed.txt
5 -rw- 2031616 Mar 26 2003 05:33:12 +00:00 Cat4000IOS.v5-1.tar
6 -rw- 1956591 Mar 26 2003 05:36:11 +00:00 cv/Cat4000IOS-5.1.sgz
7 -rw- 7263 Mar 26 2003 05:36:19 +00:00 cv/Cat4000IOS-5.1_ace.html
8 -rw- 410 Mar 26 2003 05:36:19 +00:00 cv/Cat4000IOS-5.1_error.html
9 -rw- 2743 Mar 26 2003 05:36:19 +00:00 cv/Cat4000IOS-5.1_install.html
10 -rw- 20450 Mar 26 2003 05:36:19 +00:00 cv/Cat4000IOS-5.1_jks.jar
11 -rw- 20782 Mar 26 2003 05:36:19 +00:00 cv/Cat4000IOS-5.1_nos.jar
12 -rw- 12388 Mar 26 2003 05:36:19 +00:00 cv/applet.html
13 -rw- 529 Mar 26 2003 05:36:19 +00:00 cv/cisco.x509
14 -rw- 2523 Mar 26 2003 05:36:19 +00:00 cv/identitydb.obj
Switch#
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip http server
Switch(config)# snmp-server community public ro
Switch(config)# snmp-server community public rw
Switch(config)# exit
Switch# wr
Building configuration...
Compressed configuration from 2735 bytes to 1169 bytes[OK]
Switch# show ciscoview ?
package ADP Package Details
version ADP version
| Output modifiers
<
For more information about web access to the switch, refer to the “Using the Cisco Web Browser”
chapter in the Cisco IOS Configuration Fundamentals Configuration Guide at this URL:
http://www.cisco.com/en/US/docs/ios/fundamentals/configuration/guide/12_4t/cf_12_4t_book.html
Command Purpose
Switch# show ciscoview package Displays information about the Embedded CiscoView files.
Switch# show ciscoview version Displays the Embedded CiscoView version.
The following example shows how to display the Embedded CiscoView file and version information:
Switch# show ciscoview package
File source:
CVFILE SIZE(in bytes)
------------------------------------------------
Cat4000IOS-5.1.sgz 1956591
Cat4000IOS-5.1_ace.html 7263
Cat4000IOS-5.1_error.html 410
Cat4000IOS-5.1_install.html 2743
Cat4000IOS-5.1_jks.jar 20450
Cat4000IOS-5.1_nos.jar 20782
applet.html 12388
cisco.x509 529
identitydb.obj 2523
Catalyst 4500 series switches allow a standby supervisor engine to take over if the active supervisor
engine fails. In software, supervisor engine redundancy is enabled by running the redundant supervisor
engine in route processor redundancy (RPR) or stateful switchover (SSO) operating mode.
Note The minimum ROMMON requirement for running SSO and RPR on Supervisor Engine 7-E is
15.0(1r)SG1.
This chapter describes how to configure supervisor engine redundancy on the Catalyst 4507R and
Catalyst 4510R switches.
Note For information on Cisco nonstop forwarding (NSF) with SSO, see Chapter 9, “Configuring Cisco NSF
with SSO Supervisor Engine Redundancy.”
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Overview
With supervisor engine redundancy enabled, if the active supervisor engine fails or if a manual
switchover is performed, the standby supervisor engine becomes the “new” active supervisor engine.
The standby supervisor engine has been automatically initialized with the startup configuration of the
active supervisor engine, shortening the switchover time (30 seconds or longer in RPR mode, depending
on the configuration; subsecond in SSO mode).
In addition to the reduced switchover time, supervisor engine redundancy supports the following:
• Online insertion and removal (OIR) of the supervisor engine.
Supervisor engine redundancy allows OIR of the redundant supervisor engine for maintenance.
When the redundant supervisor engine is inserted, the active supervisor engine detects its presence,
and the redundant supervisor engine boots into a partially-initialized state in RPR mode and a
fully-initialized state in SSO mode.
• Software upgrade. (See the “Performing a Software Upgrade” section on page 5-13.)
To minimize down time during software changes on the supervisor engine, load the new image on
the standby supervisor engine, and conduct a switchover.
When power is first applied to a switch, the supervisor engine that boots first becomes the active
supervisor engine and remains active until a switchover occurs.
A switchover will occur when one or more of the following events take place:
• The active supervisor engine fails (due to either hardware or software function) or is removed.
• A user forces a switchover.
• A user reloads the active supervisor engine.
Table 5-1 provides information about chassis and supervisor engine support for redundancy.
RPR Operation
RPR is supported in Cisco IOS-XE Release 3.1.0 SG and later releases. When a standby supervisor
engine runs in RPR mode, it starts up in a partially-initialized state and is synchronized with the
persistent configuration of the active supervisor engine.
Note Persistent configuration includes the following components: startup-config, boot variables,
config-register, and VLAN database.
The standby supervisor engine pauses the startup sequence after basic system initialization, and in the
event that the active supervisor engine fails, the standby supervisor engine becomes the new active
supervisor engine.
In a supervisor engine switchover, traffic is disrupted because in the RPR mode all of the physical ports
restart since there is no state maintained between supervisor engines relating to module types and
statuses. Upon switchover, when the standby supervisor engine completes its initialization, it will read
hardware information directly from the module and become the active supervisor engine.
SSO Operation
SSO is supported in Cisco IOS-XE Release 3.1.0 SG and later releases. When a standby supervisor
engine runs in SSO mode, the standby supervisor engine starts up in a fully-initialized state and
synchronizes with the persistent configuration and the running configuration of the active supervisor
engine. It subsequently maintains the state on the protocols listed below, and all changes in hardware
and software states for features that support stateful switchover are kept in synchronization.
Consequently, it offers zero interruption to Layer 2 sessions in a redundant supervisor engine
configuration.
Because the standby supervisor engine recognizes the hardware link status of every link, ports that were
active before the switchover will remain active, including the uplink ports. However, because uplink
ports are physically on the supervisor engine, they will be disconnected if the supervisor engine is
removed.
If the active supervisor engine fails, the standby supervisor engine become active. This newly active
supervisor engine uses existing Layer 2 switching information to continue forwarding traffic. Layer 3
forwarding will be delayed until the routing tables have been repopulated in the newly active supervisor
engine.
Note SSO is not supported if the IOS-XE software is running in the LAN Base mode.
The state of these features is preserved between both the active and standby supervisor engines:
• 802.3
• 802.3u
• 802.3x (Flow Control)
• 802.3ab (GE)
• 802.3z (Gigabit Ethernet including CWDM)
• 802.3ad (LACP)
• 802.1p (Layer 2 QoS)
• 802.1q
• 802.1X (Authentication)
• 802.1D (Spanning Tree Protocol)
• 802.3af (Inline power)
• PAgP
• VTP
• Dynamic ARP Inspection
• DHCP snooping
• IP source guard
• IGMP snooping (versions 1 and 2)
• DTP (802.1q and ISL)
• MST
• PVST+
• Rapid-PVST
• PortFast/UplinkFast/BackboneFast
• BPDU guard and filtering
• Voice VLAN
• Port security
• Unicast MAC filtering
• ACL (VACLS, PACLS, RACLS)
• QOS (DBL)
• Multicast storm control/broadcast storm control
SSO is compatible with the following list of features. However, the protocol database for these features
is not synchronized between the standby and active supervisor engines:
• 802.1Q tunneling with Layer 2 Protocol Tunneling (L2PT)
• Baby giants
Note You cannot enter CLI commands on the standby supervisor engine console.
Step 1 Clear the offending configuration (that caused an MCL) while the standby supervisor engine is in
standby cold (RPR) state.
Step 2 Enter the redundancy config-sync ignore mismatched-commands EXEC command at the active
standby supervisor engine.
Step 3 Perform write memory.
Step 4 Reload the standy supervisor engine with the redundancy reload peer command.
• RPR and SSO requires Cisco IOS-XE Release 3.1.0 SG and later releases.
• SSO is not supported if the IOS-XE software is running in the LAN Base mode.
• WS-C4507R-E, WS-C4510R-E, WS-C4507R+E, and WS-C4510R+E are the only Catalyst 4500
series switches that support Supervisor Engine 7-E redundancy.
• SSO requires both supervisor engines in the chassis to have the same components ( model and
memory), and to use the same Cisco IOS XE software image.
• When you use WS-X45-SUP7-E in RPR or SSO mode, only the first two uplinks on each supervisor
engine are available. The second two uplinks are unavailable.
• The active and standby supervisor engines in the chassis must be in slots 3 and 4 for 7-slot chassis
and slot 5 and 6 for 10-slot chassis.
• Each supervisor engine in the chassis must have its own flash device and console port connections
to operate the switch on its own.
• Each supervisor engine must have a unique console connection. Do not connect a Y cable to the
console ports.
• Supervisor engine redundancy does not provide supervisor engine load balancing.
• The Cisco Express Forwarding (CEF) table is cleared on a switchover. As a result, routed traffic is
interrupted until route tables reconverge. This reconvergence time is minimal because the SSO
feature reduces the supervisor engine redundancy switchover time from 30+ seconds to subsecond,
so Layer 3 also has a faster failover time if the switch is configured for SSO.
• Static IP routes are maintained across a switchover because they are configured from entries in the
configuration file.
• Information about Layer 3 dynamic states that is maintained on the active supervisor engine is not
synchronized to the standby supervisor engine and is lost on switchover.
• If configuration changes on a redundant swtich are made through SNMP set operations, the changes
are not synchronized to the standby supervisor engine even in SSO mode. You might experience
unexpected behavior.
• After you configure the switch through SNMP in SSO mode, copy the running-config file to the
startup-config file on the active supervisor engine to trigger synchronization of the startup-config
file to the standby supervisor engine. Then, reload the standby supervisor engine so that the new
configuration is applied on the standby supervisor engine.
• You cannot perform configuration changes during the startup (bulk) synchronization. If you attempt
to make configuration changes during this process, the following message is generated:
Config mode locked out till standby initializes
• If configuration changes occur at the same time as a supervisor engine switchover, these
configuration changes are lost.
• If you remove a line card from a redundant switch and initiate an SSO switchover, then reinsert the
line card, and all interfaces are shutdown. The rest of the original line card configuration is
preserved.
This situation only occurs if a switch had reached SSO before you removed the line card.
Configuring Redundancy
Note IOS XE software can be booted at three different levels (Enterprise Services, IP Base, and LAN Base),
based on the licenses available on the supervisor engine. If you are booting the image in LAN Base
mode, only RPR redundancy mode is available.
Command Purpose
Step 1 Switch(config)# redundancy Enters redundancy configuration mode.
Step 2 Switch(config-red)# mode {sso | rpr} Configures SSO or RPR. When this command is entered,
the standby supervisor engine is reloaded and begins to
work in SSO or RPR mode.
Step 3 Switch# show running-config Verifies that SSO or RPR is configured.
Step 4 Switch# show redundancy Displays the redundancy information (counter, state, and
[clients | counters | history | states] so on) for the active and standby supervisor engines.
This example shows how to configure the system for SSO and display the redundancy facility
information:
Switch> enable
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# redundancy
Switch(config-red)# mode sso
Switch(config-red)# end
------------------------------
Available system uptime = 10 minutes Switchovers system experienced = 0
Standby failures = 1
Last switchover reason = none
Communications = Up
client count = 64
client_notification_TMR = 240000 milliseconds
keep_alive TMR = 9000 milliseconds
keep_alive count = 1
keep_alive threshold = 18
RF debug mask = 0
This example shows how to change the system configuration from RPR to SSO mode:
Switch(config)# redundancy
Switch(config-red)# mode
Switch(config-red)# mode sso
Changing to sso mode will reset the standby. Do you want to continue?[confirm]
Switch(config-red)# end
Switch#
*Aug 1 13:11:16: %C4K_REDUNDANCY-3-COMMUNICATION: Communication with the peer Supervisor
has been lost
*Aug 1 13:11:16: %C4K_REDUNDANCY-3-SIMPLEX_MODE: The peer Supervisor has been lost
This example shows how to change the system configuration from SSO to RPR mode:
Switch(config)# redundancy
Switch(config-red)# mode rpr
Changing to rpr mode will reset the standby. Do you want to continue?[confirm]
Switch(config-red)# end
*Aug 1 13:11:16: %C4K_REDUNDANCY-3-COMMUNICATION: Communication with the peer Supervisor
has been lost
*Aug 1 13:11:16: %C4K_REDUNDANCY-3-SIMPLEX_MODE: The peer Supervisor has been lost
Virtual Console for Standby Supervisor Engine enables you to access the standby console from the active
supervisor engine without requiring a physical connection to the standby console. It uses IPC over
EOBC to communicate with the standby supervisor engine and thus emulate the standby console on the
active supervisor engine. Only one standby console session is active at any time.
The Virtual Console for Standby Supervisor Engine allows users who are logged onto the active
supervisor engine to remotely execute show commands on the standby supervisor engine and view the
results on the active supervisor engine. Virtual Console is available only from the active supervisor
engine.
You can access the standby virtual console from the active supervisor engine with the attach module,
session module, or remote login commands on the active supervisor engine. You must be in privilege
EXEC mode (level 15) to run these commands to access the standby console.
Once you enter the standby virtual console, the terminal prompt automatically changes to
hostname-standby-console where hostname is the configured name of the switch. The prompt is restored
back to the original prompt when you exit the virtual console.
You exit the virtual console with the exit or quit commands. When the inactivity period of the terminal
on the active supervisor engine where you logged in exceeds the configured idle time, you are
automatically logged out of the terminal on the active supervisor engine. In such a case, the virtual
console session is also terminated. Virtual console session is also automatically terminated when the
standby is rebooted. After the standby boots up, you need to create another virtual console session.
To log in to the standby supervisor engine using a virtual console, do the following:
Switch# session module 4
Connecting to standby virtual console
Type "exit" or "quit" to end this session
Switch-standby-console# exit
Switch#
Note The standby virtual console provides the standard features that are available from the supervisor console
such as command history, command completion, command help and partial command keywords.
• You cannot use virtual console to view debug and syslog messages that are being displayed on the
standby supervisor engine. The virtual console only displays the output of commands that are
executed from the virtual console. Other information that is displayed on the real standby console
does not appear on the virtual console.
Command Purpose
Step 1 Switch(config)# redundancy Enters redundancy configuration mode.
Step 2 Switch(config-red)# main-cpu Enters main-cpu configuration submode.
Step 3 Switch(config-r-mc)# auto-sync {startup-config | Synchronizes the configuration elements.
config-register | bootvar | standard}
Step 4 Switch(config-r-mc)# end Returns to privileged EXEC mode.
Step 5 Switch# copy running-config startup-config Synchronizes the running configuration in dynamic
random-access memory (DRAM) to the startup
configuration file in NVRAM.
Note This step is not required to synchronize the
running configuration file in (DRAM).
Note Configuration changes made to the active supervisor engine through SNMP are not synchronized to the
redundant supervisor engine. For information on how to handle this situation, see the “Supervisor Engine
Redundancy Guidelines and Restrictions” section on page 5-6.
Note The auto-sync command controls the synchronization of the config-reg, bootvar, and startup/private
configuration files only. The calendar and VLAN database files are always synchronized when they
change. In SSO mode, the running-config is always synchronized.
This example shows how to reenable the default automatic synchronization feature using the auto-sync
standard command to synchronize the startup-config and config-register configuration of the active
supervisor engine with the standby supervisor engine. Updates for the boot variables are automatic and
cannot be disabled.
Switch(config)# redundancy
Switch(config-red)# main-cpu
Switch(config-r-mc)# auto-sync standard
Switch(config-r-mc)# end
Switch# copy running-config startup-config
Note To manually synchronize individual elements of the standard auto-sync configuration, disable the default
automatic synchronization feature.
Note When you configure the auto-sync standard, the individual sync options such as no auto-sync
startup-config are ignored.
This example shows how to disable default automatic synchronization and allow only automatic
synchronization of the config-registers of the active supervisor engine to the standby supervisor engine,
while disallowing synchronization of the startup configuration:
Switch(config)# redundancy
Switch(config-red)# main-cpu
Switch(config-r-mc)# no auto-sync standard
Switch(config-r-mc)# auto-sync config-register
Switch(config-r-mc)# end
Note This discussion assumes that SSO has been configured as the redundant mode.
To perform a manual switchover, perform this task on the active supervisor engine:
Command Purpose
Step 1 Switch# show redundancy Verifies that the peer state is in the standby hot state.
See the example of the show redundancy states
command on page 6-10.
Step 2 Switch# redundancy force-switchover Launches switchover from the active supervisor engine
to the standby supervisor engine.
Command Purpose
Step 1 Switch# copy source_device:source_filename Copies the new Cisco IOS-XE software image to
slot0:target_filename bootflash on the supervisor engine.
Or:
Switch# copy source_device:source_filename
bootflash:target_filename
Step 2 Switch# copy source_device:source_filename Copies the new image to a device on the standby
slaveslot0:target_filename supervisor engine (such as slavebootflash and slaveslot0).
Or:
Switch# copy source_device:source_filename
slavebootflash:target_filename
Step 3 Switch# config terminal Configures the supervisor engines to boot the new image.
Switch(config)# config-register 0x2
Switch(config)# boot system flash
device:file_name
If your system was configured to autoboot an earlier
image, issue the following command string to boot the
new image instead:
no boot system flash device:old_file_name
Step 4 Switch(config)# redundancy Enters redundancy configuration mode.
Step 5 Switch(config-red)# main-cpu Enters main-cpu configuration submode.
Step 6 Switch(config-r-mc)# auto-syn standard Synchronizes the configuration elements.
Step 7 Switch(config-r-mc)# end Returns to privileged EXEC mode.
Step 8 Switch# copy running-config start-config Saves the configuration.
Step 9 Switch# redundancy reload peer Reloads the standby supervisor engine and brings it back
online (using the new release of the Cisco IOS-XE
software).
Step 10 Switch# redundancy force-switchover Conducts a manual switchover to the standby supervisor
engine. The standby supervisor engine becomes the new
active supervisor engine using the new Cisco IOS-XE
software image.
The old active supervisor engine reboots with the new
image and becomes the standby supervisor engine.
This example illustrates how to verify that the running configuration on the active supervisor engine has
successfully synchronized with the redundant supervisor engine:
Switch# config terminal
Switch(config)# redundancy
Switch(config-red)# main-cpu
Switch(config-r-mc)# auto-sync standard
4d01h: %C4K_REDUNDANCY-5-CONFIGSYNC: The bootvar has been successfully synchronized to the
standby supervisor
4d01h: %C4K_REDUNDANCY-5-CONFIGSYNC: The config-reg has been successfully synchronized to
the standby supervisor
4d01h: %C4K_REDUNDANCY-5-CONFIGSYNC: The startup-config has been successfully synchronized
to the standby supervisor
4d01h: %C4K_REDUNDANCY-5-CONFIGSYNC: The private-config has been successfully synchronized
to the standby supervisor
The example above shows that the boot variable, the config-register, and the startup configuration from
the active supervisor engine have successfully synchronized to the redundant supervisor engine.
To manipulate the standby supervisor engine bootflash, perform one or more of the following tasks:
Command Purpose
Switch# dir slaveslot0:target_filename Lists the contents of the slot0: device on the standby
supervisor engine.
or
Switch# dir slavebootflash:target_filename Lists the contents of the bootflash: device on the standby
supervisor engine.
Switch# delete slaveslot0:target_filename Deletes specific files from the slot0: device on the standby
supervisor engine.
or
Switch# delete slave bootflash:target_filename Deletes specific files from the bootflash: device on the
standby supervisor engine.
Switch# squeeze slaveslot0: Squeezes the slot0: device on the standby supervisor engine.
or
Switch# squeeze slavebootflash: Squeezes the bootflash: device on the standby supervisor
engine.
Command Purpose
Switch# format slaveslot0: Formats the slot0: device on the standby supervisor engine.
or Formats the bootflash: device on the standby supervisor
Switch# format slavebootflash: engine.
Switch# copy source_device:source_filename Copies a file from the active supervisor engine to the slot0:
slaveslot0:target_filename device on the standby supervisor engine.
or Copies a file to the bootflash: device on a standby supervisor
Switch# copy source_device:source_filename engine.
slavebootflash:target_filename
Note Source could be the active supervisor engine or a
TFTP server.
Operating on redundant systems, the In Service Software Upgrade (ISSU) process allows Cisco IOS XE
software to be updated or otherwise modified while packet forwarding continues. In most networks,
planned software upgrades are a significant cause of downtime. ISSU allows Cisco IOS XE software to
be upgraded while packet forwarding continues. This increases network availability and reduces
downtime caused by planned software upgrades. This document provides information about ISSU
concepts and describes the steps taken to perform ISSU in a system.
Topics include:
• Prerequisites to Performing ISSU, page 6-2
• About Performing ISSU, page 6-3
• How to Perform the ISSU Process, page 6-15
• Cisco High Availability Features in Cisco IOS XE 3.1.0 SG, page 6-35
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Cisco IOS Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Related Documents
Related Topic Document Title
Performing ISSU Cisco IOS Software: Guide to Performing In Service Software
Upgrades
Information about Cisco Nonstop Forwarding Cisco Nonstop Forwarding
http://www.cisco.com/en/US/docs/ios/12_2s/feature/guide/fsnsf20s.
html
Information about Stateful Switchover Stateful Switchover
http://www.cisco.com/en/US/docs/ios/12_0s/feature/guide/sso120s.
html
• Stateful Switchover (SSO) must be configured and the standby supervisor engine should be in
STANDBY HOT state.
These commands indicate whether SSO is enabled: show module, show running-config,
show redundancy state.
If you do not have SSO enabled, see the Stateful Switchover document for further information on
how to enable and configure SSO.
• Nonstop Forwarding (NSF) must be configured and working properly. If you do not have NSF
enabled, see the Cisco Nonstop Forwarding document for further information on how to enable and
configure NSF.
• Before you perform ISSU, ensure that the file system for both the active and the standby supervisor
engines contains the new ISSU-compatible IOS XE software. The current Cisco IOS XE version
running in the system must also support ISSU.
You can enter various commands on the Catalyst 4500 series switch to determine supervisor engine
versioning and Cisco IOS XE software compatibility. Alternatively, you can use the ISSU
application on Cisco Feature Navigator to determine this.
• If you enter the no ip routing command, ISSU falls back from SSO to RPR mode, resulting in traffic
loss.
• Autoboot is turned on and the current booted image matches the one specified in the BOOT
environmental variable. For details on how to configure and verify these, please refer to "Modifying
the Boot Field and Using the boot Command, page 3-27.
• If you enter the no ip routing command, ISSU falls back from SSO to RPR mode, resulting in traffic
loss.
Before you perform ISSU, you should understand the following concepts:
• Stateful Switchover, page 6-3
• NSF, page 6-5
• ISSU Process, page 6-6
• Performing an ISSU Upgrade: 2 Methods, page 6-11
• Changeversion Process, page 6-12
• Guidelines for Performing ISSU, page 6-13
• Compatibility Matrix, page 6-13
• SNMP Support for ISSU, page 6-14
• Compatibility Verification Using Cisco Feature Navigator, page 6-14
Stateful Switchover
Development of the SSO feature is an incremental step within an overall program to improve the
availability of networks constructed with Cisco IOS XE switches.
In specific Cisco networking devices that support dual supervisor engines, SSO takes advantage of
supervisor engine redundancy to increase network availability. SSO achieves this by establishing one of
the supervisor engines as the active processor while the other supervisor engine is designated as the
standby processor. Following an initial synchronization between the two supervisor engines, SSO
dynamically synchronizes supervisor engine state information between them in real-time.
A switchover from the active to the standby supervisor engine occurs when the active supervisor engine
fails or is removed from the networking device.
Cisco NSF is used with SSO. Cisco NSF allows the forwarding of data packets to continue along known
routes while the routing protocol information is being restored following a switchover. With Cisco NSF,
peer networking devices do not experience routing flaps, which reduce loss of service outages for
customers.
Figure 6-1 illustrates how SSO is typically deployed in service provider networks. In this example,
Cisco NSF with SSO is enabled at the access layer (edge) of the service provider network. A fault at this
point could result in loss of service for enterprise customers requiring access to the service provider
network.
For Cisco NSF protocols that require neighboring devices to participate in Cisco NSF, Cisco NSF-aware
software images must be installed on those neighboring distribution layer devices. Depending on your
objectives, you may decide to deploy Cisco NSF and SSO features at the core layer of your network.
Doing this can help reduce the time required to restore network capacity and service for certain failures,
which leads to additional availability.
Figure 6-1 Cisco NSF with SSO Network Deployment: Service Provider Networks
Customers
72134
Additional levels of availability may be gained by deploying Cisco NSF with SSO at other points in the
network where a single point of failure exists. Figure 6-2 illustrates an optional deployment strategy that
applies Cisco NSF with SSO at the enterprise network access layer. In this example, each access point
in the enterprise network represents another single point of failure in the network design. In the event of
a switchover or a planned software upgrade, enterprise customer sessions would continue uninterrupted
through the network in this example.
Figure 6-2 Cisco NSF with SSO Network Deployment: Enterprise Networks
Secondary deployment
Enterprise position for Cisco NSF
access with SSO-capable
layer or -aware routers
Enterprise Good position for
distribution NSF-aware
layer routers
72064
layer
NSF
Cisco NSF works with the SSO feature in Cisco IOS XE software. SSO is a prerequisite of Cisco NSF.
NSF works with SSO to minimize the amount of time a network is unavailable to its users following a
switchover. The main objective of Cisco NSF is to continue forwarding IP packets following a supervisor
engine switchover.
Usually, when a networking device restarts, all routing peers of that device detect that the device went
down and then came back up. This transition results in what is called a routing flap, which could spread
across multiple routing domains. Routing flaps caused by routing restarts create routing instabilities,
which are detrimental to the overall network performance. Cisco NSF helps to suppress routing flaps in
SSO-enabled devices, thus reducing network instability.
Cisco NSF allows for the forwarding of data packets to continue along known routes while the routing
protocol information is being restored following a switchover. With Cisco NSF, peer networking devices
do not experience routing flaps. Data traffic is forwarded while the standby supervisor engine assumes
control from the failed active supervisor engine during a switchover. The ability of physical links to
remain up through a switchover and to be kept current with the Forwarding Information Base (FIB) on
the active supervisor engine is key to Cisco NSF operation.
ISSU Process
The ISSU process allows you to perform a Cisco IOS XE software upgrade or downgrade while the
system continues to forward packets. (For an illustration of the commands used during the ISSU process,
refer to Figure 6-8.) Cisco IOS XE ISSU takes advantage of the Cisco IOS XE high availability
infrastructure—Cisco NSF with SSO and hardware redundancy—and eliminates downtime associated
with software upgrades by allowing changes while the system remains in service (see Figure 6-3).
SSO and NSF mode support configuration and runtime state synchronization from the active to the
standby supervisor engine. For this process, the IOS XE software image on both the active and the
standby supervisor engines must be the same. When images on active and standby supervisor engines
are different, ISSU allows the two supervisor engines to be kept in synchronization even when these two
versions of Cisco IOS XE support different sets of features and commands.
Figure 6-3 High Availability Features and Hardware Redundancy in the ISSU Process
Control
plane
Active Standby Management
Supervisor NSF/SSO Supervisor plane
Engine Engine
Line cards
Data
plane
180230
An ISSU-capable switch consists of two supervisor engines (active and standby) and 200 or more
linecards. Before initiating the ISSU process, copy the Cisco IOS XE software into the file systems of
both supervisor engines (see Figure 6-4).
Note In the following figure, Cisco IOS XE 3.x.y SG represents the current version of Cisco IOS XE 3.z.y SG
represents the image you are migrating to.
Figure 6-4 Copy New Version of Cisco IOS XE Software on Both Supervisor Engines
Line cards
208664
After you have copied the Cisco IOS XE software to both file systems, load the new version of
Cisco IOS XE software onto the standby supervisor engine (see Figure 6-5).
Note Without the ISSU feature, SSO/NSF cannot function between the active and standby supervisor engines
when they are running different versions of the Cisco IOS XE image.
Figure 6-5 Load New Version of Cisco IOS XE Software on the Standby Supervisor Engine
Line cards
207610
After a switchover (NSF/SSO, not RPR), the standby supervisor engine takes over as the new active
supervisor engine (see Figure 6-6).
Line cards
208665
The former active supervisor engine is loaded with an old Cisco IOS XE image so that if the new active
supervisor engine experiences problems, you can abort and conduct a switchover to the former active,
which is already running the old software image. Next, the former active supervisor engine is loaded
with the new version of Cisco IOS XE software and becomes the new standby supervisor engine (see
Figure 6-7).
Figure 6-7 Load New Standby Supervisor Engine with New Cisco IOS XE Software
Standby Active
NSF/SSO
Supervisor Supervisor
Engine Engine
Line cards
208666
1
Standby
Old
Active Loadversion
Old
5
Active 2
New Standby
New
Standby Abortversion
New Active
Abortversion Old
Switchover
4 3
Commitversion Runversion
Active Active
New New
Standby Standby
Old Old
*Acceptversion
180235
Commitversion
Commitversion * This command is optional.
Changeversion Process
The issu changeversion command launches a single-step complete ISSU upgrade cycle. It performs the
logic for all four of the standard commands (issu loadversion, issu runversion, issu acceptversion, and
issu commitversion) without user intervention, streamlining the upgrade through a single CLI step.
Additionally, issu changeversion allows the upgrade process to be scheduled for a future time. This
enables you to stage a number of systems to perform upgrades sequentially when a potential disruption
would be least harmful.
After the standby supervisor engine initializes and the system reaches a terminal state (RPR/SSO), the
upgrade process is complete and the BOOT variable is permanently written with the new IOS XE
software image. Hence, a reset on any RP will keep the system booting the new software image. Console
and syslog messages will be generated to notify anyone monitoring the upgrade that the state transition
has occurred.
Similar to the normal ISSU upgrade procedure, the in-progress upgrade procedure initiated by the
issu changeversion command can be aborted with the issu abortversion command. If the system
detects any problems or detects an unhealthy system during an upgrade, the upgrade might be
automatically aborted.
When the issu runversion command is entered during the four step manual upgrade process, if any
incompatible ISSU clients exist, the upgrade process reports them and their side effects, and allows the
user to abort the upgrade. While performing a single-step upgrade process, when the process reaches the
runversion state, it will either automatically continue with the upgrade provided the base clients are
compatible, or automatically abort because of client incompatibility. If the user wants to continue the
upgrade procedure in RPR mode, the user must use the normal ISSU command set and specify the force
option when entering the issu loadversion command.
Note Enabling them will cause the system to enter RPR mode because commands are only supported
on the new version.
• In a downgrade scenario, if any feature is not available in the downgrade revision of the
Cisco IOS XE software handle, that feature should be disabled prior to initiating the ISSU process.
Compatibility Matrix
ISSU requires additional information to determine compatibility between software versions. Therefore,
a compatibility matrix is defined that contains information about other IOS XE software image with
respect to the one in question.
This compatibility matrix represents the compatibility of two software versions, one running on the
active and the other on the standby supervisor engine, and to allow the system to determine the highest
operating mode it can achieve. Incompatible versions will not be able to progress to SSO operational
mode.
The compatibility matrix represents the compatibility relationship a Cisco IOS XE software image has
with all of the other Cisco IOS XE software versions within the designated support window (for example,
all of those software versions the IOS XE software image “knows” about) and is populated and released
with every IOS XE software image. The matrix stores compatibility information between its own release
and prior releases. It is always the newest release that contains the latest information about compatibility
with existing releases in the field. The compatibility matrix is available within the Cisco IOS XE
software image and on Cisco.com so that users can determine in advance whether an upgrade can be done
using the ISSU process.
You can perform the ISSU process when the old and new Cisco IOS XE software are compatible. The
compatibility matrix information stores the compatibility among releases as follows:
• Compatible—The base-level system infrastructure and all optional HA-aware subsystems are
compatible. An in-service upgrade or downgrade between these versions will succeed with minimal
service impact. The matrix entry designates the images to be compatible (C).
• Base-level compatible—One or more of the optional HA-aware subsystems is not compatible. An
in-service upgrade or downgrade between these versions will succeed; however, some subsystems
will not be able to maintain state always during the transition from the old to the new version of
Cisco IOS XE. The matrix entry designates the images to be base-level compatible (B).
• Incompatible—A core set of system infrastructure exists in Cisco IOS XE that must be able to
interoperate in a stateful manner for SSO to function correctly. If any of these required features or
subsystems is not interoperable, then the two versions of the Cisco IOS XE software image are
declared to be incompatible. An in-service upgrade or downgrade between these versions is not
possible. The matrix entry designates the images to be incompatible (I). The system operates in RPR
mode during the upgrade process when the versions of Cisco IOS XE at the active and standby
supervisor engines are incompatible.
• Cisco IOS XE determines the compatibility between the active and the standby IOS XE software
dynamically during STANDBY boot up. The matrix is represented by “x”.
To display the compatibility matrix data between two software versions on a given system, enter the
show issu comp-matrix stored command.
Note This command is useful only for verification purposes because it is available only after the ISSU process
has started. You might want to check the compatibility matrix prior to starting ISSU. Use the Feature
Navigator to obtain the needed information
http://tools.cisco.com/ITDIT/CFN/jsp/index.jsp
• Compare two IOS XE software images and understand the compatibility level of the software
images (that is, compatible, base-level compatible, and incompatible), or dynamically determined.
• Compare two software images and see the client compatibility for each ISSU client.
• Provide links to release notes for the software image.
Note For an illustration of the process flow for ISSU, refer to Figure 6-8 on page 6-11.
You can verify the ISSU software upgrade by entering show commands to provide information on the
state of the during the ISSU process:
This example shows how to display the state and the current status of the supervisor engine during the
ISSU process:
Switch> enable
Switch# show issu state
Switch# show redundancy
Communications = Up
client count = 64
client_notification_TMR = 240000 milliseconds
keep_alive TMR = 9000 milliseconds
keep_alive count = 1
keep_alive threshold = 18
RF debug mask = 0
------------------------------
Available system uptime = 12 minutes
Switchovers system experienced = 0
Standby failures = 0
Last switchover reason = none
Slot = 6
RP State = Standby
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:old_image
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
The new version of the Cisco IOS XE software must be present on both of the supervisor engines. The
directory information displayed for each of the supervisor engines shows that the new version is present.
Switch# dir bootflash:
Directory of bootflash:/
Prerequisites
• Ensure that the new version of Cisco IOS XE software image is already present in the file system of
both the active and standby supervisor engines. Also ensure that appropriate boot parameters
(BOOT string and config-register) are set for the active and standby supervisor engines.
Note The switch must boot with the BOOT string setting before the ISSU procedure is attempted.
• Optionally, perform additional tests and commands to determine the current state of peers and
interfaces for later comparison.
• Ensure the system (both active and standby supervisor engines) is in SSO redundancy mode. If the
system is in RPR mode, you can still upgrade the system using the ISSU CLI commands, but the
system will experience extended packet loss during the upgrade.'
Refer to the Stateful Switchover document for more details on how to configure SSO mode on
supervisor engines.
• For ISSU to function, the IOS XE file names on the active and standby supervisor engines must
match.
This example shows how to start the ISSU process, boot the standby supervisor engine in the Standby
Hot state, and load the standby supervisor engine slot (6) with the new IOS XE software image:
Switch> enable
Switch# issu loadversion 5 bootflash:new_image 6 slavebootflash:new_image
%issu loadversion executed successfully, Standby is being reloaded
Switch# show issu state detail
Slot = 5
RP State = Active
ISSU State = Load Version
Operating Mode = Stateful Switchover
Current Image = bootflash:old_image
Pre-ISSU (Original) Image = bootflash:old_image
Post-ISSU (Targeted) Image = bootflash:new_image
Slot = 6
RP State = Standby
ISSU State = Load Version
Operating Mode = Stateful Switchover
Communications = Up
client count = 64
client_notification_TMR = 240000 milliseconds
keep_alive TMR = 9000 milliseconds
keep_alive count = 1
keep_alive threshold = 18
RF debug mask = 0
The following example shows how the forced option places the system in RPR mode:
Switch> enable
Switch# issu loadversion 5 bootflash:new_image 6 slavebootflash:new_image forced
%issu loadversion executed successfully, Standby is being reloaded
Slot = 6
RP State = Standby
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:old_image
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
client count = 64
client_notification_TMR = 240000 milliseconds
keep_alive TMR = 9000 milliseconds
keep_alive count = 1
keep_alive threshold = 18
RF debug mask = 0
This example shows how to cause a switchover to the former standby supervisor engine (slot 6), reset
the former active supervisor engine and reload it with the old IOS XE software image so it becomes the
standby supervisor engine:
Switch> enable
Switch# issu runversion 6 slavebootflash:new_image
%issu runversion initiated successfully
A switchover happens at this point. At the new active supervisor engine, do the following after old active
supervisor engine comes up as standby.
Switch# show issu state detail
Slot = 6
RP State = Active
ISSU State = Run Version
Operating Mode = Stateful Switchover
Current Image = bootflash:new_image
Pre-ISSU (Original) Image = bootflash:old_image
Post-ISSU (Targeted) Image = bootflash:new_image
Slot = 5
RP State = Standby
ISSU State = Run Version
Operating Mode = Stateful Switchover
Current Image = bootflash:old_image
Pre-ISSU (Original) Image = bootflash:old_image
Post-ISSU (Targeted) Image = bootflash:new_image
Note The new active supervisor engine is now running the new version of software, and the standby supervisor
engine is running the old version of software and is in the standby hot state.
Communications = Up
client count = 64
client_notification_TMR = 240000 milliseconds
keep_alive TMR = 9000 milliseconds
keep_alive count = 0
keep_alive threshold = 18
RF debug mask = 0
Once Runversion has completed, the new active supervisor engine will be running the new version of
software and the previously active supervisor engine will now become the standby supervisor engine.
The standby will be reset and reloaded, but it will remain on the previous version of software and come
back online in standbyhot status. The following example shows how to verify these conditions:
Switch# show redundancy
Redundant System Information :
------------------------------
Available system uptime = 12 minutes
Switchovers system experienced = 0
Standby failures = 0
Last switchover reason = none
Note The issu acceptversion command may be optionally executed after the issu runversion command.
This example displays the Timer before you stop it. In the following example, the “Automatic Rollback
Time” information indicates the amount of time remaining before an automatic rollback will occur.
Switch> enable
Switch# show issu rollback-timer
Rollback Process State = 00:31:09 remaining
Configured Rollback Time = 00:45:00
Loading New Cisco IOS XE Software on the New Standby Supervisor Engine
This task explains how to load new version of Cisco IOS XE software to the new standby supervisor
engine.
Perform the following steps at the active supervisor engine:
This example shows how to reset and reload the current standby supervisor engine (slot 1) with the new
Cisco IOS XE software version. After you enter the commitversion command, the standby supervisor
engine boots in the Standby Hot state.
Switch> enable
Switch# issu commitversion 5 slavebootflash:new_image
%issu commitversion executed successfully
Use the following to verify that the standby supervisor engine is reloaded with the new software.
Switch# show redundancy states
my state = 13 -ACTIVE
peer state = 8 -STANDBY HOT
Mode = Duplex
Unit = Primary
Unit ID = 6
Communications = Up
client count = 64
client_notification_TMR = 240000 milliseconds
keep_alive TMR = 9000 milliseconds
keep_alive count = 1
keep_alive threshold = 18
RF debug mask = 0
------------------------------
Available system uptime = 12 minutes
Switchovers system experienced = 0
Standby failures = 0
Last switchover reason = none
Slot = 5
RP State = Standby
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:new_image
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
The ISSU process has completed. At this stage, any further Cisco IOS XE software version upgrade or
downgrade will require that a new ISSU process be invoked.
Prerequisites
• Ensure that the new version of Cisco IOS XE software image is already present in the file system of
both the active and standby supervisor engines. Also ensure that appropriate boot parameters
(BOOT string and config-register) are set for the active and standby supervisor engines
• Optionally, perform additional tests and commands to determine the current state of peers and
interfaces for later comparison.
• Ensure the system (both active and standby supervisor engines) is in SSO redundancy mode. If the
system is in RPR mode, you can still upgrade the system using the ISSU CLI commands, but the
system will experience extended packet loss during the upgrade.'
Refer to the Stateful Switchover document for more details on how to configure SSO mode on
supervisor engines (refer to Chapter 5, “Configuring Supervisor Engine Redundancy Using RPR
and SSO”).
• For ISSU to function, the IOS XE software image file names on the active and standby supervisor
engines must match.
Perform the following steps at the active supervisor engine:
This example shows how to initiate an ISSU upgrade process using the issu changeversion command on
slot number 5, the slot for the current active supervisor engine. The show issu state detail and show
redundancy command output is included to show the supervisor state before and after the upgrade
procedure.
Note The success messages included in the output below is displayed after some delay because the ISSU
upgrade procedure progresses through the ISSU states.
Switch> enable
Switch# show issu state detail
Slot = 5
RP State = Active
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:x.bin
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
Slot = 6
RP State = Standby
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:x.bin
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
------------------------------
Available system uptime = 12 minutes
Switchovers system experienced = 0
Standby failures = 0
Last switchover reason = none
% changeversion finished executing loadversion, waiting for standby to reload and reach
SSO ...
.....
.....
......
......
Note The new standby supervisor engine reloads with target image; changeversion is successful upon
SSO terminal state is reached.
Slot = 6
RP State = Active
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:y.bin
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
Slot = 5
RP State = Standby
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:y.bin
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
------------------------------
Available system uptime = 12 minutes
Switchovers system experienced = 0
Standby failures = 0
Last switchover reason = none
This example shows how to use issu changeversion with the at command option to schedule an ISSU
upgrade procedure to automatically start at the specified time. This example specifies that the ISSU
upgrade should be started at 16:30 (24 hour format). The show issu state detail and show redundancy
command output is included to show the supervisor state before and after the issu changeversion
command was entered.
Switch> enable
Switch# show issu state detail
Slot = 5
RP State = Active
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:x.bin
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
Slot = 6
RP State = Standby
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:x.bin
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
------------------------------
Available system uptime = 12 minutes
Switchovers system experienced = 0
Standby failures = 0
Last switchover reason = none
Slot = 6
RP State = Standby
ISSU State = Init
Changeversion = TRUE
Operating Mode = Stateful Switchover
Current Image = bootflash:x.bin
Note If you enter the issu abortversion command before the standby supervisor engine becomes hot, the
traffic might be disrupted.
If you abort the process after you issue the issu loadversion command, the standby supervisor engine is
reset and reloaded with the original software.
If the process is aborted after you enter either the issu runversion or issu acceptversion command, then
a second switchover is performed to the new standby supervisor engine that is still running the original
software version. The supervisor engine that had been running the new software is reset and reloaded
with the original software version.
Note Ensure that the standby supervisor is fully booted before issuing the abortversion command on an active
supervisor engine.
The following task describes how to abort the ISSU process before you complete the ISSU process with
the issu commitversion command.
Perform the following task on the active supervisor engine.
This example shows how to abort the ISSU process on slot number 6, the slot for the current active
supervisor engine. In this example, the ISSU upgrade process is in the Runversion state when the issu
abortversion command is entered:
Switch> enable
Switch# show issu state detail
Slot = 6
RP State = Active
ISSU State = Run Version
Operating Mode = Stateful Switchover
Current Image = bootflash:x.bin
Pre-ISSU (Original) Image = bootflash:y.bin
Post-ISSU (Targeted) Image = bootflash:x.bin
Slot = 5
RP State = Standby
ISSU State = Run Version
Operating Mode = Stateful Switchover
Current Image = bootflash:y.bin
Pre-ISSU (Original) Image = bootflash:y.bin
Post-ISSU (Targeted) Image = bootflash:x.bin
Slot = 5
RP State = Active
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:y.bin
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
Slot = 6
RP State = Standby
ISSU State = Init
Operating Mode = Stateful Switchover
Current Image = bootflash:y.bin
Pre-ISSU (Original) Image = N/A
Post-ISSU (Targeted) Image = N/A
Switch#
Note The valid timer value range is from 0 to 7200 seconds (two hours). A value of 0 seconds disables the
rollback timer.
Once you are satisfied that the new image at the active supervisor engine has been successful and you
want to remain in the current state, you may indicate acceptance by issuing the issu acceptversion
command, which stops the rollback timer.
Issuing the issu commitversion command at this stage is equal to entering both the issu acceptversion
and the issu commitversion commands. Use the issu commitversion command if you do not intend to
run in the current state for a period of time and are satisfied with the new software version.
Note The rollback timer can be configured only in the ISSU Init state.
This example shows how to set the rollback timer to 3600 seconds:
Switch> enable
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# issu set rollback-timer 3600
% Rollback timer value set to [ 3600 ] seconds
Switch(config)# exit
The Rollback Timer cannot be set in loadversion or runversion state, as the following example illustrates:
Switch# show issu state detail
Slot = 5
RP State = Active
ISSU State = Load Version
Operating Mode = Stateful Switchover
Current Image = bootflash:old_image
Pre-ISSU (Original) Image = bootflash:old_image
Post-ISSU (Targeted) Image = bootflash:new_image
Slot = 6
RP State = Standby
ISSU State = Load Version
Operating Mode = Stateful Switchover
Current Image = bootflash:new_image
Pre-ISSU (Original) Image = bootflash:old_image
Post-ISSU (Targeted) Image = bootflash:new_image
This example shows how to display negotiated information regarding the compatibility matrix:
Switch> enable
Switch# show issu comp-matrix negotiated
List of Clients:
This example shows how to display stored information regarding the compatibility matrix:
Switch# show issu comp-matrix stored
Dynamic Image Version Compatibility (DIVC) feature is supported in IOS XE releases. With DIVC, we
store Dynamic(0) rather than Incomp(1), Base(2), or Comp(3), and determine compatibility during
run-time when two different DIVC-capable IOS XE software images are running in the active and
standby supervisor engines during ISSU.
For Catalyst 4500 switches, a value of Dynamic(0) in the stored compatibility-matrix normally results
in Base(2) or Comp(3) upon run-time negotiation between the two IOS XE software images; as of today,
you never observe Incomp(1) as long as the other IOS XE name is present in the stored
compatibility-matrix.
This example shows how to display negotiated information regarding non-IOSd clients:
Switch# show package compatibility
PackageName PeerPackageName ModuleName Compatibility
----------- --------------- -------------------------------- -------------
rp_base rp_base aaa COMPATIBLE
rp_base rp_base aaacommon COMPATIBLE
rp_base rp_base access_policy COMPATIBLE
rp_base rp_base app_sess COMPATIBLE
rp_base rp_base app_sess_ios COMPATIBLE
rp_base rp_base auth_mgr COMPATIBLE
......
......
that guide are supported in your software release. Use Cisco Feature Navigator to find information about
platform support and Cisco software image support. To access Cisco Feature Navigator, go to
http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
http://www.cisco.com/en/US/products/ps7149/products_ios_protocol_group_home.html
http://www.cisco.com/en/US/solutions/collateral/ns340/ns517/ns431/ns17/net_brochure0900aecd8044
dddd.pdf
This chapter describes how to configure interfaces for the Catalyst 4500 series switches. It also provides
guidelines, procedures, and configuration examples.
This chapter includes the following major sections:
• About Interface Configuration, page 7-2
• Using the interface Command, page 7-2
• Configuring a Range of Interfaces, page 7-4
• Defining and Using Interface-Range Macros, page 7-6
• Deploying SFP+ in X2 Ports, page 7-7
• Deploying 10-Gigabit Ethernet or Gigabit Ethernet Ports on WS-X4606-10GE-E, page 7-7
• Internal Management Port and Supervisor Engine 7-E, page 7-10
• Limitation and Restrictions on Supervisor Engine 7-E, page 7-10
• Digital Optical Monitoring Transceiver Support, page 7-10
• Configuring Optional Interface Features, page 7-11
• Understanding Online Insertion and Removal, page 7-23
• Monitoring and Maintaining the Interface, page 7-24
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Step 1 At the privileged EXEC prompt, enter the configure terminal command to enter global configuration
mode:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
Step 2 In global configuration mode, enter the interface command. Identify the interface type and the number
of the connector on the interface card. The following example shows how to select Fast Ethernet, slot 5,
interface 1:
Switch(config)# interface fastethernet 5/1
Switch(config-if)#
Step 3 Interface numbers are assigned at the factory at the time of installation or when modules are added to a
system. Enter the show interfaces EXEC command to see a list of all interfaces installed on your switch.
A report is provided for each interface that your switch supports, as shown in this display:
Switch(config-if)#Ctrl-Z
Switch#show interfaces
Vlan1 is up, line protocol is down
Hardware is Ethernet SVI, address is 0004.dd46.7aff (bia 0004.dd46.7aff)
MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Step 4 To begin configuring Fast Ethernet interface 5/5, as shown in the following example, enter the interface
keyword, interface type, slot number, and interface number in global configuration mode:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 5/5
Switch(config-if)#
Note Adding a space between the interface type and interface number is not needed. For example, in
the preceding line you can specify either fastethernet 5/5 or fastethernet5/5.
Step 5 Follow each interface command with the interface configuration commands your particular interface
requires. The commands you enter define the protocols and applications that will run on the interface.
The commands are collected and applied to the interface command until you enter another interface
command or press Ctrl-Z to exit interface configuration mode and return to privileged EXEC mode.
Note On the Supervisor, WS-X45-SUP7-E and the linecard, WS-X4712-SFP+E, the interfaces can
support both Gigabit Ethernet SFPs and 10-Gigabit Ethernet SFP+s. For simplicity, these
interfaces are always termed 10-Gigabit Ethernet interfaces. All Gigabit Ethernet and 10-Gigabit
Ethernet parameters can be configured on these interfaces. However, the actual interface
configuration parameters that are valid for an interface depend on which transceiver type (SFP
or SFP+) is loaded. When an SFP is loaded, only the Gigabit Ethernet parameters are applicable
and the interface behaves exactly like a Gigabit Ethernet port. Similarly, when an SFP+ is
loaded, only the 10-Gigabit Ethernet parameters are applicable and the interface behaves exactly
like a 10-Gigabit Ethernet port.
Step 6 After you configure an interface, check its status by using the EXEC show commands listed in the
“Monitoring and Maintaining the Interface” section on page 7-24.
Command Purpose
Switch(config)# interface range Selects the range of interfaces to be configured. Note
{vlan vlan_ID - vlan_ID} | the following:
{{fastethernet | gigabitethernet |
tengigabitethernet | macro macro_name} • You are required to enter a space before the dash.
slot/interface - interface} [,
{vlan vlan_ID - vlan_ID} {{fastethernet • You can enter up to five comma-separated
| gigabitethernet | tengigabitethernet | ranges.
macro macro_name}
slot/interface - interface}] • You are not required to enter spaces before or
after the comma.
Note When you use the interface range command, you must add a space between the vlan, fastethernet,
gigabitethernet, tengigabitethernet, or macro keyword and the dash. For example, the command
interface range fastethernet 5/1 - 5 specifies a valid range; the command
interface range fastethernet 5/1-5 does not contain a valid range command.
Note The interface range command works only with VLAN interfaces that have been configured with the
interface vlan command (the show running-configuration command displays the configured VLAN
interfaces). VLAN interfaces that are not displayed by the show running-configuration command
cannot be used with the interface range command.
This example shows how to reenable all Fast Ethernet interfaces 5/1 to 5/5:
Switch(config)# interface range fastethernet 5/1 - 5
Switch(config-if-range)# no shutdown
Switch(config-if-range)#
*Oct 6 08:24:35: %LINK-3-UPDOWN: Interface FastEthernet5/1, changed state to up
*Oct 6 08:24:35: %LINK-3-UPDOWN: Interface FastEthernet5/2, changed state to up
*Oct 6 08:24:35: %LINK-3-UPDOWN: Interface FastEthernet5/3, changed state to up
*Oct 6 08:24:35: %LINK-3-UPDOWN: Interface FastEthernet5/4, changed state to up
*Oct 6 08:24:35: %LINK-3-UPDOWN: Interface FastEthernet5/5, changed state to up
*Oct 6 08:24:36: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet5/
5, changed state to up
*Oct 6 08:24:36: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet5/
3, changed state to up
*Oct 6 08:24:36: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet5/
4, changed state to up
Switch(config-if)#
This example shows how to use a comma to add different interface type strings to the range to re-enable
all Fast Ethernet interfaces ranging from 5/1 to 5/5 and both Gigabit Ethernet interfaces 1/1 and 1/2:
Switch(config-if)# interface range fastethernet 5/1 - 5, gigabitethernet 1/1 - 2
Switch(config-if)# no shutdown
Switch(config-if)#
*Oct 6 08:29:28: %LINK-3-UPDOWN: Interface FastEthernet5/1, changed state to up
*Oct 6 08:29:28: %LINK-3-UPDOWN: Interface FastEthernet5/2, changed state to up
*Oct 6 08:29:28: %LINK-3-UPDOWN: Interface FastEthernet5/3, changed state to up
*Oct 6 08:29:28: %LINK-3-UPDOWN: Interface FastEthernet5/4, changed state to up
*Oct 6 08:29:28: %LINK-3-UPDOWN: Interface FastEthernet5/5, changed state to up
*Oct 6 08:29:28: %LINK-3-UPDOWN: Interface GigabitEthernet1/1, changed state to
up
*Oct 6 08:29:28: %LINK-3-UPDOWN: Interface GigabitEthernet1/2, changed state to
up
Note If you enter multiple configuration commands while you are in interface-range configuration mode, each
command is run as it is entered (they are not batched together and run after you exit interface-range
configuration mode). If you exit interface-range configuration mode while the commands are being run,
some commands might not be run on all interfaces in the range. Wait until the command prompt is
displayed before exiting interface-range configuration mode.
Table 7-1
Command Purpose
Switch(config)# define interface-range macro_name Defines the interface-range macro and
{vlan vlan_ID - vlan_ID} | {{fastethernet | saves it in the running configuration file.
gigabitethernet | tengigabitethernet}
slot/interface - interface}
[, {vlan vlan_ID - vlan_ID} {{fastethernet |
gigabitethernet | tengigabitethernet}
slot/interface - interface}]
This example shows how to define an interface-range macro named enet_list to select Fast Ethernet
interfaces 5/1 through 5/4:
Switch(config)# define interface-range enet_list fastethernet 5/1 - 4
Table 7-2
Command Purpose
Switch# show running-config Shows the defined interface-range macro
configuration.
This example shows how to display the defined interface-range macro named enet_list:
Switch# show running-config | include define
define interface-range enet_list FastEthernet5/1 - 4
Switch#
To use an interface-range macro in the interface range command, perform this task:
Table 7-3
Command Purpose
Switch(config)# interface range macro Selects the interface range to be configured using
name the values saved in a named interface-range macro.
This example shows how to change to the interface-range configuration mode using the interface-range
macro enet_list:
Switch(config)# interface range macro enet_list
Switch(config-if)#
To use an SFP+ in an X2 port to obtain 10-Gigabit Ethernet bandwidth, the Catalyst 4500 series switch
supports OneX Convertor modules. When you plug a OneX Converter module into an X2 port, it
converts the X2 port into an SFP+ port into which you can plug in an SFP+. An SFP+ in a OneX
Convertor module provides the same functionality as an X2 and maintains the same port numbering.
The output for the show idprom tengigabitethernet slot/interface command displays the contents of
both the SFP+ and the OneX Convertor module seeproms when an SFP+ in a OneX Convertor module
is plugged into an X2 port.
Gigabit1/1, the 10-Gigabit and 1-Gigabit port numbers are independent. For example, for a
WS-X4606-10GE-E module with six X2 holes, the X2 ports are named TenGigabit slot-num/<1-6>, and
the SFP ports are named Gigabit slot-num/<7-18>.
X2 1 2 3 X2 4 5 6
231562
Status
SFP 7 8 9 10 11 12 SFP 13 14 15 16 17 18
In Cisco IOS, ports 1 through 18 always exist. This means that you can apply configurations on them
and they display in the CLI output. However, only the X2 or the SFP ports can be active at any particular
time. For example, if an X2 is plugged into the second hole, the X2 port 2 is active and SFP ports 9 and
10 are inactive. If a TwinGig Convertor is plugged into the second hole, the X2 port 2 is inactive, and
the SFP ports 9 and 10 are active.
Note When using both TwinGig and X2 transceivers on the WS-X4606-X2-E module, place ports 1-3 in one
group and ports 4-6 in another. (The mode selected with the show hw-module module port-group
command determines the behavior. See “Selecting X2/TwinGig Convertor Mode”.) Mixing within a port
group will not work. For example, you cannot have an X2 in port 1 and a TwinGig in port 2 and expect
both of them to function.
Note For a 10-Gigabit port that accepts a HAMM, you must place it into 1-Gigabit mode instead of
10-Gigabit mode.
If you configure a 10-Gigabit port as 1-Gigabit port, an output similar to the following displays:
Switch# show hw-module module 5 port-group
Module Port-group Active Inactive
-------------------------------------------------------------
5 1 Gi5/3-6 Te5/1-2
Instead, if the port is set to the default, 10-Gigabit mode, an output similar to the following displays:
Switch# show hw-module module 6 port-group
Module Port-group Active Inactive
-------------------------------------------------------------
6 1 Te6/1-2 Gi6/3-6
• To configure the modes of operation for each X2 port group in which you want to deploy Gigabit,
enter the hw-module module m port-group p select gigabitethernet command. This configuration
is preserved across power cycles and reloads.
To deploy Gigabit Ethernet interfaces using the TwinGig Convertor, perform this task:
Command Purpose
Step 1 Switch# configure terminal Establishes global configuration mode.
Step 2 Switch(config)# hw-module module m port-group p Selects the mode of operation for each X2 port-group.
select [gigabitethernet | tengigabitethernet]
Default is TenGigabit Ethernet (x2).
Step 3 Switch(config)# exit Exits configuration mode.
Step 4 Switch# show int status mod n Verifies the setting.
This example shows how to select Gigabit Ethernet interfaces on a WS-X4606-10GE-E using the
TwinGig Convertor:
Switch# config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# hw-module module 1 port-group 1 select gigabitethernet
Switch(config)# exit
Switch# show int status mod 1
Port Name Status Vlan Duplex Speed Type
Te1/1 inactive 1 full 10G No X2
Te1/2 inactive 1 full 10G No X2
Te1/3 inactive 1 full 10G No X2
Te1/4 notconnect 1 full 10G No X2
Te1/5 notconnect 1 full 10G No X2
Te1/6 notconnect 1 full 10G No X2
Gi1/7 notconnect 1 full 1000 No Gbic
Gi1/8 notconnect 1 full 1000 No Gbic
Gi1/9 notconnect 1 full 1000 No Gbic
Gi1/10 notconnect 1 full 1000 No Gbic
Gi1/11 notconnect 1 full 1000 No Gbic
Gi1/12 notconnect 1 full 1000 No Gbic
• Enables or disables the entSensorThresholdNotification for all sensors in all the transceivers:
snmp-server enable trap transceiver
• Enables or disables transceiver monitoring:
transceiver type all
monitoring
Note This feature is only available when a DOM capable transceiver is present and configured for monitoring.
The frequency at which the sensor information is refreshed depends on default values configured in the
transceiver SEEPROM (Serial Electrically Erasable Programmable Read Only Memory).
http://www.cisco.com/en/US/products/hw/modules/ps5455/products_device_support_tables_list.html
Note You do not configure the client device for autonegotiation. Rather, you configure the switch with the
speed, or range of speeds, that you want to autonegotiate.
You can configure the interface speed and duplex mode parameters to auto and allow the Catalyst 4500
series switch to negotiate the interface speed and duplex mode between interfaces. If you decide to
configure the interface speed and duplex commands manually, consider the following:
• If you enter the no speed command, the switch automatically configures both interface speed and
duplex to auto.
• When you set the interface speed to 1000 (Mbps) or auto 1000, the duplex mode is full duplex. You
cannot change the duplex mode.
• If the interface speed is set to 10 or 100, the duplex mode is set to half duplex by default unless you
explicitly configure it.
Caution Changing the interface speed and duplex mode configuration might shut down and restart the interface
during the reconfiguration.
To set the port speed for a 10/100-Mbps Ethernet interface, perform this task:
Command Purpose
Step 1 Switch(config)# interface fastethernet slot/interface Specifies the interface to be configured.
Step 2 Switch(config-if)# speed [10 | 100 | auto [10 | 100]] Sets the interface speed of the interface.
This example shows how to set the interface speed to 100 Mbps on the Fast Ethernet interface 5/4:
Switch(config)# interface fastethernet 5/4
Switch(config-if)# speed 100
This example shows how to allow Fast Ethernet interface 5/4 to autonegotiate the speed and duplex
mode:
Switch(config)# interface fastethernet 5/4
Switch(config-if)# speed auto
This example shows how to limit the interface speed to 10 and 100 Mbps on the Gigabit Ethernet
interface 1/1 in auto-negotiation mode:
Switch(config)# interface gigabitethernet 1/1
Switch(config-if)# speed auto 10 100
This example shows how to limit speed negotiation to 100 Mbps on the Gigabit Ethernet interface 1/1:
Switch(config)# interface gigabitethernet 1/1
Switch(config-if)# speed auto 100
Note Turning off autonegotiation on a Gigabit Ethernet interface will result in the port being forced into
1000 Mbps and full-duplex mode.
To turn off the port speed autonegotiation for Gigabit Ethernet interface 1/1, perform this task:
Command Purpose
Step 1 Switch(config)# interface gigabitethernet1/1 Specifies the interface to be configured.
Step 2 Switch(config-if)# speed nonegotiate Disables autonegotiation on the interface.
To restore autonegotiation, enter the no speed nonegotiate command in the interface configuration
mode.
Note For the blocking ports on the WS-X4416 module, do not set the speed to autonegotiate.
Note When the interface is set to 1000 Mbps, you cannot change the duplex mode from full duplex to half
duplex.
To set the duplex mode of a Fast Ethernet interface, perform this task:
Command Purpose
Step 1 Switch(config)# interface fastethernet Specifies the interface to be configured.
slot/interface
Step 2 Switch(config-if)# duplex [auto | full | half] Sets the duplex mode of the interface.
This example shows how to set the interface duplex mode to full on Fast Ethernet interface 5/4:
Switch(config)# interface fastethernet 5/4
Switch(config-if)# duplex full
Command Purpose
Switch# show interfaces [fastethernet | Displays the interface speed and duplex mode
gigabitethernet | tengigabitethernet] configuration.
slot/interface
This example shows how to display the interface speed and duplex mode of Fast Ethernet interface 6/1:
Switch# show interface fastethernet 6/1
FastEthernet6/1 is up, line protocol is up
Hardware is Fast Ethernet Port, address is 0050.547a.dee0 (bia 0050.547a.dee0)
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full-duplex, 100Mb/s
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:54, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 50/2000/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
50 packets input, 11300 bytes, 0 no buffer
Received 50 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 input packets with dribble condition detected
1456 packets output, 111609 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
1 lost carrier, 0 no carrier
0 output buffer failures, 0 output buffers swapped out
Switch#
Command Purpose
Switch(config-if)# description string Adds a description for an interface.
This example shows how to add a description on Fast Ethernet interface 5/5:
Switch(config)# interface fastethernet 5/5
Switch(config-if)# description Channel-group to "Marketing"
Note desired is not a flow control option on the Tengigabit Ethernet interfaces.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for flowcontrol.
Step 3 Switch(config-if)# flowcontrol Configures a Gigabit Ethernet port to send or receive pause frames.
{receive | send} {off | on |
desired}
Step 4 Switch(config-if)# end Returns to configuration mode.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
This example shows how to configure flow control on an oversubscribed Gigabit Ethernet port 7/5:
Switch# configure terminal
Switch(config)# interface g7/5
Switch(config-if)# flowcontrol send on
Switch(config-if)# end
Switch)# show interfaces gigabitEthernet 7/5 capabilities
GigabitEthernet7/5
Model: WS-X4548-GB-RJ45-RJ-45
Type: 10/100/1000-TX
Speed: 10,100,1000,auto
Duplex: half,full,auto
Trunk encap. type: 802.1Q,ISL
Trunk mode: on,off,desirable,nonegotiate
Channel: yes
Broadcast suppression: percentage(0-100), hw
Flowcontrol: rx-(off,on,desired),tx-(off,on,desired)
VLAN Membership: static, dynamic
Fast Start: yes
Queuing: rx-(N/A), tx-(1p3q1t, Sharing/Shaping)
CoS rewrite: yes
ToS rewrite: yes
Inline power: no
SPAN: source/destination
UDLD: yes
Link Debounce: no
Link Debounce Time: no
Port Security: yes
Dot1x: yes
Maximum MTU: 1552 bytes (Baby Giants)
Multiple Media Types: no
Diagnostic Monitoring: N/A
This example shows the output of the show interfaces and show flowcontrol commands on an
non-oversubscribed Gigabit Ethernet port 5/5:
Switch# show interfaces gigabitEthernet 5/5 capabilities
GigabitEthernet5/5
Model: WS-X4306-GB-Gbic
Type: No Gbic
Speed: 1000
Duplex: full
Trunk encap. type: 802.1Q,ISL
Trunk mode: on,off,desirable,nonegotiate
Channel: yes
Broadcast suppression: percentage(0-100), hw
Flowcontrol: rx-(off,on,desired),tx-(off,on,desired)
VLAN Membership: static, dynamic
Fast Start: yes
Queuing: rx-(N/A), tx-(1p3q1t, Sharing/Shaping)
CoS rewrite: yes
ToS rewrite: yes
Inline power: no
SPAN: source/destination
UDLD: yes
Link Debounce: no
Link Debounce Time: no
Port Security: yes
Dot1x: yes
Maximum MTU: 9198 bytes (Jumbo Frames)
Multiple Media Types: no
Diagnostic Monitoring: N/A
This example shows the output of the show interfaces and show flowcontrol commands on an
unsupported Fast Ethernet port 3/5:
Switch# show interfaces fa3/5 capabilities
FastEthernet3/5
Model: WS-X4148-RJ-45
Type: 10/100BaseTX
Speed: 10,100,auto
Duplex: half,full,auto
Trunk encap. type: 802.1Q,ISL
Trunk mode: on,off,desirable,nonegotiate
Channel: yes
Broadcast suppression: percentage(0-100), sw
Flowcontrol: rx-(none),tx-(none)
VLAN Membership: static, dynamic
Fast Start: yes
Queuing: rx-(N/A), tx-(1p3q1t, Shaping)
CoS rewrite: yes
ToS rewrite: yes
Inline power: no
SPAN: source/destination
UDLD: yes
Link Debounce: no
Link Debounce Time: no
Port Security: yes
Dot1x: yes
Maximum MTU: 1552 bytes (Baby Giants)
Multiple Media Types: no
Diagnostic Monitoring: N/A
Note Although all interfaces are termed 10-Gigabit interfaces on WS-X45-SUP7+E and WS-X4712-SFP+E,
if an interface has an SFP, the interface is treated as a Gigabit Ethernet interface.
The Catalyst 4500 series switch allows you to configure a maximum of 32 different maximum
transmission unit (MTU) sizes system wide. This means that the maximum number of different MTU
sizes that you can configure with the system mtu, mtu, ip mtu, and ipv6 mtu command on all Layer 2
and Layer 3 interfaces combined is 32.
Also, the system stores the ipv4 and ipv6 MTU sizes configured on an interface separately. So, for every
system mtu command or per interface mtu command, two separate MTU values are stored, one for ipv4
and one for ipv6. This further reduces the number of slots available (out of 32). However, only a single
MTU value is stored for each ip mtu and ipv6 mtu commands.
If the new MTU value you are configuring is already present in the system (that is, configured on some
other interface), then no new slot(s) will be allocated to store it again.
If the maximum limit of 32 is reached and an attempt is made to configure a new MTU size on a new
interface, the system will only allow configuration to proceed if the new MTU size has previously been
configured on some interface. Otherwise, an error message will be displayed and the default MTU size
will be assigned to the interface being configured.
A jumbo frame is a frame larger than the default Ethernet size. Enable jumbo frame support by
configuring a larger-than-default MTU size on a port or interface.
Catalyst 4500 series switch Ethernet LAN ports configured with a nondefault MTU size accept frames
containing packets with a size between 1500 and 9216 bytes (including Ethernet payload, header and
trailer). (The maximum MTU size for a Catalyst 4948 series switch is 9198 bytes (not including header
and trailer.)) With a nondefault MTU size configured, the packet size of ingress frames is checked. If the
packet is larger than the configured MTU, it is dropped.
For traffic that needs to be routed, the MTU of the egress port is checked. If the MTU is smaller than the
packet size, the packet is forwarded to the CPU. If the “do not fragment bit” is not set, it is fragmented.
Otherwise, the packet is dropped.
Note Jumbo frame support does not fragment Layer 2 switched packets.
The Catalyst 4500 series switch does not compare the packet size with the MTU at the egress port, but
jumbo frames are dropped in ports that do not support them. The frames can be transmitted in ports that
do support jumbo frames, even though the MTU is not configured to jumbo size.
Note Jumbo frame support is only configured per interface; jumbo frame support cannot be configured
globally.
Ethernet Ports
VLAN Interfaces
If switch ports reside in the same VLAN, either configure all of the switch ports to handle jumbo frames
and support the same MTU size, or configure none of them. However, such uniformity of MTU size in
the same VLAN is not enforced.
When a VLAN has switch ports with different MTU size, packets received from a port with a larger MTU
might be dropped when they are forwarded to a port with a smaller MTU.
If the switch ports in a VLAN have jumbo frames enabled, the corresponding SVI can have jumbo frames
enabled. The MTU of an SVI should always be smaller than the smallest MTU among all the switch ports
in the VLAN, but this condition is not enforced.
The MTU of a packet is not checked on the ingress side for an SVI; it is checked on the egress side of
an SVI. If the MTU of a packet is larger than the MTU of the egress SVI, the packet will be sent to the
CPU for fragmentation processing. If the “do not fragment” bit is not set, the packet is fragmented.
Otherwise, the packet is dropped.
Command Purpose
Step 1 Switch(config)# interface {{vlan vlan_ID} | Selects the interface to configure.
{{type1 slot/port} | {port-channel
port_channel_number} slot/port}}
Step 2 Switch(config-if)# mtu mtu_size Configures the MTU size.
Switch(config-if)# no mtu Reverts to the default MTU size (1500 bytes).
Step 3 Switch(config-if)# end Exits configuration interface mode.
Step 4 Switch(config)# end Exits configuration mode.
Step 5 Switch# show running-config interface Verifies the running configuration.
[{fastethernet | gigabitethernet} slot/port]
1. type = fastethernet, gigabitethernet, or tengigabitethernet
Note When you remove a linecard, and then reinsert the card, some or all of the MTU values configured on
the ports of that linecard may be unconfigured. This will happen if the system wide limit of 32 different
MTUs is reached while the card is removed. Upon reinserting the linecard, the system attempts to
reapply the MTU configuration on the ports. If this attempt fails, the MTU values are set to the default.
Note When configuring the MTU size for VLAN interfaces and Layer 3 and Layer 2 Ethernet ports, note that
the supported MTU values are from 1500 to 9198 bytes.
This example shows how to configure the MTU size on Gigabit Ethernet port 1/1:
switch# conf terminal
switch(config)# interface gi1/1
switch(config-if)# mtu 9198
switch(config-if)# end
switch(config)# end
switch# show interface gigabitethernet 1/2
GigabitEthernet1/2 is administratively down, line protocol is down
Hardware is C6k 1000Mb 802.3, address is 0030.9629.9f88 (bia 0030.9629.9f88)
MTU 9216 bytes, BW 1000000 Kbit, DLY 10 usec,
<...Output Truncated...>
switch#
For details on how to configure IP MTU size, refer to Configuring MTU Sizes, page 7-19.
Caution Enabling the port debounce timer causes link up and link down detections to be delayed, resulting in loss
of traffic during the debouncing period. This situation might affect the convergence and reconvergence
of some Layer 2 and Layer 3 protocols.
Command Purpose
Step 1 Switch(config)# interface tengigabitethernet Selects the port to configure.
slot/port
Step 2 Switch(config-if)# link debounce [time Configures the debounce timer.
debounce_time]
Switch(config-if)# no link debounce Reverts to the default setting.
Step 3 Switch# show interfaces debounce Verifies the configuration.
When configuring the debounce timer on a port, you can increase the port debounce timer value between
10 milliseconds and 5000 milliseconds on the tengigabitethernet ports.
Note By default, debounce is disabled. If you configure debounce without a time, the value is set at 100ms.
This example shows how to enable the port debounce timer on TenGigabit Ethernet port 2/1 and to accept
the default value (10 ms):
Switch# config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface tenGigabitEthernet 2/1
Switch(config-if)# link debounce
Warning: Enabling debounce feature causes link down detection to be delayed
Switch(config-if)# exit
This example shows how to enable the port debounce timer of 5000 ms on TenGigabit Ethernet port 2/2
and to verify the setting:
Switch# config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface tenGigabitEthernet 2/2
Switch(config-if)# link debounce time 5000
Warning: Enabling debounce feature causes link down detection to be delayed
Switch(config-if)# end
Switch#
Switch# show interfaces debounce | include enable
Te2/1 enable 10
Te2/2 enable 5000
Switch#
Note The following linecards support Auto-MDIX by default, when port auto-negotiation is enabled:
WS-X4424-GB-RJ45, WS-X4448-GB-RJ45,WS-X4548-GB-RJ45 and WS-X4412-2GB-T. You cannot
disable them with the mdix command.
Note The following linecards do not support Auto-MDIX, neither by default nor by CLI:
WS-X4548-GB-RJ45V, WS-X4524-GB-RJ45V, WS-X4506-GB-T,WS-X4148-RJ, WS-X4248-RJ21V,
WS-X4248-RJ45V, WS-X4224-RJ45V and WS-X4232-GB-RJ.
Note The following linecards support Auto-MDIX through the CLI on their copper media ports:
WS-X4124-RJ45, WS-X4148-RJ45 (hardware revision 3.0 or higher), and WS-X4232-GB-RJ45
(hardware revision 3.0, or higher), WS-X4920-GE-RJ45 and WS-4648-RJ45V+E (Auto-MDIX support
when inline power is disabled on the port).
Table 7-1 shows the link states that results from auto-MDIX settings and correct and incorrect cabling.
Local Side auto-MDIX Remote Side auto-MDIX With Correct Cabling With Incorrect Cabling
On On Link up Link up
On Off Link up Link up
Local Side auto-MDIX Remote Side auto-MDIX With Correct Cabling With Incorrect Cabling
Off On Link up Link up
Off Off Link up Link down
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode
Step 2 Switch(config)# interface Enters interface configuration mode for the physical interface to be
interface-id configured.
Step 3 Switch(config-if)# speed auto Configures the port to autonegotiate speed with the connected device.
Step 4 Switch(config-if)# mdix auto Enables auto-MDIX on the port.
Step 5 Switch(config-if)# end Returns to privileged EXEC mode.
Step 6 Switch# show interfaces Verifies the configuration of the auto-MDIX feature on the interface.
interface-id
Step 7 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Command Purpose
Step 1 Switch> enable Enables privileged EXEC mode.
• Enter your password if prompted.
Step 2 Switch# show interfaces type slot/interface Displays the interface auto-MDIX configuration setting and
operational state.
Depending on how the speed auto and the mdix auto commands are configured on a supported linecard
interface, the show interfaces command displays the following possible auto-MDIX statuses:
Table 7-2 shows the auto-MDIX setting and operational state and the status of auto-MDIX.
This example show s how to display the auto-MDIX configuration setting and its operational state on
Fast Ethernet interface 6/1:
Switch# show interfaces fastethernet 6/1
FastEthernet6/1 is up, line protocol is up (connected)
Hardware is Fast Ethernet Port, address is 0001.64fe.e5d0 (bia 0001.64fe.e5d0)
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full-duplex, 100Mb/s, link type is auto, media type is 10/100BaseTX
input flow-control is unsupported output flow-control is unsupported
Auto-MDIX on (operational: on)
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:16, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
511 packets input, 74464 bytes, 0 no buffer
Received 511 broadcasts (511 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 input packets with dribble condition detected
3552 packets output, 269088 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
1 lost carrier, 0 no carrier
0 output buffer failures, 0 output buffers swapped out
Switch#
You do not need to enter a command to notify the software that you are going to remove or install a
module. The system notifies the supervisor engine that a module has been removed or installed and scans
the system for a configuration change. The newly installed module is initialized, and each interface type
is verified against the system configuration; then the system runs diagnostics on the new interface. There
is no disruption to normal operation during module insertion or removal.
If you remove a module and then replace it, or insert a different module of the same type into the same
slot, no change to the system configuration is needed. An interface of a type that has been configured
previously will be brought online immediately. If you remove a module and insert a module of a different
type, the interface(s) on that module will be administratively up with the default configuration for that
module.
Command Purpose
Step 1 Switch# show interfaces [type slot/interface] Displays the status and configuration of all interfaces or of a
specific interface.
Step 2 Switch# show running-config Displays the configuration currently running in RAM.
Step 3 Switch# show protocols [type slot/interface] Displays the global (system-wide) and interface-specific
status of any configured protocol.
Step 4 Switch# show version Displays the hardware configuration, software version, the
names and sources of configuration files, and the boot images.
This example shows how to display the status of Fast Ethernet interface 5/5:
Switch# show protocols fastethernet 5/5
FastEthernet5/5 is up, line protocol is up
Switch#
Command Purpose
Switch# clear counters {type slot/interface} Clears interface counters.
This example shows how to clear and reset the counters on Fast Ethernet interface 5/5:
Switch# clear counters fastethernet 5/5
Clear "show interface" counters on this interface [confirm] y
Switch#
*Sep 30 08:42:55: %CLEAR-5-COUNTERS: Clear counter on interface FastEthernet5/5
by vty1 (171.69.115.10)
Switch#
The clear counters command (without any arguments) clears all the current interface counters from all
interfaces.
Note The clear counters command does not clear counters retrieved with SNMP; it clears only those counters
displayed with the EXEC show interfaces command.
Command Purpose
Step 1 Switch(config)# interface {vlan vlan_ID} | Specifies the interface to be configured.
{{fastethernet | gigabitethernet |
tengigabitethernet} slot/port} | {port-channel
port_channel_number}
Step 2 Switch(config-if)# shutdown Shuts down the interface.
Step 3 Switch(config-if)# no shutdown Reenables the interface.
This example shows how to shut down Fast Ethernet interface 5/5:
Switch(config)# interface fastethernet 5/5
Switch(config-if)# shutdown
Switch(config-if)#
*Sep 30 08:33:47: %LINK-5-CHANGED: Interface FastEthernet5/5, changed state to a
administratively down
Switch(config-if)#
To verify whether an interface is disabled, enter the EXEC show interfaces command. An interface that
has been shut down will appear as “administratively down.”
Command Purpose
Switch(config-if)# logging event link-status Enables interface link status logging.
Switch(config-if)# no logging event link-status Disables interface link status logging.
Switch(config-if)# logging event link-status use-global Specifies the global default setting for interface link status
logging.
Global Settings
You can also provide a global configuration for the corresponding logging event. A global configuration
provides default logging settings for all interfaces. The [no] logging event link-status global command
lets you enable/disable the interface link status logging for the entire switch. The [no] logging event
trunk-status global command lets you enable/disable interface trunk status logging for the entire
switch.
Each interface link status logging event, if not configured at the interface level, will use the following
global logging event setting:
• logging event link-status global - Link status logging event is enabled, if not configured on the
interface.
• no logging event link-status global - Link status logging event is disabled, if not configured on the
interface.
The interface trunk status logging event has similar global configurations.
Command Purpose
Switch(config-if)# logging event link-status global Enables global link status logging.
Switch(config-if)# no logging event link-status global Disables global link status logging.
Result
The following example displays a summary of the operating states for the interface logging event under
different combinations of global and interface logging settings:
global setting interface setting actual logging state
-------------- ----------------- --------------------
on on on
off on on
on off off
off off off
on default(use-global) on
off default(use-global) off
The following example displays the configuration and logging message output for link status and trunk
status logging events:
//
// The global link status and trunk status logging events are enabled.
//
Switch# show running | include logging
show running | include logging
logging event link-status global
logging event trunk-status global
Switch#
//
// The interface link status and trunk status logging settings
// are set to default values, which follow regardless of the global
// setting.
//
Switch# show running interface g1/4
Building configuration...
Switch#
//
// The trunk status logging messages for the interface are
// displayed whenever the interface trunking status is changed.
// Here we change the other end node's trunking encapsulation
// from dot1q to isl.
//
3d00h: %DTP-5-ILGLCFG: Illegal config(on,isl--on,dot1q) on Gi1/4
3d00h: %DTP-5-ILGLCFG: Illegal config(on,isl--on,dot1q) on Gi1/4
3d00h: %DTP-5-ILGLCFG: Illegal config(on,isl--on,dot1q) on Gi1/4
//
// The link and trunk status logging message for the interface
// are displayed whenever the interface link status is changed.
// Here we do a "shut" and "no shut" on the other end link node.
//
3d00h: %DTP-5-NONTRUNKPORTON: Port Gi1/4 has become non-trunk
3d00h: %LINEPROTO-5-UPDOWN: Line protocol on Interface
GigabitEthernet1/4, changed state to down
3d00h: %LINK-3-UPDOWN: Interface GigabitEthernet1/4, changed state to
down
3d00h: %LINK-3-UPDOWN: Interface GigabitEthernet1/4, changed state to up
3d00h: %DTP-5-TRUNKPORTON: Port Gi1/4 has become dot1q trunk
3d00h: %LINEPROTO-5-UPDOWN: Line protocol on Interface
GigabitEthernet1/4, changed state to up
This command will clear all the configurations and shutdown the interface:
Switch# show run interface fastethernet 3/5
Building configuration...
This chapter describes how to check switch port status and connectivity on the Catalyst 4500 series
switch.
This chapter includes the following major sections:
• Checking Module Status, page 8-2
• Checking Interfaces Status, page 8-2
• Displaying MAC Addresses, page 8-3
• Checking Cable Status Using Time Domain Reflectometer, page 8-3
• Using Telnet, page 8-5
• Changing the Logout Timer, page 8-6
• Monitoring User Sessions, page 8-6
• Using Ping, page 8-7
• Using IP Traceroute, page 8-8
• Using Layer 2 Traceroute, page 8-10
• Configuring ICMP, page 8-12
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Switch#
This example shows how to display the status of interfaces in error-disabled state:
Switch# show interfaces status err-disabled
Port Name Status Reason
Fa9/4 err-disabled link-flap
informational error message when the timer expires on a cause
--------------------------------------------------------------
5d04h:%PM-SP-4-ERR_RECOVER:Attempting to recover from link-flap err-disable state on Fa9/4
Switch#
This example shows how to display MAC address table information for a specific interface:
Switch# show mac-address-table interface gigabit 1/1
Multicast Entries
vlan mac address type ports
-------+---------------+-------+-------------------------------------------
1 ffff.ffff.ffff system Switch,Gi6/1,Gi6/2,Gi6/9,Gi1/1
Switch#
Overview
With TDR, you can check the status of copper cables on the 48-port 10/100/1000 BASE-T modules for
the Catalyst 4500 series switch. TDR detects a cable fault by sending a signal through the cable and
reading the signal that is reflected back. All or part of the signal can be reflected back either by cable
defects or by the end of the cable.
Note Four pairs of standard category 5 cable exist. Each pair can assume one of the following states: open (not
connected), broken, shorted, or terminated. The TDR test detects all four states and displays the first
three as “Fault” conditions, and displays the fourth as “Terminated.” Although the CLI output is shown,
the cable length is displayed only if the state is “Faulty.”
Command Purpose
Step 1 Switch# test cable-diagnostics tdr Starts the TDR test.
{interface {interface interface-number}}
Step 2 Switch# show cable-diagnostics tdr Displays the TDR test counter information.
{interface {interface interface-number}}
This example shows how to start the TDR test on port 1 on module 2:
Switch# test cable-diagnostics tdr int gi2/1
Switch#
This example shows the message that displays when the TDR test is not supported on a module:
Switch# test cable-diagnostics tdr int gi2/1
00:03:15:%C4K_IOSDIAGMAN-4-TESTNOTSUPPORTEDONMODULE: Online cable
diag tdr test is not supported on this module
Switch#
This example shows how to display TDR test results for a port:
Switch# show cable-diagnostics tdr interface gi4/13
Interface Speed Local pair Cable length Remote channel Status
Gi4/13 0Mbps 1-2 102 +-2m Unknown Fault
3-6 100 +-2m Unknown Fault
4-5 102 +-2m Unknown Fault
7-8 102 +-2m Unknown Fault
Note After this command is deprecated, use the diagnostic start and the show diagnostic result commands to
run the TDR test and display the test results.
Note TDR is a port test; the port cannot handle traffic for the duration of the test (generally, 1 minute).
TDR Guidelines
The following guidelines apply to the use of TDR:
• If you connect a port undergoing a TDR test to an Auto-MDIX enabled port, the TDR result might
be invalid. In those instances, the port on the WS-X4148-RJ45V should be administratively down
before the start of the TDR test.
• If you connect a port undergoing a TDR test to a 100BASE-T port such as that on the
WS-X4148-RJ45V, the unused pairs (4-5 and 7-8) will be reported as faulty because the remote end
does not terminate these pairs.
• Do not change the port configuration while the TDR test is running.
• Due to cable characteristics, you should run the TDR test multiple times to get accurate results.
• Do not change port status (for example, remove the cable at the near or far end) because the results
might be inaccurate.
• TDR works best if the test cable is disconnected from the remote port. Otherwise, it might be
difficult for you to interpret results correctly.
• TDR operates across four wires. Depending on the cable conditions, the status might show one pair
is OPEN or SHORT while all other wire pairs display as faulty. This operation is acceptable because
you should declare a cable faulty provided one pair of wires is found to be OPEN or SHORT.
• TDR determines how poor a cable is functioning rather than where a faulty cable is located.
• When TDR locates a faulty cable, you should still use an offline cable diagnosis tool to better
diagnose the problem.
• TDR results might differ between runs on different Catalyst 4500 modules because of resolution
difference in TDR implementations. When this occurs, you should refer to offline cable diagnosis
tool.
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. You can have up to eight simultaneous Telnet
sessions.
Before you can open a Telnet session to the switch, you must first set the IP address (and in some cases
the default gateway) for the switch. For information about setting the IP address and default gateway,
see Chapter 3, “Configuring the Switch for the First Time.”
Note To establish a Telnet connection to a host by using the hostname, configure and enable DNS.
To establish a Telnet connection to another device on the network from the switch, perform this task:
Command Purpose
Switch# telnet host [port] Opens a Telnet session to a remote host.
This example shows how to establish a Telnet connection from the switch to the remote host named
labsparc:
Switch# telnet labsparc
Trying 172.16.10.3...
Connected to labsparc.
Escape character is '^]'.
login:
Command Purpose
Switch# logoutwarning number Changes the logout timer value (a timeout value of 0 prevents idle
sessions from being disconnected automatically).
Use the no keyword to return to the default value.
Command Purpose
Switch# show users [all] Displays the currently active user sessions on the
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):
Switch# show users
Line User Host(s) Idle Location
* 0 con 0 idle 00:00:00
Command Purpose
Switch# disconnect {console | ip_addr} Disconnects an active user session on the switch.
This example shows how to disconnect an active console port session and an active Telnet session:
Switch> disconnect console
Console session disconnected.
Console> (enable) disconnect tim-nt.bigcorp.com
Telnet session from tim-nt.bigcorp.com disconnected. (1)
Switch# show users
Session User Location
-------- ---------------- -------------------------
telnet jake jake-mac.bigcorp.com
* telnet suzy suzy-pc.bigcorp.com
Switch#
Using Ping
These sections describe how to use IP ping:
• Understanding How Ping Works, page 8-7
• Running Ping, page 8-8
The ping command is configurable from normal executive and privileged EXEC mode. Ping returns one
of the following responses:
• Normal response—The normal response (hostname is alive) occurs in 1 to 10 seconds, depending
on network traffic.
• Destination does not respond—If the host does not respond, a No Answer message is returned.
• Unknown host—If the host does not exist, an Unknown Host message is returned.
• Destination unreachable—If the default gateway cannot reach the specified network, a Destination
Unreachable message is returned.
• Network or host unreachable—If there is no entry in the route table for the host or network, a
Network or Host Unreachable message is returned.
To stop a ping in progress, press Ctrl-C.
Running Ping
To ping another device on the network from the switch, perform this task in normal executive and
privileged EXEC mode:
Command Purpose
Switch# ping host Checks connectivity to a remote host.
This example shows how to ping a remote host from normal executive mode:
Switch# ping labsparc
labsparc is alive
Switch> ping 72.16.10.3
12.16.10.3 is alive
Switch#
This example shows how to enter a ping command in privileged EXEC mode specifying the number of
packets, the packet size, and the timeout period:
Switch# 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
!!!!!!!!!!
Using IP Traceroute
These sections describe how to use IP traceroute feature:
• Understanding How IP Traceroute Works, page 8-9
• Running IP Traceroute, page 8-9
Running IP Traceroute
To trace the path that packets take through the network, perform this task in EXEC or privileged EXEC
mode:
Command Purpose
Switch# trace [protocol] [destination] Runs IP traceroute to trace the path that packets
take through the network.
This example shows use the trace command to display the route a packet takes through the network to
reach its destination:
Switch# trace ip ABA.NYC.mil
Note For more information about enabling CDP, see Chapter 20, “Configuring CDP.”
• All switches in the physical path must have IP connectivity. When a switch is reachable from another
switch, you can test connectivity by using the ping command in privileged EXEC mode.
• The maximum number of hops identified in the path is ten.
• You can enter the traceroute mac or the traceroute mac ip command in privileged EXEC mode on
a switch that is not in the physical path from the source device to the destination device. All switches
in the path must be reachable from this switch.
• The traceroute mac command output shows the Layer 2 path only when the specified source and
destination MAC addresses belong to the same VLAN. If you specify source and destination MAC
addresses that belong to different VLANs, the Layer 2 path is not identified, and an error message
appears.
• If you specify a multicast source or destination MAC address, the path is not identified, and an error
message appears.
• If the source or destination MAC address belongs to multiple VLANs, you must specify the VLAN
to which both the source and destination MAC addresses belong. If the VLAN is not specified, the
path is not identified, and an error message appears.
• The traceroute mac ip command output shows the Layer 2 path when the specified source and
destination IP addresses belong to the same subnet. When you specify the IP addresses, the switch
uses Address Resolution Protocol (ARP) to associate the IP address with the corresponding MAC
address and the VLAN ID.
– If an ARP entry exists for the specified IP address, the switch uses the associated MAC address
and identifies the physical path.
– If an ARP entry does not exist, the switch sends an ARP query and tries to resolve the IP
address. If the IP address is not resolved, the path is not identified, and an error message
appears.
• When multiple devices are attached to one port through hubs (for example, multiple CDP neighbors
are detected on a port), the Layer 2 traceroute feature is not supported. When more than one CDP
neighbor is detected on a port, the Layer 2 path is not identified, and an error message appears.
• This feature is not supported in Token Ring VLANs.
Command Purpose
Switch# traceroute mac {source-mac-address} Runs Layer 2 traceroute to trace the path that
{destination-mac-address} packets take through the network.
or
Command Purpose
Switch# traceroute mac ip {source-mac-address} Runs IP traceroute to trace the path that
{destination-mac-address} packets take through the network.
These examples show how to use the traceroute mac and traceroute mac ip commands to display the
physical path a packet takes through the network to reach its destination:
Switch# traceroute mac 0000.0201.0601 0000.0201.0201
Configuring ICMP
Internet Control Message Protocol (ICMP) provides many services that control and manage IP
connections. ICMP messages are sent by routers or access servers to hosts or other routers when a
problem is discovered with the Internet header. For detailed information on ICMP, refer to RFC 792.
Command Purpose
Switch (config-if)# [no] ip unreachables Enables ICMP destination unreachable messages.
Use the no keyword to disable the ICMP destination
unreachable messages.
Caution If you enter the no ip unreachables command, you will break the path MTU discovery” functionality.
Routers in the middle of the network might be forced to fragment packets.
To limit the rate that Internet Control Message Protocol (ICMP) destination unreachable messages are
generated, perform this task:
Command Purpose
Switch (config)# [no] ip icmp rate-limit Limits the rate that ICMP destination messages are
unreachable [df] milliseconds generated.
Use the no keyword to remove the rate limit and
reduce the CPU usage.
http://www.cisco.com/en/US/docs/ios/ipapp/configuration/guide/ipapp_hsrp_ps6350_TSD_Products_Confi
guration_Guide_Chapter.html
To enable the sending of ICMP Redirect messages if the Cisco IOS software is forced to resend a packet
through the same interface on which it was received, enter the following command in interface
configuration mode:
Command Purpose
Switch (config-if)# [no] ip redirects Enables ICMP Redirect messages.
Use the no keyword to disable the ICMP Redirect
messages and reduce CPU usage.
Command Purpose
Switch (config-if)# [no] ip mask-reply Enables response to ICMP destination mask requests.
Use the no keyword to disable this functionality.
This chapter describes how to configure supervisor engine redundancy using Cisco nonstop forwarding
(NSF) with stateful switchover (SSO).
This chapter consists of these sections:
• About NSF with SSO Supervisor Engine Redundancy, page 9-1
• Configuring NSF with SSO Supervisor Engine Redundancy, page 9-7
• Cisco High Availability Features in Cisco IOS XE 3.1.0SG, page 9-13
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Note NSF does not support IPv6 and is IPv4 Unicast only.
Note NSF capable devices include Catalyst 4500 series switches, Catalyst 6500 series switches, Cisco 7500
series routers, Cisco 10000 series routers, and Cisco 12000 series routers.
Si
2 2
Si Si
147986
The Catalyst 4500 series switch supports NSF capability and NSF-awareness for the EIGRP, OSPF, and
BGP protocols in Enterprise Services mode and NSF-awareness for the EIGRP-stub in IP Base mode.
NSF-awareness is turned on by default for EIGRP-stub, EIGRP, and OSPF protocols. For BGP, you need
to turn it on manually.
If the supervisor engine is configured for BGP (with the graceful-restart command), EIGRP, or OSPF
routing protocols, routing updates are automatically sent during the supervisor engine switchover of a
neighboring NSF capable switch.
Table 9-1 lists the supervisor engines and Catalyst 4500 series switches that support NSF-capable.
SSO Operation
SSO establishes one of the supervisor engines as active while the other supervisor engine is designated
as standby, and then SSO synchronizes information between them. A switchover from the active to the
standby supervisor engine occurs when the active supervisor engine fails, or is removed from the switch,
or is manually shut down for maintenance.
In networking devices running SSO, both supervisor engines must be running the same Cisco IOS
software version (except during the ISSU upgrade/downgrade process) and ROMMON version so that
the standby supervisor engine is always ready to assume control following a fault on the active
supervisor engine. SSO switchover also preserves FIB and adjacency entries and can forward Layer 3
traffic after a switchover. Configuration information and data structures are synchronized from the active
to the standby supervisor engine and whenever changes to the active supervisor engine configuration
occur. Following an initial synchronization between the two supervisor engines, SSO maintains state
information between them, including forwarding information.
During switchover, system control and routing protocol execution is transferred from the active
supervisor engine to the standby supervisor engine.
Note Be aware that you can use the [no] service slave-log configuration command to forward all error
messages from the standby supervisor engine to the active engine. By default, this capability is enabled.
NSF Operation
NSF always runs with SSO and provides redundancy for Layer 3 traffic. NSF is supported by the BGP,
OSPF, and EIGRP routing protocols and is supported by Cisco Express Forwarding (CEF) for
forwarding. The routing protocols have been enhanced with NSF-capability and awareness, which means
that routers running these protocols can detect a switchover and take the necessary actions to continue
forwarding network traffic and to recover route information from the peer devices.
A networking device is NSF-aware if it is running NSF-compatible software. A device is NSF-capable
if it has been configured to support NSF; it rebuilds routing information from NSF-aware or
NSF-capable neighbors.
Each protocol depends on CEF to continue forwarding packets during switchover while the routing
protocols rebuild the Routing Information Base (RIB) tables. After the routing protocols have converged,
CEF updates the FIB table and removes stale route entries. CEF then updates the hardware with the new
FIB information.
Routing Protocols
Note Use of the routing protocols require the Enterprise Services (entservices) level of Cisco IOS-XE
Software for the Catalyst 4500 series switch. EIGRP-stub and OSPF for routed access are supported on
IP Base level of Cisco IOS XE.
The routing protocols run only on the active supervisor engine, and they receive routing updates from
their neighbor routers. Routing protocols do not run on the standby supervisor engine. Following a
switchover, the routing protocols request that the NSF-aware neighbor devices send state information to
help rebuild the routing tables. NSF supports the BGP, OSPF, and EIGRP protocols.
Note For NSF operation, the routing protocols depend on CEF to continue forwarding packets while the
routing protocols rebuild the routing information.
BGP Operation
When an NSF-capable router begins a BGP session with a BGP peer, it sends an OPEN message to the
peer. Included in the message is a statement that the NSF-capable device has “graceful” restart
capability. Graceful restart is the mechanism by which BGP routing peers avoid a routing flap following
a switchover. If the BGP peer has received this capability, it is aware that the device sending the message
is NSF-capable. Both the NSF-capable router and its BGP peers need to exchange the graceful restart
capability in their OPEN messages at the time of session establishment. If both the peers do not exchange
the graceful restart capability, the session will not be capable of a graceful restart.
If the BGP session is lost during the supervisor engine switchover, the NSF-aware BGP peer marks all
the routes associated with the NSF-capable router as stale; however, it continues to use these routes to
make forwarding decisions for a set period of time. This functionality prevents packets from being lost
while the newly active supervisor engine is waiting for convergence of the routing information with the
BGP peers.
After a supervisor engine switchover occurs, the NSF-capable router reestablishes the session with the
BGP peer. In establishing the new session, it sends a new graceful restart message that identifies the
NSF-capable router as having restarted.
At this point, the routing information is exchanged between the two BGP peers. After this exchange is
complete, the NSF-capable device uses the routing information to update the RIB and the FIB with the
new forwarding information. The NSF-aware device uses the network information to remove stale routes
from its BGP table; the BGP protocol then is fully converged.
If a BGP peer does not support the graceful restart capability, it ignores the graceful restart capability in
an OPEN message but establishes a BGP session with the NSF-capable device. This function allows
interoperability with non-NSF-aware BGP peers (and without NSF functionality), but the BGP session
with non-NSF-aware BGP peers is not capable of a graceful restart.
Note BGP support in NSF requires that neighbor networking devices be NSF-aware; that is, the devices must
have the graceful restart capability and advertise that capability in their OPEN message during session
establishment. If an NSF-capable router discovers that a particular BGP neighbor does not have graceful
restart capability, it does not establish an NSF-capable session with that neighbor. All other neighbors
that have graceful restart capability continue to have NSF-capable sessions with this NSF-capable
networking device.
OSPF Operation
When an OSPF NSF-capable router performs a supervisor engine switchover, it must perform the
following tasks in order to resynchronize its link state database with its OSPF neighbors:
• Relearn the available OSPF neighbors on the network without causing a reset of the neighbor
relationship
• Reacquire the contents of the link state database for the network
As quickly as possible after a supervisor engine switchover, the NSF-capable router sends an OSPF NSF
signal to neighboring NSF-aware devices. Neighbor networking devices recognize this signal as an
indicator that the neighbor relationship with this router should not be reset. As the NSF-capable router
receives signals from other routers on the network, it can begin to rebuild its neighbor list.
After neighbor relationships are reestablished, the NSF-capable router begins to resynchronize its
database with all of its NSF-aware neighbors. At this point, the routing information is exchanged
between the OSPF neighbors. Once this exchange is complete, the NSF-capable device uses the routing
information to remove stale routes, update the RIB, and update the FIB with the new forwarding
information. The OSPF protocols are then fully converged.
Note OSPF support in NSF requires that all neighbor networking devices be NSF-aware. If an NSF-capable
router discovers that it has non-NSF -aware neighbors on a particular network segment, it disables NSF
capabilities for that segment. Other network segments composed entirely of NSF-capable or NSF-aware
routers continue to provide NSF capabilities.
EIGRP Operation
When an EIGRP NSF-capable router initially re-boots after an NSF restart, it has no neighbor and its
topology table is empty. The router is notified by the standby (now active) supervisor engine when it
needs to bring up the interfaces, reacquire neighbors, and rebuild the topology and routing tables. The
restarting router and its peers must accomplish these tasks without interrupting the data traffic directed
toward the restarting router. EIGRP peer routers maintain the routes learned from the restarting router
and continue forwarding traffic through the NSF restart process.
To prevent an adjacency reset by the neighbors, the restarting router uses a new Restart (RS) bit in the
EIGRP packet header to indicate a restart. The RS bit is set in the hello packets and in the initial INIT
update packets during the NSF restart period. The RS bit in the hello packets allows the neighbors to be
quickly notified of the NSF restart. Without seeing the RS bit, the neighbor can only detect an adjacency
reset by receiving an INIT update or by the expiration of the hello hold timer. Without the RS bit, a
neighbor does not know if the adjacency reset should be handled using NSF or the normal startup
method.
When the neighbor receives the restart indication, either by receiving the hello packet or the INIT packet,
it recognizes the restarting peer in its peer list and maintains the adjacency with the restarting router. The
neighbor then sends it topology table to the restarting router with the RS bit set in the first update packet
indicating that it is NSF-aware and is helping out the restarting router. The neighbor does not set the RS
bit in their hello packets, unless it is also a NSF restarting neighbor.
Note A router may be NSF-aware but may not be helping the NSF restarting neighbor because booting from
a cold start.
If at least one of the peer routers is NSF-aware, the restarting router would then receive updates and
rebuild its database. The restarting router must then find out if it had converged so that it can notify the
routing information base (RIB). Each NSF-aware router is required to send an end of table (EOT) marker
in the last update packet to indicate the end of the table content. The restarting router knows it has
converged when it receives the EOT marker. The restarting router can then begin sending updates.
An NSF-aware peer would know when the restarting router had converged when it receives an EOT
indication from the restarting router. The peer then scans its topology table to search for the routes with
the restarted neighbor as the source. The peer compares the route timestamp with the restart event
timestamp to determine if the route is still available. The peer then goes active to find alternate paths for
the routes that are no longer available through the restarted router.
When the restarting router has received all EOT indications from its neighbors or when the NSF converge
timer expires, EIGRP notifies the RIB of convergence. EIGRP waits for the RIB convergence signal and
then floods its topology table to all awaiting NSF-aware peers.
Configuring SSO
You must configure SSO in order to use NSF with any supported protocol. To configure SSO, perform
this task:
Command Purpose
Step 1 Switch(config)# redundancy Enters redundancy configuration mode.
Step 2 Switch(config-red)# mode sso Configures SSO. When this command is entered, the
standby supervisor engine is reloaded and begins to work
in SSO mode.
Step 3 Switch(config-red)# end Returns to EXEC mode.
Step 4 Switch# show running-config Verifies that SSO is enabled.
Step 5 Switch# show redundancy states Displays the operating redundancy mode.
Note The sso keyword is not supported if the IOS-XE software is running in LAN Base level.
This example shows how to configure the system for SSO and display the redundancy state:
Switch> enable
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# redundancy
Switch(config-red)# mode sso
Switch(config-red)# end
Switch# show redundancy states
my state = 13 -ACTIVE
peer state = 8 -STANDBY HOT
Mode = Duplex
Unit = Primary
Unit ID = 5
client count = 29
client_notification_TMR = 30000 milliseconds
keep_alive TMR = 9000 milliseconds
keep_alive count = 1
keep_alive threshold = 18
RF debug mask = 0x0
Switch#
Note You must configure BGP graceful restart on all peer devices participating in BGP NSF.
To configure BGP for NSF, perform this task (repeat this procedure on each of the BGP NSF peer
devices):
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Command Purpose
Step 2 Switch(config)# router bgp as-number Enables a BGP routing process, which places the
switch in switch configuration mode.
Step 3 Switch(config-router)# bgp graceful-restart Enables the BGP graceful restart capability,
starting BGP NSF.
If you enter this command after the BGP session
has been established, you must restart the session
for the capability to be exchanged with the BGP
neighbor.
Use this command on the restarting switch and all
of its peers.
Step 1 Verify that “bgp graceful-restart” appears in the BGP configuration of the SSO-enabled switch by
entering the show running-config command:
Switch# show running-config
.
.
.
router bgp 120
.
.
.
bgp graceful-restart
neighbor 10.2.2.2 remote-as 300
.
.
.
Updates: 0 0
Keepalives: 4 4
Route Refresh: 0 0
Total: 5 5
Default minimum time between advertisement runs is 0 seconds
............................................................
(Remaining output deleted)
Note All peer devices participating in OSPF NSF must be made OSPF NSF-aware, which happens
automatically when you install an NSF software image on the device.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# router ospf processID Enables an OSPF routing process, which places the
switch in router configuration mode.
Step 3 Switch(config-router)# nsf Enables NSF operations for OSPF.
Step 1 Verify that ‘nsf’ appears in the OSPF configuration of the SSO-enabled device by entering the show
running-config command:
Switch# show running-config
Step 2 Enter the show ip ospf command to verify that NSF is enabled on the device:
Switch> show ip ospf
Routing Process "ospf 1" with ID 187.1.1.1
Start time: 00:02:07.532, Time elapsed: 00:39:05.052
Supports only single TOS(TOS0) routes
Supports opaque LSA
Supports Link-local Signaling (LLS)
Switch#
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# router eigrp as-number Enables an EIGRP routing process, which places
the switch in router configuration mode.
Step 3 Switch(config-router)# nsf Enables EIGRP NSF.
Use this command on the “restarting” switch and
all of its peers.
Step 1 Verify that “nsf” appears in the EIGRP configuration of the SSO-enabled device by entering the
show running-config command:
Switch# show running-config
..
.
router eigrp 100
auto-summary
nsf
..
.
Step 2 Enter the show ip protocols command to verify that NSF is enabled on the device:
Switch# show ip protocols
*** IP Routing is NSF aware ***
Routing Protocol is "ospf 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 187.1.1.1
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 1
Routing for Networks:
Routing on Interfaces Configured Explicitly (Area 0):
Loopback0
GigabitEthernet5/3
TenGigabitEthernet3/1
Routing Information Sources:
Gateway Distance Last Update
121.1.1.1 110 00:01:02
Distance: (default is 110)
Switch#
Feature guides may contain information about more than one feature. To find information about a
specific feature within a feature guide, see the Feature Information table at the end of the guide.
Feature guides document features that are supported on many different software releases and platforms.
Your Cisco software release or platform may not support all the features documented in a feature guide.
See the Feature Information table at the end of the feature guide for information about which features in
that guide are supported in your software release. Use Cisco Feature Navigator to find information about
platform support and Cisco software image support. To access Cisco Feature Navigator, go to
http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
The following high availability features were introduced with Cisco IOS XE 3.1.0SG:
• Enhanced High System Availability
• NSF - Graceful Restart (GR) and Non Stop Routing (NSR) for IS-IS
• NSF - OSPF
• NSF/SSO (Nonstop Forwarding with Stateful Switchover)
• SSO - HDLC
• SSO - HSRP
• SSO - Multilink PPP (MLP)
• SSO - PPP
For details on Cisco High Availability, refer to the following URL:
http://www.cisco.com/en/US/products/ps6550/products_ios_technology_home.html
Note Before reading this chapter, read the “Preparing for Installation” section of the
Catalyst 4500 Series Installation Guide. It is important to ensure that your installation site has enough
power and cooling to accommodate the additional electrical load and heat introduced by Power over
Ethernet (PoE).
This chapter describes power management and environmental monitoring features in the Catalyst 4500
series switches. It provides guidelines, procedures, and configuration examples.
This chapter consists of the following major sections:
• About Environmental Monitoring, page 10-1
• Power Management, page 10-5
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Keyword Purpose
alarm Displays environmental alarms for the system.
status Displays field-replaceable unit (FRU) operational status and power
and power supply fan sensor information.
temperature Displays temperature of the chassis.
Fantray : Good
Fantray removal timeout : 30
Emergency Actions
Chassis with Supervisor Engine 7-E can power down a single card, providing a detailed response to
over-temperature conditions on linecards. However, Supervisor Engine 7-E cannot safely operate when
the temperature of the supervisor itself exceeds the critical threshold. Therefore, the supervisor engine
turns off the chassis’ power supplies to protect itself from overheating. When this happens, you can
recover the switch only by cycling the power on and off switches on the power supplies or by cycling the
AC or DC inputs to the power supplies.
Critical and shutdown temperature emergencies trigger the same action. Table 10-2 lists temperature
emergencies but does not distinguish between critical and shutdown emergencies.
In Case 4, the standby supervisor engine takes over when the active engine resets itself. Then, if the
temperature emergency remains, the newly active supervisor engine resets the standby supervisor
engine.
Case 5 applies to nonredundant chassis and to chassis with a standby supervisor engine that has been
shutdown or which has not fully booted.
System Alarms
Any system has two types of alarms: major and minor. A major alarm indicates a critical problem that
could lead to system shutdown. A minor alarm is informational—it alerts you to a problem that could
become critical if corrective action is not taken.
Table 10-3 lists the possible environment alarms.
Fan failure alarms are issued as soon as the fan failure condition is detected and are canceled when the
fan failure condition clears. Temperature alarms are issued as soon as the temperature reaches the
threshold temperature and are canceled when the temperature drops more than 5 degree C below the
threshold. 5 degree C is a hysteresis value designed to prevent toggling alarms.
An LED on the supervisor engine indicates whether an alarm has been issued.
When the system issues a major alarm, it starts a timer whose duration depends on the alarm. If the alarm
is not canceled before the timer expires, the system takes emergency action to protect itself from the
effects of overheating. The timer values and the emergency actions depend on the type of supervisor
engine.
Note Refer to the Catalyst 4500 Series Switch Module Installation Guide for information on LEDs, including
the startup behavior of the supervisor engine system LED.
Power Management
This section describes the power management feature in the Catalyst 4500 series switches. It includes
the following topics:
• Power Management for the Catalyst 4500 Series Switches, page 10-5
• Powering Down a Module, page 10-18
Note For power consumption of all Catalyst 4000/4500 family modules, see “Appendix A, Specifications,” in
the Catalyst 4500 Series Module Installation Guide. Enter the show power command to display the
current power redundancy and the current system power usage.
Note You should select a power supply based on the modules and the amount of PoE desired using the Cisco
Power Calculator:
http://tools.cisco.com/cpc/
The choice between 1000 AC and 1400 AC should depend on the type of linecards that the customer
plans to use in the chassis.
The Catalyst 4500 series switches support the following power supplies:
• Fixed Wattage—These power supplies always deliver a fixed amount of PoE and system power.
– 1000 W AC—Supports up to 1050 W of system power. (Not recommended on the Catalyst
4510R switch, PoE not supported)
– 1400 W AC—Supports up to 1400 W system power. (PoE not supported)
– 2800 W AC—Supports up to 1400 W of system power and up to 1400 W of PoE.
• Variable Wattage—These power supplies automatically adjust the wattage to accommodate PoE and
system power requirements.
– 1300 W AC—Supports up to 1050 W of system power and 800 W of PoE, limited to a total of
1300 W.
– 1400 W DC—Supports up to 1400 W of system power and variable amounts of PoE, depending
on the input feed to the power supply. See “Special Considerations for the 1400 W DC Power
Supply” section on page 10-16 for more information.
– 1400 W DC Service Provider—Uses up to three lines (12.5 A, 15 A, 15 A) of DC input and
delivers varying amounts of system power ranging from 400 W to 1400 W depending on the
lines powered. See “Special Considerations for the 1400 W DC SP Triple Input Power Supply”
section on page 10-17 for more information. (PoE not supported)
– 4200 W AC and 6000 W AC—Supports varying amounts of system power and PoE depending
on the number of inputs powered and input voltage.
Note All Catalyst 4500 series switch AC-input power supplies require single-phase source AC. The source AC
can be out of phase between multiple power supplies or multiple AC-power plugs on the same power
supply because all AC power supply inputs are isolated. Each chassis power supply should ideally have
its own dedicated branch circuit sized to local and national codes.
When you insert power supplies in your switch, use power supplies that are of the same wattage.
Multi-input power supplies such as 1400 W DC triple-input, 4200 W AC, and 6000 W AC have
additional restrictions. Read the sections on special considerations for these power supplies. If you mix
power supplies, the switch uses the one with the higher wattage and ignores the other power supply. The
power supply status displays as err-disable and the summary displays as all zeros (0) for wattage values
in the output for the show power command. The following example shows the output for the show
power command for mixed power supplies:
Switch# show power
Power Fan Inline
Supply Model No Type Status Sensor Status
------ ---------------- --------- ----------- ------ ------
PS1 PWR-C45-2800AC AC 2800W good good good
PS2 PWR-C45-1000AC AC 1000W err-disable good n.a.
Note On the Catalyst 4510R switch, the 1000 W AC power supply is not enough to support redundant
mode for all possible configurations. It is able to support redundant mode for limited
configurations that require less than 1050 W.
Note The 1400 W DC power supply supports combined mode for data power. It does not support
combined mode for PoE power.
• 1300 W can support a fully loaded Catalyst 4503 switch with Cisco powered devices.
• Each PoE port on a WS-X4148-RJ45V module requires 6.3 W. Five fully loaded WS-X4148-RJ45V
modules in a switch comprise 240 ports. This configuration requires 1512 W of PoE, plus 300 W for
the modules.
Limitation 1
It is possible to configure a switch that requires more power than the power supplies provide. The two
ways you could configure a switch to exceed the power capabilities are as follows:
• The power requirements for the installed modules exceed the power provided by the power supplies.
If you insert a single power supply and then set the switch to combined mode, the switch displays
this error message:
Insufficient power supplies present for specified configuration.
This error message also displays in the output for the show power command. This error message
displays because, by definition, combined mode requires that two working power supplies be
installed in your switch.
If the power requirements for the installed modules exceeds the power provided by the power
supplies, the switch displays this error message:
Insufficient power available for the current chassis configuration.
This error message also appears in the show power command output.
If you attempt to insert additional modules into your switch and exceed the power supply, the switch
immediately places the newly inserted module into reset mode, and the switch displays these error
messages:
Module has been inserted
Insufficient power supplies operating.
Additionally, if you power down a functioning switch and insert an additional module or change the
module configuration so that the power requirements exceed the available power, one or more
modules enter reset mode when you power on the switch again.
• The power requirements for the PoE exceed the PoE provided by the power supplies.
If you have too many IP phones drawing power from the system, power to IP phones is cut, and some
phones may be powered down to reduce the power requirements to match the power supplies.
In the first scenario (power requirements exceed the power supplied), the system attempts to resolve this
power usage limitation by evaluating the type and number of modules installed. During the evaluation
cycle, beginning from the bottom of the chassis, the system puts the modules that it is unable to support
(for lack of power) into reset mode. The supervisor engine and modules for which there is adequate
power always remain enabled, with no disruption of network connectivity. Modules placed in reset mode
still consume some power and can be removed from the chassis to further reduce power requirements. If
you configure the chassis correctly, the system does not enter the evaluation cycle.
A module in reset mode continues to draw power as long as it is installed in the chassis; use the show
power module command to determine how much power is required to bring the module online.
To compute the power requirements for your system and verify that your system has enough power, add
the power consumed by the supervisor engine module(s), the fan box(es), and the installed modules
(including PoE). For PoE, total the requirements for all the phones. See the “Powering Down a Module”
section on page 10-18 for more information on the power consumption for the various components of
your switch.
The 802.3af-compliant PoE modules can consume up to 20 W of PoE to power FPGAs and other
hardware components on the module. Be sure to add at least 20 W to your PoE requirements for each
802.3af-compliant PoE module to ensure that the system has adequate power for the PDs connected to
the switch.
On the WS-X4148-RJ45V PoE module, PoE consumption cannot be measured. Therefore, for all PoE
calculations, the PoE consumption on this module is presumed to be equal to its administrative PoE.
Use the show module command to verify which modules are active and which, if any, have been placed
in reset.
The following example shows the show module command output for a system with inadequate power
for all installed modules. The system does not have enough power for Module 5; the Status displays it
as PwrDeny.
If the PoE that is consumed by the module is more than 50 W above the PoE you allocated using the
power inline consumption default command, the Status displays as PwrOver. If the PoE consumed by
the module is more than 50 W above the PoE module limit, the Status displays as PwrFault.
Switch# show module
Mod Ports Card Type Model Serial No.
----+-----+--------------------------------------+-----------------+-----------
1 2 1000BaseX (GBIC) Supervisor(active) WS-X4014 JAB054109GH
2 6 1000BaseX (GBIC) WS-X4306 00000110
3 18 1000BaseX (GBIC) WS-X4418 JAB025104WK
5 0 Not enough power for module WS-X4148-FX-MT 00000000000
6 48 10/100BaseTX (RJ45) WS-X4148 JAB023402RP
Limitation 2
Certain configurations on the Catalyst 4507R and Catalyst 4510R chassis exceeds the maximum amount
of data power available. These configurations include the combination of the follow PIDs:
• 7-slot configuration
• Chassis: WS-C4507R-E, WS-C4510R-E
• Dual supervisor engines: WS-X45-Sup6-E
• One or more: WS-X4448-GB-RJ45 or WS-X4148-FX-MT
To maximize the 10/100/1000 port density of 7 and 10 slot chassis when using redundant Supervisor
engine 6-E install WS-X4548-GB-RJ45 linecards instead of WS-X4448-GB-RJ45 linecards. If
WS-X4448-GB-RJ45 linecards are required two options are available.
• Option 1
Only 4 linecard slots can be used on the Cat4507R and 6 linecard slots on the Cat4510R chassis.
• Option 2
When all slots are required only one WS-X4448-GB-RJ45 linecard can be used.
To maximize the 100-BASE-FX port density of 7 and 10 slot chassis when using Supervisor engine 6-E
install WS-4248-FE-SFP linecards with FX optics instead of WS-X4148-FX-MT linecards. If
WS-X4148-FX-MT linecards are required two options are available.
• Option 1
Only 4 linecard slots can be used on the Cat4507R and 6 linecard slots on the Cat4510R chassis.
• Option 2
When all slots are required only one WS-X4448-GB-RJ45 linecard can be used.
By default, the power supplies in a Catalyst 4500 series switch are set to operate in redundant mode. To
effectively use redundant mode, follow these guidelines:
• Use two power supplies of the same type.
• If you have the power management mode set to redundant mode and only one power supply
installed, your switch accepts the configuration but operates without redundancy.
Caution If you have power supplies with different types or different wattages installed in your switch, the switch
does not recognize one of the power supplies and does not have power redundancy.
• For fixed power supplies, choose a power supply that by itself is powerful enough to support the
switch configuration.
• For variable power supplies, choose a power supply that provides enough power so that the chassis
and PoE requirements are less than the maximum available power. Variable power supplies
automatically adjust the power resources at startup to accommodate the chassis and PoE
requirements. Modules are brought up first, followed by IP phones.
• The maximum available power for chassis and PoE for each power supply are listed in Table 10-5
on page 10-12.
To configure redundant mode on your Catalyst 4500 series switch, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# power redundancy-mode redundant Sets the power management mode to
redundant mode.
Step 3 Switch(config)# end Exits configuration mode.
Step 4 Switch# show power supplies Verifies the power redundancy mode for
the switch.
The following example shows how to set the power management mode to redundant mode.
Switch (config)# power redundancy-mode redundant
Switch (config)# end
Switch#
The following example shows how to display the current power redundancy mode. The power supplies
needed by system: 1 indicates that the switch is in redundant mode.
Switch# show power supplies
Power supplies needed by system:1
Switch#
An option in the combined mode provides a form of redundancy available with only the 4200 W AC and
6000 W AC power supplies. Refer to the section “Combined Mode Power Resiliency” on page 15.
If your switch configuration requires more power than a single power supply can provide, set the power
management mode to combined mode. Combined mode utilizes the available power for both power
supplies; however, your switch has no power redundancy.
To effectively use combined mode, follow these guidelines:
• Use power supplies of the same type and wattage (fixed or variable and AC or DC).
• If you use power supplies with different types or wattages, the switch utilizes only one of the power
supplies.
• For variable power supplies, choose a power supply that provides enough power so that the chassis
and PoE requirements are less than the maximum available power. Variable power supplies
automatically adjust the power resources at startup to accommodate the chassis and PoE
requirements.
• If you have the power management mode set to combined mode and only one power supply installed,
your switch accepts the configuration, but power is available from only one power supply.
• When your switch is configured to combined mode, the total available power is not the mathematical
sum of the individual power supplies. The power supplies have a predetermined current sharing ratio
(See Table 10-5 on page 10-12 for more information.)
• The maximum available power for chassis and PoE for each power supply are listed in Table 10-5
on page 10-12.
To configure combined mode on your Catalyst 4500 series switch, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# power redundancy-mode combined Sets the power management mode to
combined mode.
Step 3 Switch(config)# end Exits configuration mode.
Step 4 Switch# show power supplies Verifies the power redundancy mode for
the switch.
The following example shows how to set the power management mode to combined mode.
Switch (config)# power redundancy-mode combined
Switch (config)# end
Switch#
The following example shows how to display the current power redundancy mode. The power supplies
needed by system: 2 indicates that the switch is in combined mode.
Switch# show power supplies
Power supplies needed by system:2
Switch#
Power Supply Redundant Mode (W) Combined Mode (W) Sharing Ratio
1
1000 W AC Chassis = 1050 Chassis = 1667 2/3
PoE = 0 PoE = 0
1300 W AC Chassis (max) = 1050 Chassis (min) = 767 2/3
PoE (max) = 800 PoE (max) = 1333
Chassis + PoE + Backplane < Chassis (max) = 1667
1300 PoE (min) = 533
Chassis + PoE +
Backplane < 2200
1400 W DC Chassis (min) = 200 Chassis = 22674 Chassis—2/3
5
Chassis (max) = 1360 PoE PoE—0
PoE (max)2 = (DC Input3 -
[Chassis (min) + Backplane] /
0.75) * 0.96
1400 W AC Chassis = 1360 Chassis = 2473 9/11
6
PoE = 0 PoE = 0
2800 W AC Chassis = 1360 Chassis = 2473 Chassis7—9/11
PoE = 1400 PoE = 2333 PoE8—2/3
1. Chassis power includes power for the supervisor(s), all linecards, and the fan tray.
2. The efficiency for the 1400 W DC power supply is 0.75, and 0.96 is applied to PoE.
3. DC input can vary for the 1400 W DC power supply and is configurable. For more information, see “Special Considerations
for the 1400 W DC Power Supply” on page 16.
4. Not available for PoE.
5. Not available for PoE.
6. No voice power.
7. Data-only.
8. Inline power.
As with other power supplies, the two power supplies must be of the same type (6000 W AC or 4200 W
AC or 1400 W DC). Otherwise, the right power supply are put in err-disable state and the left one is
selected. In addition, all the inputs to the chassis must be at the same voltage. In redundant mode, the
inputs to the left and right power supplies must be identical. If the left and right power supplies are
powered in redundant mode, the power values are based on the power supply that has higher output
wattage.
Note When the system is powered with a 4200 W or 6000 W power supply either in 110 V or 220 V combined
mode operation, the available power is determined by the configuration of the system (the type of
linecards, the number of linecards, number of ports consuming inline power etc.) and does not reflect
the absolute maximum power.
Note In a matched redundant power supply configuration, if a power supply sub-module fails, the other (good)
power supply provides power to its full capability.
Table 10-6 illustrates how the 4200 W AC power supply is evaluated in redundant mode.
Table 10-6 Power Output in Redundant Mode for the 4200 W AC Power Supply
In combined mode, all the inputs to the chassis must be at the same voltage.
Table 10-7 illustrates how the 4200 W AC power supply is evaluated in combined mode.
Table 10-7 Combined Mode Output for the 4200 W AC Power Supply
Table 10-8 illustrates how the 6000 W AC power supply is evaluated in redundant mode.
Table 10-8 Power Output in Redundant Mode for the 6000 W AC Power Supply
In combined mode, all the inputs to the chassis must be at the same voltage.
Table 10-9 illustrates how the 6000 W AC power supply is evaluated in combined mode.
Table 10-9 Combined Mode Output for the 6000 W AC Power Supply
Note This feature only applies in combined mode when both power supply bays contain the 4200 W AC or
6000 W AC power supply.
Using the combined mode power resiliency feature, you can limit the power usage to a maximum of two
or three (configurable) inputs.
With two 4200 W AC or 6000 W AC power supplies, a maximum of four inputs are available. This
feature allows you to cap the power usage to that of two or three inputs. If one of the power supplies
fails, no loss of power occurs because you have capped its usage to a smaller number of inputs.
To configure the combined mode resiliency feature, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode
Step 2 Switch(config)# power redundancy combined max Limits the power usage to two or three
inputs {2 | 3} inputs.
Note The max inputs part of the command
is ignored by all power supplies other
than the 4200 W AC or 6000 W AC.
Step 3 Switch(config)# end Exits configuration mode.
Let’s say that you have max inputs 3 configured with 4 “good” (220 V) inputs and you limit the user to
5500 W instead of 7600 W with the following configuration. If one sub-unit fails or is powered off, the
user would have three “good” inputs providing 5500 W and the chassis is powered at the same rate as it
was prior to the failure event.
Switch# configuration terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# power redundancy combined max inputs 3
Switch(config)# end
Switch#
14:32:01: %SYS-5-CONFIG_I: Configured from console by console
Here is the output of the show power command prior to invoking this feature:
Switch# show power
sh power
Power Fan Inline
Supply Model No Type Status Sensor Status
------ ---------------- --------- ----------- ------- -------
PS1 PWR-C45-4200ACV AC 4200W good good good
PS1-1 110V good
PS1-2 110V good
PS2 PWR-C45-4200ACV AC 4200W good good good
PS2-1 110V good
PS2-2 110V good
Here is the output after invoking this features: Before combined mode was indicated as
Power supplies needed = 2 in the output of the show power command, combined mode is now indicated
by the phrase Power supplies needed by system : 2 Maximum Inputs = 3.
Switch# show power
show power
Power Fan Inline
Supply Model No Type Status Sensor Status
------ ---------------- --------- ----------- ------- -------
PS1 PWR-C45-4200ACV AC 4200W good good good
PS1-1 110V good
PS1-2 110V good
PS2 PWR-C45-4200ACV AC 4200W good good good
PS2-1 110V good
PS2-2 110V good
Switch#
Caution Do not mix the 1400 W DC power supply with any other power supply, even for a hot swap or other
short-term emergency. Doing so can seriously damage your switch.
Keep in mind the following guidelines when using a 1400 W DC power supply with your Catalyst 4500
series switch:
• The 1400 W DC power supply works with a variety of DC sources. The DC input can vary from
300 W to 7500 W. Refer to the power supply documentation for additional information.
• The supervisor engine cannot detect the DC source plugged into the 1400 W DC power supply. If
you are using the 1400 W DC power supply, use the power dc input command to set the DC input
power. For more information on this command, see the “Configuring the DC Input for a Power
Supply” section on page 10-17.
• The software automatically adjusts between system power (for modules, backplane, and fans) and
PoE. Although PoE is 96 percent efficient, system power has only 75 percent efficiency. For
example, each 120 W of system power requires 160 W from the DC input. This requirement is
reflected in the “Power Used” column of the output for the show power available command.
• The 1400 W DC power supply has a separate power on or off switch for PoE. The power supply fan
status and main power supply status are tied together. If either of them fails, both the power supply
and its fan report as bad/off. You should verify that the main power is on before turning on the power
for the inline switch. In addition, you should verify that the power for the inline switch is off before
turning off the main power.
To configure the DC input power for the 1400 W DC power supply or a power shelf, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode
Step 2 Switch(config)# power dc input watts Sets the capacity of the DC input source.
Step 3 Switch(config)# end Exits configuration mode.
The same configuration is applied to both power slots. For example, if you set the dc power input to
1000 W, the switch expects 1000 W as the external DC source for both slot 1and slot 2 (if present)
respectively.
The following example shows how to set the external DC power source to 1000 W:
Switch# configure terminal
Switch (config)# power dc input 1000
Switch (config)# end
Switch#
If you use the 1400 W DC SP power supply in combined mode, the inputs do not have to match.
PS2 none -- -- -- --
Observe the following guidelines when using a 1400 W DC SP power supply with your Catalyst 4500
series switch:
• When you use two 48 V power rails to drive two power supplies, you might employ cross-wiring to
connect the power supplies (to rails) to minimize the inrush current drawn during an initial power
up. In this situation, you should configure the switch in combined mode before you take a rail down
for maintenance.
• Ordinarily, when configured for redundancy, two power supplies must be matched (have identical
inputs). For example, you might provide power to inputs 1 and 3 on both PS1 and PS2. If power
supplies are mismatched upon bootup, the right (second) power supply is in err-disable state.
In a matched redundant power supply configuration, if a power supply sub-module fails, the other (good)
power supply provides maximum power.
Command Purpose
Switch(config)# no hw-module module num power Turns power down to the specified module by
placing it in low power mode.
To power on a module that has been powered down, perform this task:
Command Purpose
Switch(config)# hw-module module num power Turns power on to the specified module.
Note Before reading this chapter, read the "Preparing for Installation” section of the
Catalyst 4500 Series Installation Guide. You must ensure that your installation site has enough power
and cooling to accommodate the additional electrical load and heat introduced by PoE.
This chapter describes how to configure Power over Ethernet (PoE) on the Catalyst 4500 series switch.
This chapter contains the following sections:
• About Power over Ethernet, page 11-1
• Power Management Modes, page 11-3
• Configuring Power Consumption for Powered Devices on an Interface, page 11-5
• Displaying the Operational Status for an Interface, page 11-6
• Displaying the PoE Consumed by a Module, page 11-7
• PoE Policing and Monitoring, page 11-11
• Enhanced Power PoE Support on the E-Series Chassis, page 11-15
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
supply. The amount of PoE power available depends on the PoE capabilities of individual power
supplies. Support for PoE enables the system to power inline devices, such as IP phones, IP video
phones, and wireless access points over standard copper cabling (Category 5, 5e, or 6 cabling).
In addition, with PoE, you do not need to provide wall power for each PoE enabled device. This action
eliminates the cost for additional electrical cabling that would otherwise be necessary for connected
devices. Moreover, PoE enables you to isolate critical devices on a single power system, enabling the
entire system to be supported by UPS backup.
You typically deploy a Catalyst 4500 series switch in one of two deployment scenarios. The first scenario
is data-only, which requires power to operate the switch and the associated modules. The second scenario
supports data and PoE (also termed “inline power”) for deployments where the attached device derives
power from the Ethernet port.
Catalyst 4500 series switches can sense if a powered device is connected to a PoE module. They can
supply PoE to the powered device if there is no power on the circuit. (If there is power on the circuit, the
switch does not supply it.) The powered device can also be connected to an AC power source and supply
its own power to the voice circuit.
Note You should select the amount of PoE desired using the Cisco Power Calculator:
http://tools.cisco.com/cpc/
Hardware Requirements
To power a device using PoE, your chassis must use at least one of the power supplies listed in
Table 11-1, and connect the device to at least one of the switching modules listed in Table 11-1.
Command Purpose
Step 1 Switch(config)# interface {fastethernet | Selects the interface to configure.
gigabitethernet} slot/port
Step 2 Switch(config-if)# power inline {auto [max The auto keyword sets the interface to automatically detect
milli-watts] | never | static [max and supply power to the powered device. This is the default
milli-watts]}
configuration.
The static keyword sets the interface to higher priority than
auto.
If necessary, use the max keyword to specify the maximum
wattage allowed on the interface (4000 to 15400 mW for
most switching modules. As of Cisco IOS release
12.2(44)SG the WS-X4648-RJ45V+E can support up to 30
W available per port and the WS-X4648-RJ45V-E supports
up to 20 W. For more information, see “Enhanced Power PoE
Support on the E-Series Chassis” on page 15).
Use the never keyword to disable detection and power for
the PoE capable interface.
Command Purpose
Step 3 Switch(config-if)# end Exits configuration mode.
Step 4 Switch# show power inline {fastethernet | Displays the PoE state for the switch.
gigabitethernet} slot/port
Note If you set a non-PoE-capable interface to automatically detect and apply power, an error message
indicates that the configuration is not valid.
The following example shows how to set the Fast Ethernet interface 4/1 to automatically detect PoE and
send power through that interface, and to verify the PoE configuration:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 4/1
Switch(config-if)# power inline auto
Switch(config-if)# end
Switch# show power inline fastethernet 4/1
Available:677(w) Used:11(w) Remaining:666(w)
The following example shows how to configure an interface so that it never supplies power through the
interface:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 5/2
Switch(config-if)# power inline never
Switch(config-if)# end
Switch#
Note When manually configuring the consumption for powered devices, you need to account for the power
loss over the cable between the switch and the powered device.
To change the power consumption of a single powered device, perform this task:
Command Purpose
Step 1 Switch(config)# interface {fastethernet | Selects the interface to configure.
gigabitethernet} slot/port
Step 2 Switch(config-if)# [no] power inline Sets the PoE consumption (in milliwatts) of the powered
consumption milli-watts device connected to a specific interface. The power
consumption can range from 4000 to 15,400.
To re-enable the automatic adjustment of consumption,
either use the no keyword or specify 15,400 milliwatts.
Step 3 Switch(config-if)# end Exits configuration mode.
Step 4 Switch# show power inline consumption Displays the PoE consumption for the interface.
{fastethernet | gigabitethernet} slot/port
This example shows how to set the PoE consumption to 5000 milliwatts for interface gi 7/1 regardless
what is mandated by the 802.3af class of the discovered device, or by any CDP packet received from the
powered device. This example also verifies the PoE consumption on interface gi 7/1.
The following output displays the initial power consumption of the interface.
Switch# show power inline gi 7/1
Available:627(w) Used:267(w) Remaining:360(w)
The following output displays the power consumption after issuing the power inline consumption
command against the interface:
Switch# show power inline gi 7/1
Available:627(w) Used:265(w) Remaining:362(w)
This example shows how to display the operational status for Fast Ethernet interface 4/1:
Switch# show power inline fa4/1
Available:677(w) Used:11(w) Remaining:666(w)
The following example uses the show power module command to display the PoE consumption for an
802.3af-compliant module:
Switch# show power module
The Inline Power Oper column displays the amount of PoE consumed by the powered devices that are
attached to the module, in addition to the PoE consumed by the FPGAs and other hardware components
on the module.
The Inline Power Admin column displays only the amount of PoE allocated by the powered devices
attached to the module.
Note The operating PoE consumption for an 802.3af-compliant module can be non-zero, even when there are
no powered devices attached to the module, because of the PoE consumed by FPGAs and other hardware
components on the module. In addition, the operating PoE can vary because of fluctuations in the PoE
consumed by the hardware components.
The following example uses the show power detail and show power inline commands to display the
PoE consumption for an 802.3af-compliant module:
Switch# show power detail
PoE policing protects a switch from faulty inline powered devices that may draw more current than they
were designed for. When a device is connected to a port, a linecard detects the type of device connected
and allocates the appropriate amount of power. It sets a PoE policing threshold to a value 5 per cent
greater than the allocated power. If the device consumes more power than specified by the policing
threshold for a more than 1 second, the port shuts down. Depending on the policing action configured,
the port may then be error-disabled, or a message might be logged to the console and the port restarted.
PoE monitoring lets you display the true power consumption of inline powered devices attached to the
switch, allowing you determine your actual power consumption.
Topics include:
• PoE Policing Modes, page 11-12
• Configuring Power Policing on an Interface, page 11-12
• Displaying Power Policing on an Interface, page 11-13
• Configuring Errdisable Recovery, page 11-14
Note After an inline-power policing violation occurs and the port shuts down, PoE policing automatically
turns on again when the port restarts. So, if the connected device exceeds its allocated power again, the
port once again shuts down.
The default action for power policing is to set the port to errdisable; the power inline police command
is equivalent to the power inline police action errdisable command, as the above example illustrates.
The following example illustrates how to configure the logging policing action:
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# int g2/1
Switch(config-if)# power inline police action log
Switch(config-if)# end
Switch# show power inline police g2/1
Available:800(w) Used:32(w) Remaining:768(w)
When a PD consumes more than its allocated power, the port shuts down and a warning message similar
to the following appears on the console.
For the WS-X4648-GB-RJ45V and WS-X4648-GB-RJ45V+:
*Sep 12 09:15:28.583: %C4K_ETHPORTMAN-3-INLINEPOWEROVERDRAWN: Inline powered
device connected on port Gi3/25 exceeded its policed threshold.
If you enter the show power inline command at the global level (show power inline police), the last
line of the output under the Oper Power field displays the total of true inline power consumption of all
devices connected to the switch.
Note If detection is disabled (through the errdisable detect cause inline-power command), the port is not
placed in errdisable state when it exceeds its power policing threshold.
errdisable recovery
By default, errdisable recovery for inline-power is disabled. To enable errdisable recovery, enter the
errdisable detect cause line-power command:
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# errdisable detect cause inline-power
Switch(config)# end
Switch# show errdisable recovery
ErrDisable Reason Timer Status
----------------- --------------
----------- ----------
inline-power Enabled
Ordinarily, the default power inline configurations suffice; no additional configuration is required even
for high power consumption Cisco powered devices (for example, a Cisco AP1250 Wireless Access
Point). When a high power consumption device is attached to a port on a WS-X4648-RJ45V-E or
WS-X4648-RJ45V+E linecard, the switch and device negotiate power using CDP/LLDP packets to
automatically determine the extended amount of power needed by the device.
Depending on the deployment requirements and design, you specify a specific configuration with the
power inline command.
The following example shows how to pre-allocate PoE allocation to 16500 mW for Gi 2/1, regardless of
what is mandated either by the 802.3af class of the discovered device or by any CDP packet that is
received from the powered device:
Switch# configure terminal
This chapter describes VLANs on Catalyst 4500 series switches. It also describes how to enable the
VLAN Trunking Protocol (VTP) and to configure the Catalyst 4500 series switch as a VMPS client.
This chapter includes the following major sections:
• VLANs, page 12-1
• VLAN Trunking Protocol, page 12-7
• VLAN Membership Policy Server, page 12-20
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
VLANs
This section includes the following major subsections:
• About VLANs, page 12-1
• VLAN Configuration Guidelines and Restrictions, page 12-3
• VLAN Default Configuration, page 12-4
• Configuring VLANs, page 12-5
About VLANs
A VLAN is a group of devices on one or more LANs that are configured to communicate as if they were
attached to the same wire, when in fact they are located on a number of different LAN segments. Because
VLANs are based on logical instead of physical connections, they are extremely flexible.
Note VTP version 3 updates do not pass through promiscuous trunk ports.
VLANs define broadcast domains in a Layer 2 network. A broadcast domain is the set of all devices that
receives broadcast frames originating from any device within the set. Broadcast domains are typically
bounded by switches because switches do not forward broadcast frames. Layer 2 switches create
broadcast domains based on the configuration of the switch. Switches are multiport bridges that allow
you to create multiple broadcast domains. Each broadcast domain is like a distinct virtual bridge within
a switch.
You can define one or many virtual bridges within a switch. Each virtual bridge you create in the switch
defines a new broadcast domain (VLAN). Traffic cannot pass directly to another VLAN (between
broadcast domains) within the switch or between two switches. To interconnect two different VLANs,
you must use switches or Layer 3 switches. See the “Overview of Layer 3 Interfaces” section on
page 26-1 for information on inter-VLAN routing on Catalyst 4500 series switches.
Figure 12-1 shows an example of three VLANs that create logically defined networks.
Cisco router
Floor 3
Fast
Ethernet
Floor 2
Floor 1
16751
VLANs are often associated with IP subnetworks. For example, all of the end stations in a particular IP
subnet belong to the same VLAN. Traffic between VLANs must be routed. You must assign LAN
interface VLAN membership on an interface-by-interface basis (this is known as interface-based or
static VLAN membership).
You can set the following parameters when you create a VLAN in the management domain:
• VLAN number
• VLAN name
• VLAN type
Note When the software translates from one VLAN type to another, it requires a different VLAN number for
each media type.
VLAN Ranges
Note You must enable the extended system ID to use 4094 VLANs. See the “Understanding the Bridge ID”
section on page 16-2.
With Cisco IOS Release 12.2(25)EWA and later, Catalyst 4500 series switches support 4096 VLANs in
compliance with the IEEE 802.1Q standard. These VLANs are organized into three ranges: reserved,
normal, and extended.
Some of these VLANs are propagated to other switches in the network when you use the VLAN
Trunking Protocol (VTP). The extended-range VLANs are not propagated, so you must configure
extended-range VLANs manually on each network device.
Prop
VLANs Range Usage by VT
0, 4095 Reserved For system use only. You cannot see or use these VLANs. —
1 Normal Cisco default. You can use this VLAN but you cannot delete it. Yes
2–1001 Normal Used for Ethernet VLANs; you can create, use, and delete these VLANs. Yes
1002–1005 Normal Cisco defaults for FDDI and Token Ring. You cannot delete VLANs 1002–1005. Yes
1006–4094 Extended For Ethernet VLANs only. When configuring extended-range VLANs, note the No
following:
• Layer 3 ports and some software features require internal VLANs. Internal
VLANs are allocated from 1006 and up. You cannot use a VLAN that has been
allocated for such use. To display the VLANs used internally, enter the show
vlan internal usage command.
• Switches running Catalyst product family software do not support
configuration of VLANs 1006–1024. If you configure VLANs 1006–1024,
ensure that the VLANs do not extend to any switches running Catalyst product
family software.
• You must enable the extended system ID to use extended range VLANs.
Note Ethernet VLANs 1 and 1006 through 4094 use only default values.
You can configure the following parameters for VLANs 2 through 1001:
• VLAN name
• VLAN type
• VLAN state (active or suspended)
• SAID
• STP type for VLANs
Note Catalyst 4500 series switches do not support Token Ring or FDDI media. The switch does not forward
FDDI, FDDI-NET, TrCRF, or TrBRF traffic, but it does propagate the VLAN configuration via VTP. The
software reserves parameters for these media types, but they are not truly supported.
Configuring VLANs
Note Before you configure VLANs, you must use VLAN Trunking Protocol (VTP) to maintain global VLAN
configuration information for your network. For complete information on VTP, see the “VLAN Trunking
Protocol” section on page 7.
Note VLANs support a number of parameters that are not discussed in detail in this section. For complete
information, refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference.
Note The VLAN configuration is stored in the vlan.dat file, which is stored in nonvolatile memory. You can
cause inconsistency in the VLAN database if you manually delete the vlan.dat file. If you want to
modify the VLAN configuration or VTP, use the commands described in the following sections and in
the Catalyst 4500 Series Switch Cisco IOS Command Reference.
If the switch is in VLAN transparent mode, use the copy running-config startup-config command to
save the VLAN configuration to the startup-config file. After you save the running configuration as the
startup configuration, the show running-config and show startup-config commands display the VLAN
configuration.
Note When the switch boots, if the VTP domain name and VTP mode in the startup-config and vlan.dat files
do not match, the switch uses the configuration in the vlan.dat file.
You use the interface configuration command mode to define the port membership mode and add and
remove ports from a VLAN. The results of these commands are written to the running-config file, and
you can display the contents of the file by entering the show running-config command.
User-configured VLANs have unique IDs from 1 to 4094. To create a VLAN, enter the vlan command
with an unused ID. To verify whether a particular ID is in use, enter the show vlan id ID command. To
modify a VLAN, enter the vlan command for an existing VLAN.
See the “VLAN Default Configuration” section on page 12-4 for the list of default parameters that are
assigned when you create a VLAN. If you do not use the media keyword when specifying the VLAN
type, the VLAN is an Ethernet VLAN.
To create a VLAN, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
• When you create VLANs with the VLAN configuration command, they are automatically added to
the existing VTP domain; no action is required of the user.
This example shows how to create an Ethernet VLAN in global configuration mode and verify the
configuration:
Switch# configure terminal
Switch(config)# vlan 3
Switch(config-vlan)# end
Switch# show vlan id 3
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
3 VLAN0003 active
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
3 enet 100003 1500 - - - - - 0 0
Primary Secondary Type Interfaces
------- --------- ----------------- -------------------------------------------
Switch#
Note Make sure you assign LAN interfaces to a VLAN of the proper type. Assign Fast Ethernet, Gigabit
Ethernet, and 10-Gigabit Ethernet interfaces to Ethernet-type VLANs.
To assign one or more LAN interfaces to a VLAN, complete the procedures in the “Configuring Ethernet
Interfaces for Layer 2 Switching” section on page 14-5.
About VTP
VTP is a Layer 2 messaging protocol that maintains VLAN configuration consistency by managing the
addition, deletion, and renaming of VLANs within a VTP domain. A VTP domain (also called a VLAN
management domain) is made up of one or more network devices that share the same VTP domain name
and that are interconnected with trunks. VTP minimizes misconfigurations and configuration
inconsistencies that can result in a number of problems, such as duplicate VLAN names, incorrect
VLAN-type specifications, and security violations.
Before you create VLANs, you must decide whether you want to use VTP in your network. With VTP,
you can make configuration changes centrally on one or more network devices and have those changes
automatically communicated to all the other network devices in the network. For details on configuring
VLANs, see VLANs, page 12-1
These sections describe how VTP works:
• Understanding the VTP Domain, page 12-8
• Understanding VTP Modes, page 12-8
• Understanding VTP Advertisements, page 12-9
• Understanding VTP Versions, page 12-9
• Understanding VTP Pruning, page 12-11
Note In VTP version 3, manipulation of VLANs can be done only to primary servers.
• Client—VTP clients behave the same way as VTP servers, but you cannot create, change, or delete
VLANs on a VTP client.
Note Catalyst 4500 series switches automatically change from VTP server mode to VTP client mode if the
switch detects a failure while writing configuration to NVRAM. If this happens, the switch cannot be
returned to VTP server mode until the NVRAM is functioning.
VTP Version 2
If you use VTP in your network, you must decide whether to use VTP version 1 or version 2.
Note Catalyst 4500 series switches do not support Token Ring or FDDI media. The switch does not forward
FDDI, FDDI-Net, Token Ring Concentrator Relay Function [TrCRF], or Token Ring Bridge Relay
Function [TrBRF] traffic, but it does propagate the VLAN configuration via VTP.
VTP version 2 supports the following features, which are not supported in version 1:
• Token Ring support—VTP version 2 supports Token Ring LAN switching and VLANs (TrBRF and
TrCRF).
• Unrecognized Type-Length-Value (TLV) Support—A VTP server or client propagates configuration
changes to its other trunks, even for TLVs it is not able to parse. The unrecognized TLV is saved in
NVRAM.
• Version-Dependent Transparent Mode—In VTP version 1 and version 2, a VTP transparent network
device forwards VTP messages in transparent mode without checking the version.
• Consistency Checks—In VTP version 2, VLAN consistency checks (such as VLAN names and
values) are performed only when you enter new information through the CLI or SNMP. Consistency
checks are not performed when new information is obtained from a VTP message or when
information is read from NVRAM. If the digest on a received VTP message is correct, its
information is accepted without consistency checks.
VTP Version 3
VTP version 3 supports the following features not supported in version 1 or version 2:
• Hidden Password Support—VTP version 3 supports the option of configuring the password as
hidden or secret.
When the hidden keyword is specified, that password must be reentered if a takeover command is
issued in the domain. The secret key generated from the password string is saved in the
const_nvram:vlan.dat file. When configured with this option, the password does not appear in plain
text in the configuration. Instead, the secret key associated with the password is saved in
hexadecimal format in the running configuration. If the hidden keyword is not specified, the
password is saved in clear text in the const_nvram:vlan.dat file as in VTP version 1 and VTP
version 2.
When the secret keyword is specified, the password secret key can be directly configured.
• Support for extended VLAN Database Propagation—In VTP version 2, VLAN configuration
information is propagated only for VLANs numbered 1 to 1000. In VTP version 3, information also
is propagated for extended-range VLANs (VLANs numbered 1006 to 4094).
• On Catalyst 4500 series switches running VTP version 1, VTP version 2, or VTP version 3, default
VLANs 1 and 1002 to 1005 cannot be modified.
Catalyst series
switch 4
Interface 2
Interface 1
94151
Figure 12-3 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 (Interface 5 on Switch 2 and Interface 4 on Switch 4).
Switch 4
Interface 2
Interface 4
Flooded traffic
is pruned.
Switch 2
Red
VLAN
Switch 5 Interface 5
Interface 1
31075
Switch 6 Switch 3 Switch 1
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 eligible for
pruning. VTP pruning does not prune traffic from pruning-ineligible VLANs. VLAN 1 is always
ineligible for pruning; traffic from VLAN 1 cannot be pruned.
To configure VTP pruning on a trunking LAN interface, use the switchport trunk pruning vlan
command. VTP pruning operates when a LAN interface is trunking. You can set VLAN pruning
eligibility regardless of whether VTP pruning is enabled or disabled for the VTP domain, whether any
given VLAN exists, and regardless of whether the LAN interface is currently trunking.
• In a Token Ring environment, you must enable VTP version 2 or version 3 for Token Ring VLAN
switching to function properly.
• Two VPT version 3 regions can only communicate in transparent mode over a VTP version 1 or VTP
version 2 region.
• All network devices in a VTP domain must run the same VTP version.
• You must configure a password on each network device in the management domain when VTP is in
secure mode.
Caution If you configure VTP in secure mode, the management domain does not function properly if you do not
assign a management domain password to each network device in the domain.
• A VTP version 2-capable network device can operate in the same VTP domain as a network device
running VTP version 1 if VTP version 2 is disabled on the VTP version 2-capable network device
(VTP version 2 is disabled by default).
• Do not enable VTP version 2 on a network device unless all of the network devices in the same VTP
domain are version 2-capable. When you enable VTP version 2 on a server, all of the
version 2-capable network devices in the domain enable VTP version 2.
• Enabling or disabling VTP pruning on a VTP server enables or disables VTP pruning for the entire
management domain.
• Configuring VLANs as eligible for pruning on a Catalyst 4500 series switch affects pruning
eligibility for those VLANs on that switch only, not on all network devices in the VTP domain.
• The VLAN database is saved in the NVRAM file in a format compliant with the VTP version
running on the system. Since older images supporting only VTP version 2 do not recognize the VTP
version 3 file format, the NVRAM VLAN database information is lost if the system is downgraded
from a new image supporting VTP to one that does not.
The default VTP mode for newly manufactured Catalyst 4500 supervisor engines, Catalyst 4900 series
switches, and the Cisco ME 4924-10GE switch is transparent. Deleting vlan.dat or issuing the
erase cat4000_flash: command, and resetting the switch changes the VTP mode to server.
Configuring VTP
These sections describe how to configure VTP:
• Configuring VTP Global Parameters, page 12-14
• Configuring the VTP Mode, page 12-16
• Starting a Takeover, page 12-19
• Displaying VTP Statistics, page 12-19
• Displaying VTP Devices in a Domain, page 12-20
Note You can enter the VTP global parameters in either global configuration mode or in EXEC mode.
Command Purpose
Switch(config)# vtp password Sets a password, which can be from 8 to
password_string [hidden | secret] 64 characters long, for the VTP domain.
In VTP version 3 the keywords hidden and secret
are available.
• If the hidden keyword is used, the secret key
generated from the password string is saved
in the const_nvram:vlan.dat file. If a takeover
command is issued, that password must be
reentered.
• If the secret keyword is used, the password
secret key can be directly configured. The
secret password must contain 32
hexadecimal characters.
Switch(config)# no vtp password Clears the password.
This example shows one way to configure a VTP password in global configuration mode:
Switch# configure terminal
Switch(config)# vtp password WATER
Setting device VLAN database password to WATER.
Switch#
This example shows how to configure a VTP password in EXEC mode:
This example shows how the password WATER is displayed when it is configured with the hidden
keyword.
Switch# show vtp password
VTP Password: 89914640C8D90868B6A0D8103847A733
Switch#
Command Purpose
Step 1 Switch(config)# vtp pruning Enables VTP pruning in the management domain.
Step 2 Switch# show vtp status | include pruning (Optional) Verifies the configuration.
This example shows one way to enable VTP pruning in the management domain:
Switch# configure terminal
Switch(config)# vtp pruning
Pruning switched ON
This example shows how to enable VTP pruning in the management domain with any release:
Switch# vtp pruning
Pruning switched ON
For information about configuring prune eligibility, see the “Understanding VTP Pruning” section on
page 12-11.
VTP version 2 is disabled by default on VTP version-2-capable network devices. When you enable VTP
version 2 on a network device, every VTP version-2-capable network device in the VTP domain enables
version 2.
Caution VTP version 1 and VTP version 2 are not interoperable on network devices in the same VTP domain.
Every network device in the VTP domain must use the same VTP version. Do not enable VTP version 2
unless every network device in the VTP domain supports version 2.
Note In a Token Ring environment, you must enable VTP version 2 or VTP version 3 for Token Ring VLAN
switching to function properly on devices that support Token Ring interfaces.
Command Purpose
Step 1 Switch(config)# vtp version {1 | 2 | 3} Enables the VTP version.
Step 2 Switch# show vtp status | include {v1 | v2 | v3} (Optional) Verifies the configuration.
This example shows how to enable VTP version 2 with any release:
Switch# vtp version 2
V2 mode enabled.
Switch#
Command Purpose
Step 1 Switch(config)# vtp mode {client | server | Configures the VTP mode.
transparent | off}
Step 2 Switch(config)# vtp domain domain_name (Optional; for server mode only) Defines the VTP domain
name, which can be up to 32 characters long. VTP server
mode requires a domain name. If the switch has a trunk
connection to a VTP domain, the switch learns the
domain name from the VTP server in the domain.
Note You cannot clear the domain name.
Step 3 Switch(config)# end Exits VLAN configuration mode.
Step 4 Switch# show vtp status (Optional) Verifies the configuration.
Note When VTP is disabled, you can enter VLAN configuration commands in configuration mode instead of
the VLAN database mode and the VLAN configuration is stored in the startup configuration file.
This example shows how to disable VTP on the switch and to disable VTP advertisement forwarding:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vtp mode off
Setting device to VTP OFF mode.
Switch(config)# end
Switch#
This example shows an example of the VTP configuration parameters when the device is running VTP
version 1:
Switch# show vtp status
VTP Version capable : 1 to 3
VTP version running : 1
VTP Domain Name : Lab_Network
VTP Pruning Mode : Enabled
VTP Traps Generation : Disabled
Device ID : 0016.9c6d.5300
Configuration last modified by 127.0.0.12 at 10-18-07 10:12:42
Local updater ID is 127.00.12 at 10-18-07 10:2:42
Feature VLAN:
--------------
VTP Operating Mode : Server
Maximum number of existing VLANs : 5
Configuration Revision : 1
MD5 digest : 0x92 0xF1 0xE8 0x52 0x2E ox5C 0x36 0x10 0x70 0x61 0xB8
0x24 0xB6 0x93 0x21 0x09
Switch#
This example shows an example of the VTP configuration parameters when the device is running VTP
version 2:
Switch# show vtp status
VTP Version capable : 1 to 3
VTP version running : 2
VTP Domain Name : Lab_Network
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : 0012.44dc.b800
Configuration lst modified by 127.0.0.12 at 10-18-07 10:38:45
Local updater ID is 127.0.0.12 on interface EO 0/0 (first interface found)
Feature VLAN:
--------------
VTP Operating Mode : Server
Maximum VLANs supported locally: 1005
Number of existing VLANs : 1005
Configuration Revision : 1
MD5 digest : 0x2E 0x6B 0x99 0x58 0xA2 0x4F 0xD5 0x150x70 0x61 0xB8
0x24 0xB6 0x93 0x21 0x09
Switch#
This example shows an example of the VTP configuration parameters when the device is running VTP
version 3:
Switch# show vtp status
VTP Version capable : 1 to 3
VTP version running : 3
VTP Domain Name : Lab_Network
VTP Pruning Mode : Disabled
VTP Traps Generation : Disabled
Device ID : 0012.44dc.b800
Feature VLAN:
--------------
VTP Operating Mode : Server
Number of existing VLANs : 1005
Number of existing extended VLANs: 3074
Configuration Revision : 18
Primary ID : 0012.4371.9ec0
Primary Description :
Switch#
Starting a Takeover
This process applies to VTP version 3 only. To start a takeover, perform this task:
Command Purpose
Switch# vtp primary-server [vlan | mst]| [force] Changes the operational state of a switch from a
secondary to a primary server and advertises the
configuration to the whole domain. (If the password for
this device is configured with the hidden keyword, the
user is prompted to re-enter it.)
Note Using the force keyword overwrites the
configuration of any conflicting servers. If not
using the force keyword, you are prompted for
confirmation prior to proceeding with the
takeover.
This example shows how to start a takeover and direct it to the vlan database:
Switch# vtp primary-server vlan
Enter VTP password:password
This system is becoming primary for feature vlan
Command Purpose
Switch# show vtp counters Displays VTP statistics.
Command Purpose
Switch# show vtp devices [conflicts] Gathers and displays information for all the VTP devices
in the domain.
Note No information is gathered or displayed from
switchs set to vtp modes off or to transparent
for a particular feature.
This example shows how to display information for VTP devices in a domain:
Switch# show vtp devices
Retrieving information from the VTP domain, please wait for 5 seconds.
VTP Feature Conf Revision Primary Server Device ID Device Description
----------- ---- -------- ------------------------------ ------------------
VLAN No 18 0016.9c6d.5300 0012.011a.0d00 R2
VLAN No 18 0016.9c6d.5300 0012.4371.9ec0 R1
MST Yes 4 0012.4371.9ec0=0012.4371.9ec0 R1
Switch#
About VMPS
These subsections describe what a VMPS server does and how it operates:
• VMPS Server, page 12-21
• Security Modes for VMPS Server, page 12-22
• Fallback VLAN, page 12-23
• Illegal VMPS Client Requests, page 12-23
VMPS Server
A VLAN Membership Policy Server (VMPS) provides a centralized server for selecting the VLAN for
a port dynamically based on the MAC address of the device connected to the port. When the host moves
from a port on one switch in the network to a port on another switch in the network, that switch
dynamically assigns the new port to the proper VLAN for that host.
A Catalyst 4500 series switch running Cisco IOS software does not support the functionality of a VMPS.
It can only function as a VLAN Query Protocol (VQP) client, which communicates with a VMPS
through the VQP. For VMPS functionality, you need to use a Catalyst 4500 series switch (or Catalyst
6500 series switch) running Catalyst operating system (OS) software.
VMPS uses a UDP port to listen to VQP requests from clients, so, it is not necessary for VMPS clients
to know if the VMPS resides on a local or remote device on the network. Upon receiving a valid request
from a VMPS client, a VMPS server searches its database for an entry of a MAC-address to VLAN
mapping.
In response to a request, the VMPS takes one of the following actions:
• If the assigned VLAN is restricted to a group of ports, the VMPS verifies the requesting port against
this group and responds as follows:
– If the VLAN is allowed on the port, the VMPS sends the VLAN name to the client in response.
– If the VLAN is not allowed on the port and the VMPS is not in secure mode, the VMPS sends
an “access-denied” response.
– If the VLAN is not allowed on the port and the VMPS is in secure mode, the VMPS sends a
“port-shutdown” response.
• If the VLAN in the database does not match the current VLAN on the port and there are active hosts
on the port, the VMPS sends an “access-denied” (open), a “fallback VLAN name” (open with
fallback VLAN configured), a “port-shutdown” (secure), or a “new VLAN name” (multiple)
response, depending on the secure mode setting of the VMPS.
If the switch receives an “access-denied” response from the VMPS, the switch continues to block
traffic from the MAC address to or from the port. The switch continues to monitor the packets
directed to the port and sends a query to the VMPS when it identifies a new address. If the switch
receives a “port-shutdown” response from the VMPS, the switch disables the port. The port must be
manually re-enabled by using the CLI, Cisco Visual Switch Manager (CVSM), or SNMP.
You can also use an explicit entry in the configuration table to deny access to specific MAC
addresses for security reasons. If you enter the none keyword for the VLAN name, the VMPS sends
an “access-denied” or “port-shutdown” response.
Open Mode
If no VLAN is assigned to this port, VMPS verifies the requesting MAC address against this port:
• If the VLAN associated with this MAC address is allowed on the port, the VLAN name is returned
to the client.
• If the VLAN associated with this MAC address is not allowed on the port, the host receives an
“access denied” response.
If a VLAN is already assigned to this port, VMPS verifies the requesting MAC address against this port:
• If the VLAN associated with this MAC address in the database does not match the current VLAN
assigned on the port, and a fallback VLAN name is configured, VMPS sends the fallback VLAN
name to the client.
• If a VLAN associated with this MAC address in the database does not match the current VLAN
assigned on the port, and a fallback VLAN name is not configured, the host receives an “access
denied” response.
Secure Mode
If no VLAN is assigned to this port, VMPS verifies the requesting MAC address against this port:
• If the VLAN associated with this MAC address is allowed on the port, the VLAN name is returned
to the client.
• If the VLAN associated with this MAC address is not allowed on the port, the port is shut down.
If a VLAN is already assigned to this port, VMPS verifies the requesting MAC address against this port:
• If a VLAN associated with this MAC address in the database does not match the current VLAN
assigned on the port, the port is shutdown, even if a fallback VLAN name is configured.
Multiple Mode
Multiple hosts (MAC addresses) can be active on a dynamic port if they are all in the same VLAN. If the
link fails on a dynamic port, the port returns to the unassigned state. Any hosts that come online through
the port are checked again with VMPS before the port is assigned to a VLAN.
If multiple hosts connected to a dynamic port belong to different VLANs, the VLAN matching the MAC
address in the last request is returned to the client provided that multiple mode is configured on the
VMPS server.
Note Although Catalyst 4500 series and Catalyst 6500 series switches running Catalyst operating system
software support VMPS in all three operation modes, the User Registration Tool (URT) supports open
mode only.
Fallback VLAN
You can configure a fallback VLAN name on a VMPS server.
If no VLAN has been assigned to this port, VMPS compares the requesting MAC address to this port:
• If you connect a device with a MAC address that is not in the database, the VMPS sends the fallback
VLAN name to the client.
• If you do not configure a fallback VLAN name and the MAC address does not exist in the database,
the VMPS sends an “access-denied” response.
If a VLAN is already assigned to this port, VMPS compares the requesting MAC address to this port:
• If the VMPS is in secure mode, it sends a “port-shutdown” response, whether a fallback VLAN has
been configured on the server.
Multiple hosts (MAC addresses) can be active on a dynamic port if all are in the same VLAN. If the link
goes down on a dynamic port, the port returns to the unassigned state and does not belong to a VLAN.
Any hosts that come online through the port are checked again with the VMPS before the port is assigned
to a VLAN.
For this behavior to work, the client device must be able to reach the VMPS. A VMPS client sends VQP
requests as UDP packets, trying a certain number of times before giving up. For details on how to set the
retry interval, refer to section “Configuring the Retry Interval” on page 27.
The VMPS client also periodically reconfirms the VLAN membership. For details on how to set the
reconfirm frequency, refer to section “Administering and Monitoring the VMPS” on page 28.
A maximum of 50 hosts are supported on a given port at any given time. After this maximum is exceeded,
the port is shut down, irrespective of the operating mode of the VMPS server.
Note The VMPS shuts down a dynamic port if more than 50 hosts are active on that port.
To configure a Catalyst 4500 series switch as a VMPS client, you must enter the IP address or hostname
of the switch acting as the VMPS.
To define the primary and secondary VMPS on a Catalyst 4500 series switch, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# vmps server Specifies the IP address or hostname of the switch acting as the
{ipaddress | hostname} primary primary VMPS server.
Step 3 Switch(config)# vmps server Specifies the IP address or hostname of the switch acting as a
{ipaddress | hostname} secondary VMPS server.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# show vmps Verifies the VMPS server entry.
This example shows how to define the primary and secondary VMPS devices:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vmps server 172.20.128.179 primary
Switch(config)# vmps server 172.20.128.178
Switch(config)# end
Note You can configure up to four VMPS servers using this CLI on the VMPS client.
Reconfirmation status
---------------------
VMPS Action: No Dynamic Port
To configure a dynamic access port on a VMPS client switch, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface Enters interface configuration mode and specifies the port to be
configured.
Step 3 Switch(config-if)# switchport mode Sets the port to access mode.
access
Step 4 Switch(config-if)# switchport access Configures the port as eligible for dynamic VLAN access.
vlan dynamic
Step 5 Switch(config-if)# end Returns to privileged EXEC mode.
Step 6 Switch# show interface interface Verifies the entry.
switchport
This example shows how to configure a dynamic access port and to verify the entry:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fa1/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan dynamic
Switch(config-if)# end
Voice Ports
If a VVID (voice VLAN ID) is configured on a dynamic access port, the port can belong to both an
access VLAN and a voice VLAN. Consequently, an access port configured for connecting an IP phone
can have separate VLANs for the following:
• Data traffic to and from the PC that is connected to the switch through the access port of the IP phone
(access VLAN)
• Voice traffic to and from the IP phone (voice VLAN)
To confirm the dynamic port VLAN membership assignments that the switch has received from the
VMPS, perform this task:
Command Purpose
Step 1 Switch# vmps reconfirm Reconfirms dynamic port VLAN membership.
Step 2 Switch# show vmps Verifies the dynamic VLAN reconfirmation status.
VMPS clients periodically reconfirm the VLAN membership information received from the VMPS. You
can set the number of minutes the VMPS client waits before reconfirming the VLAN-to-MAC-address
assignments.
To configure the reconfirmation interval, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# vmps reconfirm minutes Specifies the number of minutes between reconfirmations of the
dynamic VLAN membership.
Command Purpose
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show vmps Verifies the dynamic VLAN reconfirmation status.
This example shows how to change the reconfirmation interval to 60 minutes and verify the change:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vmps reconfirm 60
Switch(config)# end
Switch# show vmps
VQP Client Status:
--------------------
VMPS VQP Version: 1
Reconfirm Interval: 60 min
Server Retry Count: 10
VMPS domain server: 172.20.130.50 (primary, current)
Reconfirmation status
---------------------
VMPS Action: No Host
You can set the number of times that the VMPS client attempts to contact the VMPS before querying the
next server.
To configure the retry interval, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# vmps retry count Specifies the retry count for the VPQ queries. Default is 3. Range is
from 1 to 10.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show vmps Verifies the retry count.
This example shows how to change the retry count to 5 and to verify the change:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vmps retry 5
Switch(config)# end
Reconfirmation status
---------------------
VMPS Action: No Host
VQP Version The version of VQP used to communicate with the VMPS. The
switch queries the VMPS using VQP Version 1.
Reconfirm Interval The number of minutes the switch waits before reconfirming the
VLAN-to-MAC-address assignments.
Server Retry Count The number of times VQP resends a query to the VMPS. If no
response is received after this many tries, the switch starts to
query the secondary VMPS.
VMPS domain server The IP address of the configured VLAN membership policy
servers. The switch currently sends queries to the one marked
“current.” The one marked “primary” is the primary server.
VMPS Action The result of the most-recent reconfirmation attempt. This action
can occur automatically when the reconfirmation interval
expired, or you can force it by entering the vmps reconfirm
command or its CVSM or SNMP equivalent.
Reconfirmation status
---------------------
VMPS Action: other
Note Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference for details on VMPS statistics.
172.20.26.153
Switch 4
Ethernet segment
172.20.26.154
Switch 5
172.20.26.155
Switch 6
172.20.26.156
Switch 7
172.20.26.157
Switch 8
Client
End
station 2 172.20.26.158
Switch 9
130105
URT
Secondary VMPS
172.20.26.159
Server 3 Switch 10
Two topologies are possible. Figure 12-5 illustrates a topology with one end station attached directly to
a Catalyst 4500 series switch operating as a VMPS client. Figure 12-6 illustrates a topology with an end
station attached to a Cisco IP Phone, which is attached to a Catalyst 4500 series switch.
Figure 12-5 Topology with an End Station Attached Directly to a Catalyst 4500 Series Switch
Operating as a VMPS Client
Internet
URT
(VMPS server)
Figure 12-6 Topology with an End Station Attached to a Cisco IP Phone that is Attached to a
Catalyst 4500 Series Switch
Endstation
(in VLAN 20)
Internet
IP
Cisco IP phone Catalyst 4500 (IOS) Catalyst 4500 (CatOS)/
(in VLAN 10) (VMPS client) Catalyst 6500 (CatOS)/
130119
URT
(VMPS server)
In the following procedure, the Catalyst 4000 and Catalyst 6000 series switches (running CatOS) are the
VMPS servers. Use this procedure to configure the Catalyst 4500 series switch clients in the network:
Step 1 Configure the VMPS server addresses on Switch 2, the client switch.
a. Starting from privileged EXEC mode, enter global configuration mode:
switch# configuration terminal
d. To verify your entry of the VMPS IP addresses, return to privileged EXEC mode:
switch(config)# exit
Step 3 Connect End Station 2 on port Fa2/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 ID for port Fa2/1. If spanning-tree
PortFast mode is enabled on Fa2/1, port Fa2/1 connects immediately and begins forwarding.
Step 4 Set the VMPS reconfirmation period to 60 minutes. The reconfirmation period is the number of minutes
the switch waits before reconfirming the VLAN to MAC address assignments.
switch# config terminal
switch(config)# vmps reconfirm 60
Reconfirmation status
---------------------
VMPS Action: No Dynamic Port
Step 6 Repeat Steps 1 and 2 to configure the VMPS server addresses, and assign dynamic ports on each VMPS
client switch.
!MAC Addresses
!
vmps-mac-addrs
!
! address <addr> vlan-name <vlan_name>
!
address 0012.2233.4455 vlan-name hardware
address 0000.6509.a080 vlan-name hardware
address aabb.ccdd.eeff vlan-name Green
address 1223.5678.9abc vlan-name ExecStaff
address fedc.ba98.7654 vlan-name --NONE--
address fedc.ba23.1245 vlan-name Purple
!
!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 Fa1/3
device 172.20.26.141 port Fa1/4
vmps-port-group “Executive Row”
device 198.4.254.222 port es5%Fa0/1
device 198.4.254.222 port es5%Fa0/2
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 Fa0/9
vmps-port-policies vlan-name Purple
device 198.4.254.22 port Fa0/10
port-group “Executive Row”
This chapter discusses the IP Unnumbered Interface feature, which allows you to enable IP processing
on an interface without assigning an explicit IP address.
This chapter contains these sections:
• About IP Unnumbered Support, page 13-2
• Limitations and Restrictions, page 13-4
• Configuring IP Unnumbered Interface Support with DHCP Server, page 13-5
• Configuring IP Unnumbered Interface Support with Connected Host Polling, page 13-7
• Displaying IP Unnumbered Interface Settings, page 13-8
• Troubleshooting IP Unnumbered, page 13-9
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Related Documents
Related Topic Document Title
DHCP and other IP addressing configuration tasks “IP Addressing and Services” section of the Cisco IOS IP
Addressing Services Configuration Guide, Release 12.4
DHCP and other IP addressing commands Cisco IOS IP Addressing Services Command Reference,
Release 12.4 T
VLAN configuration tasks “Virtual LANs” chapter of the Cisco IOS LAN Switching
Configuration Guide, Release 12.4
VLAN configuration commands Cisco IOS LAN Switching Command Reference, Release 12.4 T
Figure 13-1 Sample Network Topology Using the VLANs over IP Unnumbered Interfaces Feature
DSL access multiplexer DHCP server
with Gigabit Ethernet (GE) uplink
DSL DSL GE
IP/MPLS
GE GE
DSL Multilayer Aggregation
Ethernet router
GE switch
DSL
IP unnumbered
DSL interface
95961
802.1Q VLAN
DHCP Option 82
DHCP provides a framework for passing configuration information to hosts on a TCP/IP network.
Configuration parameters and other control information are carried in tagged data items that are stored
in the options field of the DHCP message. The data items are also called options. Option 82 is organized
as a single DHCP option that contains information known by the relay agent.
The IP Unnumbered Interface feature communicates information to the DHCP server using a suboption
of the DHCP relay agent information option called agent remote ID. The information sent in the agent
remote ID includes an IP address identifying the relay agent and information about the interface and the
connection over which the DHCP request entered. The DHCP server can use this information to make
IP address assignments and security policy decisions.
Figure 13-2 shows the agent remote ID suboption format that is used with the IP Unnumbered Interfaces
feature.
1 12 bytes
(byte 1) (byte 2) (bytes 3-4) (bytes 5-8) (byte 9) (byte 10) (bytes 11-12)
Table 13-1 describes the agent remote ID suboption fields displayed in Figure 13-2.
Field Description
Type Format type. The value 2 specifies the format for use with this feature.
(1 byte)
Length Length of the Agent Remote ID suboption, not including the type and
length fields. (1 byte)
Reserved Reserved. (2 bytes)
NAS IP Address IP address of the interface specified by the ip unnumbered command.
(4 bytes)
Interface Physical interface. This field has the following format:
slot (4 bits) | module (1 bit) | port (3 bits).
For example, if the interface name is interface ethernet 2/1/1, the slot
is 2, the module is 1, and the port is 1. (1 byte)
Reserved Reserved. (1 byte)
VLAN ID VLAN identifier for the Ethernet interface. (2 bytes)
Note This feature option is applicable to LAN and VLAN interfaces only.
In some cases, the host IP address is assigned statically. The IP Unnumbered Interfaces feature can learn
the static host IP address dynamically.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface [fastethernet | gigabitethernet | tengigabitethernet | vlan vlan} port-channel |
loopback]
4. ip unnumbered type number
DETAILED STEPS
Command Purpose
Step 1 Switch# enable Enables privileged EXEC mode.
Enter your password if prompted.
Step 2 Switch# configure terminal Enters global configuration mode.
Step 3 Switch(config)# interface [fastethernet | Enters interface configuration mode and the interface to be
gigabitethernet | tengigabitethernet | vlan configured as a tunnel port.
vlan | port-channel | loopback]
Step 4 Switch(config-if)# ip unnumbered type number Enables IP processing on an interface without assigning an
explicit IP address to the interface.
The type and number arguments specify another interface
on which the switch has an assigned IP address. The
interface specified cannot be another unnumbered interface.
Step 5 Switch(config-if)# exit Returns to global configuration mode.
Step 6 Switch(config)# end Returns to privileged EXEC mode.
Step 7 Switch# show running-config Verifies that IP unnumbered support has been configured
correctly.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface range {{fastethernet | gigabitethernet | vlan vlan} slot/interface {fastethernet |
gigabitethernet | vlan vlan} slot/interface macro macro-name}
4. ip unnumbered type number
DETAILED STEPS
In the following example, Vlan in the range from 1 to 10 are configured as IP unnumbered interfaces,
sharing ip address of fastethernet 3/1:
Switch> enable
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface range vlan 1 - 10
Switch(config-if)# ip unnumbered fastethernet 3/1
Switch(config-if)# exit
Switch(config)# end
Command Purpose
Step 1 Switch# enable Enables privileged EXEC mode.
Enter your password if prompted.
Step 2 Switch# configure terminal Enters global configuration mode.
Step 3 Switch(config)# interface vlan vlan-id Enters interface configuration mode and the interface to
be configured as a tunnel port.
Step 4 Switch(config-if)# ip unnumbered type number poll Enables IP processing and connected host polling on an
interface without assigning an explicit IP address to the
interface
type and number specify another interface on which the
switch has an assigned IP address. The interface specified
cannot be another unnumbered interface.
The type argument can have the values: loopback,
fastethernet, gigabitethernet, svi, and portchannel.
Step 5 Switch(config-if)# exit Returns to global configuration mode.
Step 6 Switch(config)# ip arp poll queue <10-10000> Configures the global backlog queue of host addresses to
be discovered.
Default for the queue size is 1000
Step 7 Switch(config)# ip arp poll rate <10-10000> Configures the maximum number of arp requests sent
over unnumbered interfaces.
Default number of arp requests is 1000 packet per second
Step 8 Switch(config)# end Returns to privileged EXEC mode.
Step 9 Switch# show running-config Verifies that IP unnumbered support has been configured
correctly.
The following example shows how to enable IP processing and connected host polling on Fast Ethernet
interface 6/2. It also shows how to set the global backlog queue to 2000 and the maximum number of
arp requests to 500:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastEthernet 6/2
Switch(config-if)# no switchport
Switch(config-if)# ip unnumbered loopback 0 poll
Warning: dynamic routing protocols will not work on non-point-to-point interfaces with IP
unnumbered configured.
Switch(config-if)# exit
Switch(config)# ip arp poll queue 2000
Switch(config)# ip arp poll rate 500
Switch(config)# end
Command Purpose
Switch# show ip interface [type number] Displays the status of unnumbered interface with connected
unnumbered [detail] host polling for the Catalyst 4500 series switch.
The following example shows how to display the status of unnumbered interface with connected host
polling:
Switch# show ip interface loopback 0 unnumbered detail
Number of unnumbered interfaces with polling: 1
Number of IP addresses processed for polling: 2
10.1.1.7
10.1.1.8
Number of IP addresses in queue for polling: 2(high water mark: 3)
10.1.1.17
10.1.1.18
To display key statistic for the backlog of unnumbered interface with connected host polling for the
switch, use the show ip arp poll command.
Command Purpose
Switch# show ip arp poll [detail] display key statistic for the backlog of unnumbered interface
with connected host polling for the switch
The following example shows how to display key statistic for the backlog of unnumbered interface with
connected host polling:
Switch# show ip arp poll
Number of IP addresses processed for polling: 439
Number of IP addresses in queue for polling: 3 (high water mark: 0, max: 1000)
Number of requests dropped:
Queue was full: 0
Request was throttled by incomplete ARP: 0
Duplicate request was found in queue: 0
To clear the key statistic for the backlog of unnumbered interface, use the clear ip arp poll statistic
command, as follows:
Switch# clear ip arp poll statistic
Switch# show ip arp poll
Number of IP addresses processed for polling: 0
Number of IP addresses in queue for polling: 0 (high water mark: 0, max: 1000)
Number of requests dropped:
Queue was full: 0
Request was throttled by incomplete ARP: 0
Duplicate request was found in queue: 0
Troubleshooting IP Unnumbered
To understand how to debug connect host polling, see the IOS documentation of the debug arp command
on cisco.com.
When an IP unnumbered interface shares the IP address of a loopback interface whose prefix is
advertised in an OSPF network, you must modify the loopback interface as a point to point interface.
Otherwise, only the loopback interface host route is advertised to an OSPF neighbor.
Switch(config)# int loopback 0
Switch(config-if)# ip address
Switch(config-if)# ip address 10.1.0.1 255.255.0.0
Switch(config-if)# ip ospf network point-to-point
Switch(config-if)# end
This chapter describes how to use the command-line interface (CLI) to configure Fast Ethernet and
Gigabit Ethernet interfaces for Layer 2 switching on Catalyst 4500 series switches. It also provides
guidelines, procedures, and configuration examples. The configuration tasks in this chapter apply to Fast
Ethernet and Gigabit Ethernet interfaces on any module, including the uplink ports on the supervisor
engine.
This chapter includes the following major sections:
• About Layer 2 Ethernet Switching, page 14-1
• Default Layer 2 Ethernet Interface Configuration, page 14-4
• Layer 2 Interface Configuration Guidelines and Restrictions, page 14-5
• Configuring Ethernet Interfaces for Layer 2 Switching, page 14-5
Note To configure Layer 3 interfaces, see Chapter 26, “Configuring Layer 3 Interfaces.”
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Note With release 12.1(13)EW, the Catalyst 4500 series switches can handle packets of 1600 bytes, rather
than treat them as “oversized” and discard them. This size is larger than the usual IEEE Ethernet
Maximum Transmission Unit (MTU) (1518 bytes) and 802.1q MTU (1522 bytes). The ability to handle
larger packets is required to support two nested 802.1q headers and Multiprotocol Label Switching
(MPLS) on a network.
The Catalyst 4500 series solves congestion problems caused by high-bandwidth devices and a large
number of users by assigning each device (for example, a server) to its own 10-, 100-, or 1000-Mbps
segment. Because each Ethernet interface on the switch represents a separate Ethernet segment, servers
in a properly configured switched environment achieve full access to the bandwidth.
Because collisions are a major bottleneck in Ethernet networks, an effective solution is full-duplex
communication. Normally, Ethernet operates in half-duplex mode, which means that stations can either
receive or transmit. In full-duplex mode, two devices can transmit and receive at the same time. When
packets can flow in both directions simultaneously, effective Ethernet bandwidth doubles to 20 Mbps
for 10-Mbps interfaces and to 200 Mbps for Fast Ethernet interfaces. Gigabit Ethernet interfaces on the
Catalyst 4500 series switch are full-duplex mode only, providing 2-Gbps effective bandwidth.
VLAN Trunks
A trunk is a point-to-point link between one or more Ethernet switch interfaces 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 interfaces:
• Inter-Switch Link (ISL) Protocol—ISL is a Cisco-proprietary trunking encapsulation.
Note Supervisor Engine 7-E does not support ISL trunking. so the switchport trunk encapsulate
command is not supported.
Note The blocking Gigabit ports on the WS-X4418-GB and WS-X4412-2GB-T modules do not
support ISL. Ports 3 to 18 are blocking Gigabit ports on the WS-X4418-GB module. Ports 1to
12 are blocking Gigabit ports on the WS-X4412-2GB-T module.
Encapsulation Types
Table 14-1 lists the Ethernet trunk encapsulation types.
The trunking mode, the trunk encapsulation type, and the hardware capabilities of the two connected
interfaces determine whether a link becomes an ISL or 802.1Q trunk.
Mode Purpose
switchport mode access Puts the interface into permanent nontrunking mode and
negotiates to convert the link into a nontrunking link. The
interface becomes a nontrunk interface even if the neighboring
interface does not change.
switchport mode Makes the interface actively attempt to convert the link to a
dynamic desirable trunking link. The interface becomes a trunk interface if the
neighboring interface is set to trunk, desirable, or auto mode.
switchport mode dynamic auto Makes the interface convert the link to a trunking link if the
neighboring interface is set to trunk or desirable mode. This is
the default mode for all Ethernet interfaces.
switchport mode trunk Puts the interface into permanent trunking mode and negotiates to
convert the link into a trunking link. The interface becomes a
trunk interface even if the neighboring interface does not change.
switchport nonegotiate Puts the interface into permanent trunking mode but prevents the
interface from generating DTP frames. You must configure the
neighboring interface manually as a trunk interface to establish a
trunking link.
Note DTP is a point-to-point protocol. However, some internetworking devices might forward DTP frames
improperly. To avoid this problem, ensure that interfaces connected to devices that do not support DTP
are configured with the access keyword if you do not intend to trunk across those links. To enable
trunking to a device that does not support DTP, use the nonegotiate keyword to cause the interface to
become a trunk without generating DTP frames.
Note The default for Layer 2 interfaces is switchport mode dynamic auto. If the neighboring interface
supports trunking and is configured to trunk mode or dynamic desirable mode, the link becomes a
Layer 2 trunk. By default, trunks negotiate encapsulation. If the neighboring interface supports ISL and
802.1Q encapsulation and both interfaces are set to negotiate the encapsulation type, the trunk uses ISL
encapsulation.
Command Purpose
Step 1 Switch(config)# interface {fastethernet | Specifies the interface to configure.
gigabitethernet | tengigabitethernet}
slot/port
Step 2 Switch(config-if)# shutdown (Optional) Shuts down the interface to prevent traffic flow until
configuration is complete.
Step 3 Switch(config-if)# switchport trunk (Optional) Specifies the encapsulation.
encapsulation {isl | dot1q | negotiate}
Note You must enter this command with either the isl or dot1q
keyword to support the switchport mode trunk
command, which is not supported by the default mode
(negotiate).
Command Purpose
Step 8 Switch(config-if)# switchport trunk (Optional) Configures the list of VLANs allowed to be pruned
pruning vlan {add | except | none | from the trunk (see the “VLAN Trunking Protocol” section on
remove}
vlan_num[,vlan_num[,vlan_num[,....]]
page 12-7). The default list of VLANs allowed to be pruned
contains all VLANs, except for VLAN 1.
Step 9 Switch(config-if)# no shutdown Activates the interface. (Required only if you shut down the
interface.)
Step 10 Switch(config-if)# end Exits interface configuration mode.
Step 11 Switch# show running-config interface Displays the running configuration of the interface.
{fastethernet | gigabitethernet |
tengigabitethernet} slot/port
Step 12 Switch# show interfaces [fastethernet | Displays the switch port configuration of the interface.
gigabitethernet | tengigabitethernet]
slot/port switchport
Step 13 Switch# show interfaces [{fastethernet | Displays the trunk configuration of the interface.
gigabitethernet | tengigabitethernet}
slot/port] trunk
This example shows how to configure the Fast Ethernet interface 5/8 as an 802.1Q trunk. This example
assumes that the neighbor interface is configured to support 802.1Q trunking and that the native VLAN
defaults to VLAN 1:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 5/8
Switch(config-if)# shutdown
Switch(config-if)# switchport mode dynamic desirable
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# no shutdown
Switch(config-if)# end
Switch# exit
Switch#
Note If you assign an interface to a VLAN that does not exist, the interface is not operational until you create
the VLAN in the VLAN database (see the “Configuring VLANs in Global Configuration Mode” section
on page 12-5).
Command Purpose
Step 1 Switch(config)# interface {fastethernet | Specifies the interface to configure.
gigabitethernet | tengigabitethernet}
slot/port
Step 2 Switch(config-if)# shutdown (Optional) Shuts down the interface to prevent traffic flow until
configuration is complete.
Step 3 Switch(config-if)# switchport Configures the interface for Layer 2 switching:
• You must enter the switchport command once without any
keywords to configure the interface as a Layer 2 port before
you can enter additional switchport commands with
keywords.
• Required only if you previously entered the no switchport
command for the interface.
Step 4 Switch(config-if)# switchport mode access Configures the interface as a Layer 2 access port.
Step 5 Switch(config-if)# switchport access vlan Place the interface in a VLAN.
vlan_num
Step 6 Switch(config-if)# no shutdown Activates the interface. (Required only if you had shut down the
interface.)
Step 7 Switch(config-if)# end Exits interface configuration mode.
Command Purpose
Step 8 Switch# show running-config interface Displays the running configuration of the interface.
{fastethernet | gigabitethernet} slot/port
Step 9 Switch# show interfaces [{fastethernet | Displays the switch port configuration of the interface.
gigabitethernet | tengigabitethernet}
slot/port] switchport
This example shows how to configure the Fast Ethernet interface 5/6 as an access port in VLAN 200:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 5/6
Switch(config-if)# shutdown
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 200
Switch(config-if)# no shutdown
Switch(config-if)# end
Switch# exit
Command Purpose
Step 1 Switch(config)# default interface {fastethernet | Specifies the interface to clear.
gigabitethernet | tengigabitethernet} slot/port
Step 2 Switch(config-if)# end Exits interface configuration mode.
Command Purpose
Step 3 Switch# show running-config interface Displays the running configuration of the interface.
{fastethernet | gigabitethernet |
tengigabitethernet} slot/port
Step 4 Switch# show interfaces [{fastethernet | Displays the switch port configuration of the interface.
gigabitethernet | tengigabitethernet} slot/port]
switchport
This example shows how to clear the Layer 2 configuration on the Fast Ethernet interface 5/6:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# default interface fastethernet 5/6
Switch(config)# end
Switch# exit
This example shows how to verify that the Layer 2 configuration was cleared:
Switch# show running-config interface fastethernet 5/6
Building configuration...
Current configuration:
!
interface FastEthernet5/6
end
This chapter describes how to configure and apply SmartPort macros on your switch. It consists of these
sections:
• About SmartPort Macros, page 15-1
• Configuring SmartPort Macros, page 15-2
• Displaying SmartPort Macros, page 15-12
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Cisco also provides a collection of pretested, Cisco-recommended baseline configuration templates for
Catalyst switches. The online reference guide templates provide the CLI commands that you use to
create SmartPorts macros based on the usage of the port. The configuration templates allow you to create
SmartPorts macros to build and deploy Cisco-recommended network designs and configurations.
The macro infrastructure can be enhanced to support accepting parameters while applying a macro. The
parameters are passed as keyword-value pairs.
The CLI limits the number of keyword-value pairs to a maximum of three, where the first parameter must
be the keyword, the second is its corresponding value, and the third parameter would be the keyword for
the second keyword-value pair. Here is an example of how to pass parameters to a command-macro:
Switch(config)# macro name parameter-test
Enter macro commands one per line. End with the character '@'.
switchport mode access
switchport access vlan $VLANID
switchport port-security
switchport port-security maximum $MAXHOST
If the above macro is applied to some interface without parameters, the invalid commands fail. Instead,
you should apply the macro with appropriate keyword-value pair parameters, as follows:
Switch(config-if)# macro apply parameter-test $VLANID 1 $MAXHOST 5
The above command applies the macro after replacing $VLANID with 1 and $MAXHOST with 5. Be
aware that you can specify any string in the macro as a keyword.
Help string can be anywhere in the macro. The following example illustrates an alternate way to specify
the help string:
Switch(config)# macro name test
switchport access vlan $VLANID
#macro keywords $VLANID
switchport port-security maximum $MAX
#macro keywords $MAX
cisco-global
This is the example for the cisco-global macro:
# Enable dynamic port error recovery for link state failures.
errdisable recovery cause link-flap
errdisable recovery interval 60
cisco-desktop
This is the example for the cisco-desktop macro:
# Basic interface - Enable data VLAN only
# Recommended value for access vlan (AVID) should not be 1
switchport access vlan $AVID
switchport mode access
# Enable port security limiting port to a single
# MAC address -- that of desktop
switchport port-security
# Ensure port-security age is greater than one minute
# and use inactivity timer
# “Port-security maximum 1” is the default and will not
# Show up in the config
switchport port-security violation restrict
switchport port-security aging time 2
switchport port-security aging type inactivity
# Configure port as an edge network port
spanning-tree portfast
spanning-tree bpduguard enable
cisco-phone
This is the example for the cisco-phone macro:
# VoIP enabled interface - Enable data VLAN
# and voice VLAN (VVID)
# Recommended value for access vlan (AVID) should not be 1\
switchport access vlan $AVID
switchport mode access
# Update the Voice VLAN (VVID) value which should be
# different from data VLAN
# Recommended value for voice vlan (VVID) should not be 1
switchport voice vlan $VVID
# Enable port security limiting port to a 2 MAC
# addressess -- One for desktop and two for phone
switchport port-security
switchport port-security maximum 2
# Ensure port-security age is greater than one minute
# and use inactivity timer
cisco-router
This is the example for the cisco-router macro:
# Access Uplink to Distribution
switchport trunk encapsulation dot1q
# Define unique Native VLAN on trunk ports
# Recommended value for native vlan (NVID) should not be 1
switchport trunk native vlan $NVID
# Update the allowed VLAN range (VRANGE) such that it
# includes data, voice and native VLANs
# switchport trunk allowed vlan $VRANGE
# Hardcode trunk and disable negotiation to
# speed up convergence
# Hardcode speed and duplex to router
switchport mode trunk
switchport nonegotiate
speed 100
duplex full
# Configure qos to trust this interface
auto qos voip trust
qos trust dscp
# Ensure fast access to the network when enabling the interface.
# Ensure that switch devices cannot become active on the interface.
spanning-tree portfast
spanning-tree bpduguard enable
cisco-switch
This is the example for the cisco-switch macro:
# Access Uplink to Distribution
switchport trunk encapsulation dot1q
# Define unique Native VLAN on trunk ports
# Recommended value for native vlan (NVID) should not be 1
switchport trunk native vlan $NVID
# Update the allowed VLAN range (VRANGE) such that it
# includes data, voice and native VLANs
# switchport trunk allowed vlan $VRANGE
# Hardcode trunk and disable negotiation to
# speed up convergence
switchport mode trunk
switchport nonegotiate
# Configure qos to trust this interface
auto qos voip trust
# 802.1w defines the link as pt-pt for rapid convergence
spanning-tree link-type point-to-point
• When you apply a macro to a switch or a switch interface, the macro name is automatically added
to the macro description of the switch or interface. You can display the applied commands and macro
names by using the show parser macro description user EXEC command.
• The user-configurable macro has a buffer that can take commands and comments up to 3000
characters. Each newline would take 2 characters and empty lines are counted as is.
There are Cisco-default SmartPorts macros embedded in the switch software (see Table 15-1). You can
display these macros and the commands they contain by using the show parser macro user EXEC
command.
Follow these guidelines when you apply a Cisco-default SmartPorts macro on an interface:
• Display all macros on the switch by using the show parser macro user EXEC command. Display
the contents of a specific macro by using the show parser macro macro-name user EXEC
command.
• Keywords that begin with $ mean that a unique parameter value is required. Append the
Cisco-default macro with the required values by using the parameter value keywords.
The Cisco-default macros use the $ character to help identify required keywords. There is no
restriction on using the $ character to define keywords when you create a macro.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# macro name Creates a macro definition, and enter a macro name. A macro definition
macro-name can contain up to 3000 characters.
Enter the macro commands with one command per line. Use the @
character to end the macro. Use the # character at the beginning of a line
to enter comment text within the macro.
Macro names are case sensitive. For example, the commands macro
name Sample-Macro and macro name sample-macro result in two
separate macros.
We recommend that you do not use the exit or end commands or change
the command mode by using interface interface-id in a macro. This
could cause any commands following exit, end, or interface
interface-id to execute in a different command mode. For best results,
all commands in a macro should be in the same configuration mode.
Note The no form of the macro name global configuration command
only deletes the macro definition. It does not affect the
configuration of those interfaces on which the macro is already
applied.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show parser macro name Verifies that the macro was created.
macro-name
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# macro global {apply | Applies each individual command defined in the macro to the switch by
trace} macro-name [parameter { value}] entering macro global apply macro-name. Specify macro global trace
[parameter {value}] [parameter
{value}] macro-name to apply and debug a macro to find any syntax or
configuration errors.
(Optional) Specify unique parameter values that are specific to the
switch. You can enter up to three keyword-value pairs. Parameter
keyword matching is case sensitive. All matching occurrences of the
keyword are replaced with the corresponding value.
Some macros might contain keywords that require a parameter value.
Use the macro global apply macro-name ? command to display a list of
any required values in the macro. If you apply a macro without entering
the keyword values, the commands are invalid and are not applied.
Step 3 Switch(config)# macro global (Optional) Enters a description about the macro that is applied to the
description text switch.
Step 4 Switch(config-if)# interface (Optional) Enters interface configuration mode, and specify the
interface-id interface on which to apply the macro.
Step 5 Switch(config-if)# default interface (Optional) Clears all configuration from the specified interface.
interface-id
Step 6 Switch(config-if)# macro {apply | Applies each individual command defined in the macro to the interface
trace} macro-name [parameter { value}] by entering macro apply macro-name. Specify macro trace
[parameter {value}] [parameter
{value}] macro-name to apply and debug a macro to find any syntax or
configuration errors.
(Optional) Specify unique parameter values that are specific to the
interface. You can enter up to three keyword-value pairs. Parameter
keyword matching is case sensitive. All matching occurrences of the
keyword are replaced with the corresponding value.
Some macros might contain keywords that require a parameter value.
Use the macro apply macro-name ? command to display a list of any
required values in the macro. If you apply a macro without entering the
keyword values, the commands are invalid and are not applied.
For example, here is how you apply this command:
Switch(config-if)# macro apply cisco-phone ?
WORD Keyword to replace with a value e.g. $AVID, $VVID
<cr>
Step 7 Switch(config-if)# macro description (Optional) Enters a description about the macro that is applied to the
text interface.
Step 8 Switch(config-if)# end Returns to privileged EXEC mode.
Step 9 Switch# show parser macro Verifies that the macro is applied to the interface.
description [interface interface-id]
Step 10 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
You can delete a global macro-applied configuration on a switch only by entering the no version of each
command that is in the macro. You can delete a macro-applied configuration on an interface by entering
the default interface interface-id interface configuration command.
The no form of the macro name global configuration command deletes only the macro definition. It
does not affect the configuration of those interfaces on which the macro is already applied. You can
delete a macro-applied configuration on an interface by entering the default interface interface-id
interface configuration command. Alternatively, you can create an anti-macro for an existing macro that
contains the no form of all the corresponding commands in the original macro. Then, apply the
anti-macro to the interface.
The following sections illustrate how to apply and display the attachments on each of the supported
macros:
• cisco-global, page 15-9
• cisco-desktop, page 15-9
• cisco-phone, page 15-10
• cisco-switch, page 15-11
• cisco-router, page 15-11
cisco-global
This example shows how to use the system-defined macro cisco-global:
Switch(config)# macro global apply cisco-global
Changing VTP domain name from gsg-switch to [smartports]
Setting device to VTP TRANSPARENT mode.
Switch(config)# end
Switch# show parser macro name cisco-global
Macro name : cisco-global
Macro type : default global
# Enable dynamic port error recovery for link state failures.
errdisable recovery cause link-flap
errdisable recovery interval 60
cisco-desktop
This example shows how to use the system-defined macro cisco-desktop to assign a value of 35 to the
access VLAN of the Fast Ethernet interface 2/9.
Note This macro requires the $AVID keyword, which is the access VLAN of the port.
cisco-phone
This example shows how to use the system-defined macro cisco-phone to assign a value of 35 to the
access VLAN and 56 to the voice VLAN on the Fast Ethernet interface 2/9.
Note This macro requires the $AVID and $VVID keywords, which are the access and voice VLANs of the
port.
cisco-switch
This example shows how to use the system-defined macro cisco-switch to assign a value of 38 to the
native VLAN on the Fast Ethernet interface 2/9.
Note This macro requires the $NVID keyword, which is the native VLANs of the port.
cisco-router
This example shows how to use the system-defined macro cisco-router to assign a value of 451 to the
native VLAN on the Fast Ethernet interface 2/9.
Note This macro requires the $NVID keyword, which is the native VLANs of the port.
Command Purpose
show parser macro Displays all configured macros.
show parser macro name macro-name Displays a specific macro.
show parser macro brief Displays the configured macro names.
show parser macro description [interface Displays the macro description for all interfaces or for a specified
interface-id] interface.
This chapter describes how to configure the Spanning Tree Protocol (STP) on a Catalyst 4500 series
switch. This chapter also describes how to configure the IEEE 802.1s Multiple Spanning Tree (MST)
protocol on the Catalyst 4500 series switch. MST is a new IEEE standard derived from Cisco's
proprietary Multi-Instance Spanning-Tree Protocol (MISTP) implementation. With MST, you can map
a single spanning-tree instance to several VLANs.
This chapter provides guidelines, procedures, and configuration examples. It includes the following
major sections:
• Overview of STP, page 16-1
• Default STP Configuration, page 16-6
• Configuring STP, page 16-7
• Overview of MST, page 16-21
• MST Configuration Restrictions and Guidelines, page 16-29
• Configuring MST, page 16-29
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Overview of STP
STP is a Layer 2 link management protocol that provides path redundancy while preventing undesirable
loops in the network. For a Layer 2 Ethernet network to function properly, only one active path can exist
between any two stations. A loop-free subset of a network topology is called a spanning tree. The
operation of a spanning tree is transparent to end stations, which cannot detect whether they are
connected to a single LAN segment or a switched LAN of multiple segments.
A Catalyst 4500 series switch use STP (the IEEE 802.1D bridge protocol) on all VLANs. By default, a
single spanning tree runs on each configured VLAN (provided you do not manually disable the spanning
tree). You can enable and disable a spanning tree on a per-VLAN basis.
When you create fault-tolerant internetworks, you must have a loop-free path between all nodes in a
network. The spanning tree algorithm calculates the best loop-free path throughout a switched Layer 2
network. Switches send and receive spanning tree frames at regular intervals. The switches do not
forward these frames, but use the frames to construct a loop-free path.
Multiple active paths between end stations cause loops in the network. If a loop exists in the network,
end stations might receive duplicate messages and switches might learn end station MAC addresses on
multiple Layer 2 interfaces. These conditions result in an unstable network.
A spanning tree defines a tree with a root switch and a loop-free path from the root to all switches in the
Layer 2 network. A spanning tree forces redundant data paths into a standby (blocked) state. If a network
segment in the spanning tree fails and a redundant path exists, the spanning tree algorithm recalculates
the spanning tree topology and activates the standby path.
When two ports on a switch are part of a loop, the spanning tree port priority and port path cost setting
determine which port is put in the forwarding state and which port is put in the blocking state. The
spanning tree port priority value represents the location of an interface in the network topology and how
well located it is to pass traffic. The spanning tree port path cost value represents media speed.
Extended System ID
Extended system IDs are VLAN IDs between 1025 and 4096. Cisco IOS Releases 12.1(12c)EW and later
releases support a 12-bit extended system ID field as part of the bridge ID (see Table 16-2). Chassis that
support only 64 MAC addresses always use the 12-bit extended system ID. On chassis that support 1024
MAC addresses, you can enable use of the extended system ID. STP uses the VLAN ID as the extended
system ID. See the “Enabling the Extended System ID” section on page 16-8.
Table 16-1 Bridge Priority Value with the Extended System ID Disabled
Table 16-2 Bridge Priority Value and Extended System ID with the Extended System ID Enabled
Bridge Priority Value Extended System ID (Set Equal to the VLAN ID)
Bit 16 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
32768 16384 8192 4096 VLAN ID
STP Timers
Table 16-3 describes the STP timers that affect the performance of the entire spanning tree.
Variable Description
hello_time Determines how often the switch broadcasts hello messages to other
switches.
forward_time Determines how long each of the listening and learning states lasts before the
port begins forwarding.
max_age Determines the amount of time that protocol information received on a port
is stored by the switch.
DP
DP
A DP D
DP RP DP DP
RP RP DP
S5688
B C
RP = Root Port
DP = Designated Port
For example, assume that one port on Switch B is a fiber-optic link, and 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 spanning tree port priority on the fiber-optic port to a higher
priority (lower numerical value) than the priority set for the root port, the fiber-optic port becomes the
new root port.
Note For more information on 802.1Q trunks, see Chapter 14, “Configuring Layer 2 Ethernet Interfaces.”
Note When you interconnect PVST and Rapid-PVST bridges, if the PVST bridge has a higher priority than
the Rapid PVST bridge, then the Rapid PVST bridge transitions directly to the forwarding state,
bypassing the intermediate transition states.
Like Per Vlan Spanning Tree (PVST+), Per Vlan Rapid Spanning Tree (PVRST+) instances are equal to
the number of vlans configured on the switch and can go up to a maximum of 4094 instances.
For enabling information, see “Enabling Per-VLAN Rapid Spanning Tree” on page 20.
Configuring STP
The following sections describe how to configure spanning tree on VLANs:
• Enabling STP, page 16-7
• Enabling the Extended System ID, page 16-8
• Configuring the Root Bridge, page 16-9
• Configuring a Secondary Root Switch, page 16-12
• Configuring STP Port Priority, page 16-13
• Configuring STP Port Cost, page 16-15
• Configuring the Bridge Priority of a VLAN, page 16-16
• Configuring the Hello Time, page 16-17
• Configuring the Maximum Aging Time for a VLAN, page 16-18
• Configuring the Forward-Delay Time for a VLAN, page 16-18
• Disabling Spanning Tree Protocol, page 16-19
• Enabling Per-VLAN Rapid Spanning Tree, page 16-20
Note The spanning tree commands described in this chapter can be configured on any interface except those
configured with the no switchport command.
Enabling STP
You can enable a spanning tree on a per-VLAN basis. The switch maintains a separate instance of
spanning tree for each VLAN (except on VLANs on which you have disabled a spanning tree).
To enable a spanning tree on a per-VLAN basis, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# spanning-tree vlan vlan_ID Enables spanning tree for VLAN vlan_id. The vlan_ID value
can range from 1 to 4094.
Step 3 Switch(config)# end Exits configuration mode.
Step 4 Switch# show spanning-tree vlan vlan_ID Verifies that spanning tree is enabled.
Note Because spanning tree is enabled by default, issuing a show running command to view the resulting
configuration does not display the command you entered to enable spanning tree.
This example shows how to verify that spanning tree is enabled on VLAN 200:
Switch# show spanning-tree vlan 200
Switch#
Note The extended system ID is enabled permanently on chassis that support 64 MAC addresses.
Use the spanning-tree extend system-id command to enable the extended system ID on chassis that
support 1024 MAC addresses. See the “Understanding the Bridge ID” section on page 16-2.
To enable the extended system ID, perform this task:
Command Purpose
Step 1 Switch(config)# spanning-tree extend system-id Enables the extended system ID.
Disables the extended system ID.
Note You cannot disable the extended system ID on
chassis that support 64 MAC addresses or when
you have configured extended range VLANs (see
“Table 16-4Spanning Tree Default Configuration
Values” section on page 16-6).
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show spanning-tree vlan vlan_ID Verifies the configuration.
Note When you enable or disable the extended system ID, the bridge IDs of all active STP instances are
updated, which might change the spanning tree topology.
Note The root switch for each instance of spanning tree should be a backbone or distribution switch. Do not
configure an access switch as the spanning tree primary root.
Use the diameter keyword to specify the Layer 2 network diameter (the maximum number of bridge
hops between any two end stations in the network). When you specify the network diameter, a switch
automatically picks an optimal hello time, forward delay time, and maximum age time for a network of
that diameter. This behavior can significantly reduce the spanning tree convergence time.
Use the hello-time keyword to override the automatically calculated hello time.
Note We recommend that you avoid manually configuring the hello time, forward delay time, and maximum
age time after configuring the switch as the root bridge.
Command Purpose
Step 1 Switch(config)# [no] spanning-tree vlan vlan_ID Configures a switch as the root switch.
root primary [diameter hops [hello-time seconds]]
Use the no keyword to restore the defaults.
Step 2 Switch(config)# end Exits configuration mode.
This example shows how to configure a switch as the root bridge for VLAN 10, with a network diameter
of 4:
Switch# configure terminal
Switch(config)# spanning-tree vlan 10 root primary diameter 4
Switch(config)# end
Switch#
This example shows how the configuration changes when a switch becomes a spanning tree root. This
is the configuration before the switch becomes the root for VLAN 1:
Switch#show spanning-tree vlan 1
Switch#
Note Because the bridge priority is now set at 8192, this switch becomes the root of the spanning tree.
Note We recommend that you avoid manually configuring the hello time, forward delay time, and maximum
age time after configuring the switch as the root bridge.
Command Purpose
Step 1 Switch(config)# [no] spanning-tree vlan vlan_ID Configures a switch as the secondary root switch.
root secondary [diameter hops [hello-time
seconds]] Use the no keyword to restore the defaults.
Step 2 Switch(config)# end Exits configuration mode.
This example shows how to configure the switch as the secondary root switch for VLAN 10, with a
network diameter of 4:
Switch# configure terminal
Switch(config)# spanning-tree vlan 10 root secondary diameter 4
VLAN 10 bridge priority set to 16384
VLAN 10 bridge max aging time set to 14
VLAN 10 bridge hello time unchanged at 2
VLAN 10 bridge forward delay set to 10
Switch(config)# end
Switch#
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32768
Address 0003.6b10.e800
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Switch#
Note The Cisco IOS software uses the port priority value when the interface is configured as an access port
and uses VLAN port priority values when the interface is configured as a trunk port.
To configure the spanning tree port priority of an interface, perform this task:
Command Purpose
Step 1 Switch(config)# interface {{fastethernet | Specifies an interface to configure.
gigabitethernet | tengigabitethernet} slot/port}
| {port-channel port_channel_number}
Step 2 Switch(config-if)# [no] spanning-tree Configures the port priority for an interface. The
port-priority port_priority port_priority value can be from 0 to 240, in increments
of 16.
Use the no keyword to restore the defaults.
Step 3 Switch(config-if)# [no] spanning-tree vlan Configures the VLAN port priority for an interface. The
vlan_ID port-priority port_priority port_priority value can be from 0 to 240, in increments
of 16.
Use the no keyword to restore the defaults.
Step 4 Switch(config-if)# end Exits configuration mode.
Step 5 Switch# show spanning-tree interface Verifies the configuration.
{{fastethernet | gigabitethernet} slot/port} |
{port-channel port_channel_number}
show spanning-tree vlan vlan_ID
This example shows how to configure the spanning tree port priority of a Fast Ethernet interface:
Switch# configure terminal
Switch(config)# interface fastethernet 5/8
Switch(config-if)# spanning-tree port-priority 100
Switch(config-if)# end
Switch#
This example shows how to verify the configuration of a Fast Ethernet interface when it is configured as
an access port:
Switch# show spanning-tree interface fastethernet 3/1
This example shows how to display the details of the interface configuration when the interface is
configured as an access port:
Switch# show spanning-tree interface fastethernet 3/1 detail
Port 129 (FastEthernet3/1) of VLAN0001 is forwarding
Port path cost 19, Port priority 128, Port Identifier 128.129.
Designated root has priority 32768, address 0003.6b10.e800
Designated bridge has priority 32768, address 0003.6b10.e800
Designated port id is 128.129, designated path cost 0
Timers:message age 0, forward delay 0, hold 0
Number of transitions to forwarding state:1
Link type is point-to-point by default
BPDU:sent 187, received 1
Note The show spanning-tree port-priority command displays only information for ports with an active
link. If there is no port with an active link, enter a show running-config interface command to verify
the configuration.
This example shows how to configure the spanning tree VLAN port priority of a Fast Ethernet interface:
Switch# configure terminal
Switch(config)# interface fastethernet 5/8
Switch(config-if)# spanning-tree vlan 200 port-priority 64
Switch(config-if)# end
Switch#
This example shows how to verify the configuration of VLAN 200 on the interface when it is configured
as a trunk port:
Switch# show spanning-tree vlan 200
<...output truncated...>
<...output truncated...>
Switch#
Command Purpose
Step 1 Switch(config)# interface {{fastethernet | Specifies an interface to configure.
gigabitethernet | tengigabitethernet} slot/port}
| {port-channel port_channel_number}
Step 2 Switch(config-if)# [no] spanning-tree cost Configures the port cost for an interface. The port_cost
port_cost value can be from 1 to 200,000,000.
Use the no keyword to restore the defaults.
Step 3 Switch(config-if)# [no] spanning-tree vlan Configures the VLAN port cost for an interface. The
vlan_ID cost port_cost port_cost value can be from 1 to 200,000,000.
Use the no keyword to restore the defaults.
Step 4 Switch(config-if)# end Exits configuration mode.
Step 5 Switch# show spanning-tree interface Verifies the configuration.
{{fastethernet | gigabitethernet} slot/port} |
{port-channel port_channel_number}
show spanning-tree vlan vlan_ID
This example shows how to change the spanning tree port cost of a Fast Ethernet interface:
Switch# configure terminal
Switch(config)# interface fastethernet 5/8
Switch(config-if)# spanning-tree cost 18
Switch(config-if)# end
Switch#
This example shows how to verify the configuration of the interface when it is configured as an access
port:
Switch# show spanning-tree interface fastethernet 5/8
Port 264 (FastEthernet5/8) of VLAN200 is forwarding
Port path cost 18, Port priority 100, Port Identifier 129.8.
Designated root has priority 32768, address 0010.0d40.34c7
Designated bridge has priority 32768, address 0010.0d40.34c7
Designated port id is 128.1, designated path cost 0
Timers: message age 2, forward delay 0, hold 0
Number of transitions to forwarding state: 1
BPDU: sent 0, received 13513
Switch#
This example shows how to configure the spanning tree VLAN port cost of a Fast Ethernet interface:
Switch# configure terminal
Switch(config)# interface fastethernet 5/8
Switch(config-if)# spanning-tree vlan 200 cost 17
Switch(config-if)# end
Switch#
This example shows how to verify the configuration of VLAN 200 on the interface when it is configured
as a trunk port:
Switch# show spanning-tree vlan 200
<...output truncated...>
Port 264 (FastEthernet5/8) of VLAN200 is forwarding
Port path cost 17, Port priority 64, Port Identifier 129.8.
Designated root has priority 32768, address 0010.0d40.34c7
Designated bridge has priority 32768, address 0010.0d40.34c7
Designated port id is 128.1, designated path cost 0
Timers: message age 2, forward delay 0, hold 0
Number of transitions to forwarding state: 1
BPDU: sent 0, received 13513
<...output truncated...>
Switch#
Note The show spanning-tree command displays only information for ports with an active link (green light
is on). If there is no port with an active link, you can issue a show running-config command to confirm
the configuration.
Note Exercise care when configuring the bridge priority of a VLAN. In most cases, we recommend that you
enter the spanning-tree vlan vlan_ID root primary and the spanning-tree vlan vlan_ID root
secondary commands to modify the bridge priority.
To configure the spanning tree bridge priority of a VLAN, perform this task:
Command Purpose
Step 1 Switch(config)# [no] spanning-tree vlan vlan_ID Configures the bridge priority of a VLAN. The
priority bridge_priority bridge_priority value can be from 1 to 65,534.
Use the no keyword to restore the defaults.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show spanning-tree vlan vlan_ID bridge Verifies the configuration.
[brief]
This example shows how to configure the bridge priority of VLAN 200 to 33,792:
Switch# configure terminal
Switch(config)# spanning-tree vlan 200 priority 33792
Switch(config)# end
Switch#
Note Exercise care when configuring the hello time. In most cases, we recommend that you use the
spanning-tree vlan vlan_ID root primary and the spanning-tree vlan vlan_ID root secondary
commands to modify the hello time.
To configure the spanning tree hello time of a VLAN, perform this task:
Command Purpose
Step 1 Switch(config)# [no] spanning-tree vlan vlan_ID Configures the hello time of a VLAN. The hello_time
hello-time hello_time value can be from 1 to 10 seconds.
Use the no keyword to restore the defaults.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show spanning-tree vlan vlan_ID bridge Verifies the configuration.
[brief]
This example shows how to configure the hello time for VLAN 200 to 7 seconds:
Switch# configure terminal
Switch(config)# spanning-tree vlan 200 hello-time 7
Switch(config)# end
Switch#
Note Exercise care when configuring aging time. In most cases, we recommend that you use the
spanning-tree vlan vlan_ID root primary and the spanning-tree vlan vlan_ID root secondary
commands to modify the maximum aging time.
To configure the spanning tree maximum aging time for a VLAN, perform this task:
Command Purpose
Step 1 Switch(config)# [no] spanning-tree vlan vlan_ID Configures the maximum aging time of a VLAN. The
max-age max_age max_age value can be from 6 to 40 seconds.
Use the no keyword to restore the defaults.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show spanning-tree vlan vlan_ID bridge Verifies the configuration.
[brief]
This example shows how to configure the maximum aging time for VLAN 200 to 36 seconds:
Switch# configure terminal
Switch(config)# spanning-tree vlan 200 max-age 36
Switch(config)# end
Switch#
Note Exercise care when configuring forward-delay time. In most cases, we recommend that you use the
spanning-tree vlan vlan_ID root primary and the spanning-tree vlan vlan_ID root secondary
commands to modify the forward delay time.
To configure the spanning tree forward delay time for a VLAN, perform this task:
Command Purpose
Step 1 Switch(config)# [no] spanning-tree vlan vlan_ID Configures the forward time of a VLAN. The
forward-time forward_time forward_time value can be from 4 to 30 seconds.
Use the no keyword to restore the defaults.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show spanning-tree vlan vlan_ID bridge Verifies the configuration.
[brief]
This example shows how to configure the forward delay time for VLAN 200 to 21 seconds:
Switch# configure terminal
Switch(config)# spanning-tree vlan 200 forward-time 21
Switch(config)# end
Switch#
This example shows how to display spanning tree information for the bridge:
Switch# show spanning-tree bridge
Command Purpose
Step 1 Switch(config)# no spanning-tree vlan vlan_ID Disables spanning tree on a per-VLAN basis.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show spanning-tree vlan vlan_ID Verifies that spanning tree is disabled.
Command Purpose
Step 1 Switch(config)# [no] spantree mode rapid-pvst Enables rapid-PVST+.
Step 2 Switch(config)# interface interface/port Switches to interface configuration mode.
Step 3 Switch(config)# Sets the link-type to point-to-point mode for the port.
spanning-tree link-type point-to-point
Step 4 Switch(config-if)# exit Exits interface mode.
Step 5 Switch(config)# exit Exits configuration mode.
Step 6 Switch(config-if)# clear spantree Detects any legacy bridges on the port
detected-protocols mod/port
Step 7 Switch# show spanning-tree summary totals Verifies the rapid-PVST+ configuration.
Overview of MST
The following sections describe how MST works on a Catalyst 4000 family switch:
• IEEE 802.1s MST, page 16-22
• IEEE 802.1w RSTP, page 16-23
• MST-to-SST Interoperability, page 16-24
• Common Spanning Tree, page 16-25
• MST Instances, page 16-26
• MST provides interoperability with PVST+ by generating PVST+ BPDUs for the non-CST VLANs.
• MST supports some of the PVST+ extensions in MSTP as follows:
– UplinkFast and BackboneFast are not available in MST mode; they are part of RSTP.
– PortFast is supported.
– BPDU filter and BPDU guard are supported in MST mode.
– Loop guard and root guard are supported in MST. MST preserves the VLAN 1 disabled
functionality except that BPDUs are still transmitted in VLAN 1.
– MST switches operate as if MAC reduction is enabled.
– For private VLANs (PVLANs), you must map a secondary VLAN to the same instance as the
primary.
• Disabled—A port that has no role within the operation of spanning tree.
The system assigns port roles as follows:
• A root port or designated port role includes the port in the active topology.
• An alternate port or backup port role excludes the port from the active topology.
Operational Status STP Port State RSTP Port State Port Included in Active Topology
1 2
Enabled Blocking Discarding No
Enabled Listening Discarding No
Enabled Learning Learning Yes
Enabled Forwarding Forwarding Yes
Disabled Disabled Discarding No
1. IEEE 802.1D port state designation.
2. IEEE 802.1w port state designation. Discarding is the same as blocking in MST.
In a stable topology, RSTP ensures that every root port and designated port transitions to the forwarding
state while all alternate ports and backup ports are always in the discarding state.
MST-to-SST Interoperability
A virtual bridged LAN may contain interconnected regions of SST and MST bridges. Figure 16-2 shows
this relationship.
MST
Region B
r
B B
F B
F F
F
r F F r
SST r r
b r
Region F b SST
F Region
r
F B
F F
F F
F/f = Forwarding R
B/b = Blocking MST
R = Root Bridge
68285
Region
r = Root port
To STP running in the SST region, an MST region appears as a single SST or pseudobridge, which
operates as follows:
• Although the values for root identifiers and root path costs match for all BPDUs in all
pseudobridges, a pseudobridge differs from a single SST bridge as follows:
– The pseudobridge BPDUs have different bridge identifiers. This difference does not affect STP
operation in the neighboring SST regions because the root identifier and root cost are the same.
– BPDUs sent from the pseudobridge ports may have significantly different message ages.
Because the message age increases by one second for each hop, the difference in the message
age is measured in seconds.
• Data traffic from one port of a pseudobridge (a port at the edge of a region) to another port follows
a path entirely contained within the pseudobridge or MST region. Data traffic belonging to different
VLANs might follow different paths within the MST regions established by MST.
• The system prevents looping by doing either of the following:
– Blocking the appropriate pseudobridge ports by allowing one forwarding port on the boundary
and blocking all other ports.
– Setting the CST partitions to block the ports of the SST regions.
MST Instances
We support 65 instances including instance 0. Each spanning tree instance is identified by an instance
ID that ranges from 0 to 4094. Instance 0 is mandatory and is always present. Rest of the instances are
optional.
Note You must set the revision number when required as part of the MST configuration. The
revision number is not incremented automatically each time you commit the MST
configuration.
• MST configuration table—An array of 4096 bytes. Each byte, interpreted as an unsigned integer,
corresponds to a VLAN. The value is the instance number to which the VLAN is mapped. The first
byte that corresponds to VLAN 0 and the 4096th byte that corresponds to VLAN 4095 are unused
and always set to zero.
You must configure each byte manually. Use SNMP or the CLI to perform the configuration.
MST BPDUs contain the MST configuration ID and the checksum. An MST bridge accepts an MST
BPDU only if the MST BPDU configuration ID and the checksum match its own MST region
configuration ID and checksum. If either value is different, the MST BPDU is considered to be an
SST BPDU.
MST Regions
These sections describe MST regions:
• MST Region Overview, page 16-26
• Boundary Ports, page 16-27
• IST Master, page 16-27
• Edge Ports, page 16-27
• Link Type, page 16-28
• An MST bridge interconnected by a LAN. A LAN’s designated bridge has the same MST
configuration as an MST bridge. All the bridges on the LAN can process MST BPDUs.
If you connect two MST regions with different MST configurations, the MST regions do the following:
• Load balance across redundant paths in the network. If two MST regions are redundantly connected,
all traffic flows on a single connection with the MST regions in a network.
• Provide an RSTP handshake to enable rapid connectivity between regions. However, the
handshaking is not as fast as between two bridges. To prevent loops, all the bridges inside the region
must agree upon the connections to other regions. This situation introduces a delay. We do not
recommend partitioning the network into a large number of regions.
Boundary Ports
A boundary port is a port that connects to a LAN, the designated bridge of which is either an SST bridge
or a bridge with a different MST configuration. A designated port knows that it is on the boundary if it
detects an STP bridge or receives an agreement message from an RST or MST bridge with a different
configuration.
At the boundary, the role of MST ports do not matter; their state is forced to be the same as the IST port
state. If the boundary flag is set for the port, the MSTP Port Role selection mechanism assigns a port
role to the boundary and the same state as that of the IST port. The IST port at the boundary can take up
any port role except a backup port role.
IST Master
The IST master of an MST region is the bridge with the lowest bridge identifier and the least path cost
to the CST root. If an MST bridge is the root bridge for CST, then it is the IST master of that MST region.
If the CST root is outside the MST region, then one of the MST bridges at the boundary is selected as
the IST master. Other bridges on the boundary that belong to the same region eventually block the
boundary ports that lead to the root.
If two or more bridges at the boundary of a region have an identical path to the root, you can set a slightly
lower bridge priority to make a specific bridge the IST master.
The root path cost and message age inside a region stay constant, but the IST path cost is incremented
and the IST remaining hops are decremented at each hop. Enter the show spanning-tree mst command
to display the information about the IST master, path cost, and remaining hops for the bridge.
Edge Ports
A port that is connected to a nonbridging device (for example, a host or a switch) is an edge port. A port
that connects to a hub is also an edge port if the hub or any LAN that is connected to it does not have a
bridge. An edge port can start forwarding as soon as the link is up.
MST requires that you configure each port connected to a host. To establish rapid connectivity after a
failure, you need to block the non-edge designated ports of an intermediate bridge. If the port connects
to another bridge that can send back an agreement, then the port starts forwarding immediately.
Otherwise, the port needs twice the forward delay time to start forwarding again. You must explicitly
configure the ports that are connected to the hosts and switches as edge ports while using MST.
To prevent a misconfiguration, the PortFast operation is turned off if the port receives a BPDU. You can
display the configured and operational status of PortFast by using the show spanning-tree mst interface
command.
Link Type
Rapid connectivity is established only on point-to-point links. You must configure ports explicitly to a
host or switch. However, cabling in most networks meets this requirement, and you can avoid explicit
configuration by treating all full-duplex links as point-to-point links by entering the spanning-tree
linktype command.
MST-to-PVST+ Interoperability
Keep these guidelines in mind when you configure MST switches (in the same region) to interact with
PVST+ switches:
• Configure the root for all VLANs inside the MST region as shown in this example:
Switch# show spanning-tree mst interface gigabitethernet 1/1
The ports that belong to the MST switch at the boundary simulate PVST+ and send PVST+ BPDUs
for all the VLANs.
If you enable loop guard on the PVST+ switches, the ports might change to a loop-inconsistent state
when the MST switches change their configuration. To correct the loop-inconsistent state, you must
disable and renewable loop guard on that PVST+ switch.
• Do not locate the root for some or all of the VLANs inside the PVST+ side of the MST switch
because when the MST switch at the boundary receives PVST+ BPDUs for all or some of the
VLANs on its designated ports, root guard sets the port to the blocking state.
When you connect a PVST+ switch to two different MST regions, the topology change from the PVST+
switch does not pass beyond the first MST region. In such a case, the topology changes are propagated
only in the instance to which the VLAN is mapped. The topology change stays local to the first MST
region, and the Cisco Access Manager (CAM) entries in the other region are not flushed. To make the
topology change visible throughout other MST regions, you can map that VLAN to IST or connect the
PVST+ switch to the two regions through access links.
Configuring MST
The following sections describe how to configure MST:
• Enabling MST, page 16-29
• Configuring MST Instance Parameters, page 16-31
• Configuring MST Instance Port Parameters, page 16-32
• Restarting Protocol Migration, page 16-33
• Displaying MST Configurations, page 16-33
Enabling MST
To enable and configure MST on a Catalyst 4500, perform this task:
Command Purpose
Step 1 Switch(config)# spanning-tree mode mst Enters MST mode.
Step 2 Switch(config)# spanning-tree mst configuration Enters MST configuration submode.
Use the no keyword to clear the MST configuration.
Step 3 Switch(config-mst)# show current Displays the current MST configuration.
Step 4 Switch(config-mst)# name name Sets the MST region name.
Step 5 Switch(config-mst)# revision revision_number Sets the MST configuration revision number.
Command Purpose
Step 6 Switch(config-mst)# instance instance_number vlan Maps the VLANs to an MST instance.
vlan_range
If you do not specify the vlan keyword, Use the no
keyword to unmap all the VLANs that were mapped to an
MST instance.
If you specify the vlan keyword, Use the no keyword to
unmap a specified VLAN from an MST instance.
Step 7 Switch(config-mst)# show pending Displays the new MST configuration to be applied.
Step 8 Switch(config-mst)# end Applies the configuration and exit MST configuration
submode.
Step 9 Switch# show spanning-tree mst configuration Displays the current MST configuration.
0 1-1999,2500,3001-4094
1 2000-2499,2501-3000
-------------------------------------------------------------------------------
Switch(config-mst)# end
Switch(config)# no spanning-tree mst configuration
Switch(config)# end
Switch# show spanning-tree mst configuration
Name []
Revision 0
Instance Vlans mapped
-------- ---------------------------------------------------------------------
0 1-4094
-------------------------------------------------------------------------------
Command Purpose
Step 1 Switch(config)# spanning-tree mst X priority Y Configures the priority for an MST instance.
Step 2 Switch(config)# spanning-tree mst X root [primary | Configures the bridge as root for an MST instance.
secondary]
Step 3 Switch(config)# Ctrl-Z Exits configuration mode.
Step 4 Switch# show spanning-tree mst Verifies the configuration.
Switch#
Command Purpose
Step 1 Switch(config-if)# spanning-tree mst x cost y Configures the MST instance port cost.
Step 2 Switch(config-if)# spanning-tree mst x port-priority y Configures the MST instance port priority.
Step 3 Switch(config-if)# Ctrl-Z Exits configuration mode.
Step 4 Switch# show spanning-tree mst x interface y Verifies the configuration.
Switch#
Command Purpose
Step 1 Switch# show spanning-tree mst configuration Displays the active region configuration information.
Step 2 Switch# show spanning-tree mst [detail] Displays detailed MST protocol information.
Step 3 Switch# show spanning-tree mst instance-id [detail] Displays information about a specific MST instance.
Step 4 Switch# show spanning-tree mst interface interface Displays information for a given port.
[detail]
Step 5 Switch# show spanning-tree mst instance-id Displays MST information for a given port and a given
interface interface [detail] instance.
Step 6 Switch# show spanning-tree vlan vlan_ID Displays VLAN information in MST mode.
The following examples show how to display spanning tree VLAN configurations in MST mode:
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 1-10
Switch(config-mst)# name cisco
Switch(config-mst)# revision 1
Switch(config-mst)# Ctrl-D
MST01
Spanning tree enabled protocol mstp
Root ID Priority 32769
Address 00d0.00b8.1400
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
This chapter describes the Spanning Tree Protocol (STP) features supported on the Catalyst 4500 series
switch. It also provides guidelines, procedures, and configuration examples.
This chapter includes the following major sections:
• About Root Guard, page 18-2
• Enabling Root Guard, page 18-2
• About Loop Guard, page 18-3
• Enabling Loop Guard, page 18-5
• About EtherChannel Guard, page 18-6
• Enabling EtherChannel Guard (Optional), page 18-6
• About PortFast, page 18-7
• Enabling PortFast, page 18-7
• About BPDU Guard, page 18-8
• Enabling BackboneFast, page 18-16
• About PortFast BPDU Filtering, page 18-9
• Enabling BackboneFast, page 18-16
• About UplinkFast, page 18-11
• Enabling UplinkFast, page 18-12
• About BackboneFast, page 18-14
• Enabling BackboneFast, page 18-16
Note For information on configuring STP, see Chapter 16, “Configuring STP and MST.”
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Command Purpose
Step 1 Switch(config)# interface {{fastethernet | Specifies an interface to configure.
gigabitethernet | tengigabitethernet} slot/port}
Step 2 Switch(config-if)# [no] spanning-tree guard root Enables root guard.
Use the no keyword to disable Root Guard.
Step 3 Switch(config-if)# end Exits configuration mode.
Step 4 Switch# show spanning-tree Verifies the configuration.
This example shows how to enable root guard on Fast Ethernet interface 5/8:
Switch(config)# interface fastethernet 5/8
Switch(config-if)# spanning-tree guard root
Switch(config-if)# end
Switch#
Switch#
This example shows how to determine whether any ports are in root inconsistent state:
Switch# show spanning-tree inconsistentports
A B
3/1 3/1
3/2 3/2
3/1 3/2
Designated port
Root port
55772
Alternate port
– 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 is not able to detect it.
Command Purpose
Step 1 Switch(config)# spanning-tree loopguard default Enables loop guard globally on the switch.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show spanning tree interface 4/4 detail Verifies the configuration impact on a port.
This example shows how to verify the previous configuration of port 4/4:
Switch# show spanning-tree interface fastethernet 4/4 detail
Port 196 (FastEthernet4/4) of VLAN0010 is forwarding
Port path cost 1000, Port priority 160, Port Identifier 160.196.
Designated root has priority 32768, address 00d0.00b8.140a
Designated bridge has priority 32768, address 00d0.00b8.140a
Designated port id is 160.196, designated path cost 0
Timers:message age 0, forward delay 0, hold 0
Number of transitions to forwarding state:1
The port is in the portfast mode by portfast trunk configuration
Link type is point-to-point by default
Bpdu filter is enabled
Loop guard is enabled by default on the port
BPDU:sent 0, received 0
Command Purpose
Step 1 Switch(config)# interface {type slot/port} | Selects an interface to configure.
{port-channel port_channel_number}
Step 2 Switch(config-if)# spanning-tree guard loop Configures loop guard.
Step 3 Switch(config)# end Exits configuration mode.
Step 4 Switch# show spanning tree interface 4/4 detail Verifies the configuration impact on that port.
This example shows how to verify the configuration impact on port 4/4:
Switch# show spanning-tree interface fastEthernet 4/4 detail
Port 196 (FastEthernet4/4) of VLAN0010 is forwarding
Port path cost 1000, Port priority 160, Port Identifier 160.196.
Designated root has priority 32768, address 00d0.00b8.140a
Designated bridge has priority 32768, address 00d0.00b8.140a
Designated port id is 160.196, designated path cost 0
Timers:message age 0, forward delay 0, hold 0
Number of transitions to forwarding state:1
The port is in the portfast mode by portfast trunk configuration
Link type is point-to-point by default
Bpdu filter is enabled
Loop guard is enabled on the port
BPDU:sent 0, received 0
Switch#
Note EtherChannel guard applies only to EtherChannels in forced mode (that is, “manually configured”)
rather than through PAgP or LACP.
If the switch detects a misconfiguration on the other device, EtherChannel guard error-disables all
interfaces in the EtherChannel bundle, and displays an error message.
You can enable this feature with the spanning-tree etherchannel guard misconfig global configuration
command.
Command Purpose
Step 1 Switch(config)# configure terminal Enters global configuration mode.
Step 2 Switch(config)# spanning-tree Enables EtherChannel guard.
etherchannel guard misconfig
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Command Purpose
Step 4 Switch(config)# show spanning-tree Verifies your entries.
summary
Step 5 Switch(config)# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To disable the EtherChannel guard feature, use the no spanning-tree etherchannel guard misconfig
global configuration command.
Use the show interfaces status err-disabled privileged EXEC command to show which switch ports
are disabled because of an EtherChannel misconfiguration. On the remote device, you can enter the show
etherchannel summary privileged EXEC command to verify the EtherChannel configuration.
After the configuration is corrected, enter the shutdown and no shutdown interface configuration
commands on the port-channel interfaces that were misconfigured.
About PortFast
Spanning Tree PortFast causes an interface configured as a Layer 2 access port to enter the forwarding
state immediately, bypassing the listening and learning states. Use PortFast on Layer 2 access ports
connected to a single workstation or server to allow those devices to connect to the network immediately,
rather than waiting for spanning tree to converge. Even if the interface receives a bridge protocol data
unit (BPDU), spanning tree does not place the port into the blocking state. Instead, it sets the port’s
operating state to non-port fast even if the configured state remains port fast and starts participating in
the topology change.
Note Because the purpose of PortFast is to minimize the time that access ports must wait for spanning tree to
converge, it is most effective when used on access ports. If you enable PortFast on a port connecting to
another switch, you risk creating a spanning tree loop.
Enabling PortFast
Caution Use PortFast only when connecting a single end station to a Layer 2 access port. Otherwise, you might
create a network loop.
To enable PortFast on a Layer 2 access port to force it to enter the forwarding state immediately, perform
this task:
Command Purpose
Step 1 Switch(config)# interface {{fastethernet | Specifies an interface to configure.
gigabitethernet | tengigabitethernet} slot/port}
| {port-channel port_channel_number}
Step 2 Switch(config-if)# [no] spanning-tree portfast Enables PortFast on a Layer 2 access port connected to a
single workstation or server.
Use the no keyword to disable PortFast.
Command Purpose
Step 3 Switch(config-if)# end Exits configuration mode.
Step 4 Switch# show running interface {{fastethernet | Verifies the configuration.
gigabitethernet | tengigabitethernet} slot/port}
| {port-channel port_channel_number}
This example shows how to enable PortFast on Fast Ethernet interface 5/8:
Switch(config)# interface fastethernet 5/8
Switch(config-if)# spanning-tree portfast
Switch(config-if)# end
Switch#
Current configuration:
!
interface FastEthernet5/8
no ip address
switchport
switchport access vlan 200
switchport mode access
spanning-tree portfast
end
Switch#
Note When the BPDU guard feature is enabled, spanning tree applies the BPDU guard feature to all
PortFast-configured interfaces.
To prevent the port from shutting down, use errdisable detect cause bpduguard shutdown vlan global
configuration command to shut down just the offending VLAN on the port where the violation occurred.
Command Purpose
Step 1 Switch(config)# [no] spanning-tree portfast Enables BPDU guard on all the switch’s
bpduguard PortFast-configured interfaces.
Use the no keyword to disable BPDU guard.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show spanning-tree summary totals Verifies the BPDU configuration.
Caution Explicitly configuring PortFast BPDU filtering on a port that is not connected to a host can result in
bridging loops, because the port ignores any BPDU it receives and goes to the forwarding state.
When you enable PortFast BPDU filtering globally and set the port configuration as the default for
PortFast BPDU filtering (see the “Enabling BackboneFast” section on page 18-16), PortFast enables or
disables PortFast BPDU filtering.
If the port configuration is not set to default, then the PortFast configuration does not affect PortFast
BPDU filtering. Table 18-1 lists all the possible PortFast BPDU filtering combinations. PortFast BPDU
filtering allows access ports to move directly to the forwarding state as soon as the end hosts are
connected.
Per-Port Configuration Global Configuration PortFast State PortFast BPDU Filtering State
Default Enable Enable Enable1
Default Enable Disable Disable
Default Disable Not applicable Disable
Disable Not applicable Not applicable Disable
Enable Not applicable Not applicable Enable
1. The port transmits at least 10 BPDUs. If this port receives any BPDUs, then PortFast and PortFast BPDU filtering are
disabled.
Command Purpose
Step 1 Switch(config)# spanning-tree portfast bpdufilter default Enables BPDU filtering globally on the
switch.
Step 2 Switch# show spanning-tree summary totals Verifies the BPDU configuration.
This example shows how to verify the BPDU configuration in PVST+ mode:
Switch# show spanning-tree summary totals
Root bridge for:VLAN0010
EtherChannel misconfiguration guard is enabled
Extended system ID is disabled
Portfast is enabled by default
PortFast BPDU Guard is disabled by default
Portfast BPDU Filter is enabled by default
Loopguard is disabled by default
UplinkFast is disabled
BackboneFast is disabled
Pathcost method used is long
Switch#
Note For PVST+ information, see Chapter 16, “Configuring STP and MST.”
Command Purpose
Step 1 Switch(config)# interface fastEthernet 4/4 Selects the interface to configure.
Step 2 Switch(config-if)# spanning-tree bpdufilter enable Enables BPDU filtering.
Step 3 Switch# show spanning-tree interface fastethernet 4/4 Verifies the configuration.
This example shows how to enable PortFast BPDU filtering on port 4/4:
Switch(config)# interface fastethernet 4/4
Switch(config-if)# spanning-tree bpdufilter enable
Switch(config-if)# ^Z
This example shows how to verify that PortFast BPDU filtering is enabled:
Switch# show spanning-tree interface fastethernet 4/4
About UplinkFast
Note UplinkFast is most useful in wiring-closet switches. This feature might not be useful for other types of
applications.
Spanning Tree UplinkFast provides fast convergence after a direct link failure and uses uplink groups to
achieve load balancing between redundant Layer 2 links. Convergence is the speed and ability of a group
of internetworking devices running a specific routing protocol to agree on the topology of an
internetwork after a change in that topology. An uplink group is a set of Layer 2 interfaces (per VLAN),
only one of which is forwarding at any given time. Specifically, an uplink group consists of the root port
(which is forwarding) and a set of blocked ports, except for self-looping ports. The uplink group
provides an alternate path in case the currently forwarding link fails.
Figure 18-2 shows an example of a 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 Layer 2 interface on
Switch C that is connected directly to Switch B is in the 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 on the root port (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 18-3. This switchover takes
approximately one to five seconds.
Switch A
(Root) Switch B
L1
L2 L3
Link failure
UplinkFast transitions port
directly to forwarding state
11242
Switch C
Enabling UplinkFast
UplinkFast increases the bridge priority to 49,152 and adds 3000 to the spanning tree port cost of all
interfaces on the switch, making it unlikely that the switch becomes the root switch. The
max_update_rate value represents the number of multicast packets transmitted per second (the default
is 150 packets per second [pps]).
UplinkFast cannot be enabled on VLANs that have been configured for bridge priority. To enable
UplinkFast on a VLAN with bridge priority configured, restore the bridge priority on the VLAN to the
default value by entering a no spanning-tree vlan vlan_ID priority command in global configuration
mode.
Note When you enable UplinkFast, it affects all VLANs on the switch. You cannot configure UplinkFast on
an individual VLAN.
Command Purpose
Step 1 Switch(config)# [no] spanning-tree uplinkfast Enables UplinkFast.
[max-update-rate max_update_rate]
Use the no keyword to disable UplinkFast and restore the
default rate, use the command
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show spanning-tree vlan vlan_ID Verifies that UplinkFast is enabled on that VLAN.
This example shows how to enable UplinkFast with a maximum update rate of 400 pps:
Switch(config)# spanning-tree uplinkfast max-update-rate 400
Switch(config)# exit
Switch#
This example shows how to verify which VLANS have UplinkFast enabled:
Switch# show spanning-tree uplinkfast
UplinkFast is enabled
UplinkFast statistics
-----------------------
Number of transitions via uplinkFast (all VLANs) :14
Number of proxy multicast addresses transmitted (all VLANs) :5308
About BackboneFast
BackboneFast is a complementary technology to UplinkFast. Whereas UplinkFast is designed to quickly
respond to failures on links directly connected to leaf-node switches, it does not help with indirect
failures in the backbone core. BackboneFast optimizes based on the Max Age setting. It allows you to
reduce the default convergence time for indirect failures from 50 seconds to 30 seconds. However, it
never eliminates forward delays and offers no assistance for direct failures.
Sometimes a switch receives a BPDU from a designated switch that identifies the root bridge and the
designated bridge as the same switch. Because this shouldn’t happen, the BPDU is considered inferior.
BPDUs are considered inferior when a link from the designated switch has lost its link to the root bridge.
The designated switch transmits the BPDUs with the information that it is now the root bridge as well
as the designated bridge. The receiving switch ignores the inferior BPDU for the time defined by the
Max Age setting.
After receiving inferior BPDUs, the receiving switch tries to determine if there is an alternate path to the
root bridge.
• If the port that the inferior BPDUs are received on is already in blocking mode, then the root port
and other blocked ports on the switch become alternate paths to the root bridge.
• If the inferior BPDUs are received on a root port, then all presently blocking ports become the
alternate paths to the root bridge. Also, if the inferior BPDUs are received on a root port and there
are no other blocking ports on the switch, the receiving switch assumes that the link to the root
bridge is down and the time defined by the Max Age setting expires, which turns the switch into the
root switch.
If the switch finds an alternate path to the root bridge, it uses this new alternate path. This new path, and
any other alternate paths, are used to send a Root Link Query (RLQ) BPDU. When BackboneFast is
enabled, the RLQ BPDUs are sent out as soon as an inferior BPDU is received. This process can enable
faster convergence in the event of a backbone link failure.
Figure 18-4 shows an example of a topology with no link failures. Switch A, the root switch, connects
directly to Switch B over link L1 and to Switch C over link L2. In this example, because switch B has a
lower priority than A but higher than C, switch B becomes the designated bridge for L3. Consequently,
the Layer 2 interface on Switch C that connects directly to Switch B must be in the blocking state.
Switch A
(Root) Switch B
L1
Link failure
L2 L3
Next, assume that L1 fails. Switch A and Switch B, the switches directly connected to this segment,
instantly know that the link is down. The blocking interface on Switch C must enter the forwarding state
for the network to recover by itself. However, because L1 is not directly connected to Switch C,
Switch C does not start sending any BPDUs on L3 under the normal rules of STP until the time defined
by the Max Age setting has expired.
In an STP environment without BackboneFast, if L1 should fail, Switch C cannot detect this failure
because it is not connected directly to link L1. However, because Switch B is directly connected to the
root switch over L1, Switch B detects the failure and elects itself the root. Then Switch B begins sending
configuration BDPUs to Switch C, listing itself as the root.
Here are additional actions that occur when you use BackboneFast to eliminate the time defined by the
Max Age setting (20-second) delay:
1. When Switch C receives the inferior configuration BPDUs from Switch B, Switch C infers that an
indirect failure has occurred.
2. Switch C then sends out an RLQ.
3. Switch A receives the RLQ. Because Switch A is the root bridge, it replies with an RLQ response,
listing itself as the root bridge.
4. When Switch C receives the RLQ response on its existing root port, it knows that it still has a stable
connection to the root bridge. Because Switch C originated the RLQ request, it does not need to
forward the RLQ response on to other switches.
5. BackboneFast allows the blocked port on Switch C to move immediately to the listening state
without waiting for the time defined by the Max Age setting for the port to expire.
6. BackboneFast transitions the Layer 2 interface on Switch C to the forwarding state, providing a path
from Switch B to Switch A.
This switchover takes approximately 30 seconds, twice the Forward Delay time if the default forward
delay time of 15 seconds is set.
Figure 18-5 shows how BackboneFast reconfigures the topology to account for the failure of link L1.
Switch A
(Root) Switch B
L1
L2 L3
Blocked port
11241
Switch C
If a new switch is introduced into a shared-medium topology as shown in Figure 18-6, BackboneFast is
not activated, because the inferior BPDUs did not come from the recognized designated bridge
(Switch B). 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
Enabling BackboneFast
Note For BackboneFast to work, you must enable it on all switches in the network. BackboneFast is supported
for use with third-party switches but it is not supported on Token Ring VLANs.
Command Purpose
Step 1 Switch(config)# [no] spanning-tree backbonefast Enables BackboneFast.
Use the no keyword to disable BackboneFast.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show spanning-tree backbonefast Verifies that BackboneFast is enabled.
BackboneFast statistics
-----------------------
Number of transition via backboneFast (all VLANs) : 0
Number of inferior BPDUs received (all VLANs) : 0
Number of RLQ request PDUs received (all VLANs) : 0
BackboneFast statistics
-----------------------
Number of transition via backboneFast (all VLANs) :0
Number of inferior BPDUs received (all VLANs) :0
Number of RLQ request PDUs received (all VLANs) :0
Number of RLQ response PDUs received (all VLANs) :0
Number of RLQ request PDUs sent (all VLANs) :0
Number of RLQ response PDUs sent (all VLANs) :0
Switch#
This example shows how to display the total lines of the spanning tree state section:
Switch#show spanning-tree summary totals
Root bridge for:VLAN0001, VLAN1002-VLAN1005
Extended system ID is disabled
Portfast is enabled by default
PortFast BPDU Guard is disabled by default
Portfast BPDU Filter is enabled by default
Loopguard is disabled by default
EtherChannel misconfiguration guard is enabled
UplinkFast is enabled
BackboneFast is enabled
Pathcost method used is short
BackboneFast statistics
-----------------------
Number of transition via backboneFast (all VLANs) :0
Number of inferior BPDUs received (all VLANs) :0
Number of RLQ request PDUs received (all VLANs) :0
This chapter describes how to use the command-line interface (CLI) to configure EtherChannel on the
Catalyst 4500 series switch Layer 2 or Layer 3 interfaces. It also provides guidelines, procedures, and
configuration examples.
This chapter includes the following major sections:
• EtherChannel Overview, page 19-1
• EtherChannel Configuration Guidelines and Restrictions, page 19-5
• Configuring EtherChannel, page 19-6
• Displaying EtherChannel to a Virtual Switch System, page 19-14
Note The commands in the following sections can be used on all Ethernet interfaces on a Catalyst 4500 series
switch, including the uplink ports on the supervisor engine.
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
EtherChannel Overview
EtherChannel bundles up to eight individual Ethernet links into a single logical ink that provides an
aggregate bandwidth of up to 800 Mbps (Fast EtherChannel), 8 Gbps (Gigabit EtherChannel), or 80
Gbps (10 Gigabit EtherChannel) between a Catalyst 4500 or 4500X series switch and another switch or
host.
Note Because some linecards have a maximum bandwidth capacity toward the backplane, they can limit the
aggregate bandwidth of an Etherchannel when all the Etherchannel members belong to the same
linecard.
A Catalyst 4500 series switch supports a maximum of 64 EtherChannels. You can form an EtherChannel
with up to eight compatibly configured Ethernet interfaces across modules in a Catalyst 4500 series
switch. All interfaces in each EtherChannel must be the same speed and must be configured as either
Layer 2 or Layer 3 interfaces.
Note The network device to which a Catalyst 4500 series switch is connected may impose its own limits on
the number of interfaces 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. When the segment fails, an SNMP trap is sent, 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.
Note The port channel link failure switchover for the Catalyst 4500 series switch was measured at 50 ms,
giving you SONET-like link failure switchover time.
Port-Channel Interfaces
Each EtherChannel has a numbered port-channel interface. A configuration applied to the port-channel
interface affects all physical interfaces assigned to that interface.
Note QoS does not propagate to members. The defaults, QoS cos = 0 and QoS dscp = 0, apply on the
portchannel. Input or output policies applied on individual interfaces are ignored.
After you configure an EtherChannel, the configuration that you apply to the port-channel interface
affects the EtherChannel; the configuration that you apply to the physical interfaces affects only the
interface where you apply the configuration. To change the parameters of all ports in an EtherChannel,
apply configuration commands to the port-channel interface (such commands can be STP commands or
commands to configure a Layer 2 EtherChannel as a trunk).
Mode Description
on Mode that forces the LAN port to channel unconditionally. In the on mode, a usable
EtherChannel exists only when a LAN port group in the on mode is connected to another
LAN port group in the on mode. Because ports configured in the on mode do not negotiate,
there is no negotiation traffic between the ports.
auto PAgP mode that places a LAN port into a passive negotiating state in which the port
responds to PAgP packets it receives but does not initiate PAgP negotiation.
desirable PAgP mode that places a LAN port into an active negotiating state in which the port
initiates negotiations with other LAN ports by sending PAgP packets.
passive LACP mode that places a port into a passive negotiating state in which the port responds
to LACP packets it receives but does not initiate LACP negotiation.
active LACP mode that places a port into an active negotiating state in which the port initiates
negotiations with other ports by sending LACP packets.
• A LAN port in desirable mode can form an EtherChannel successfully with another LAN port that
is in desirable mode.
• A LAN port in desirable mode can form an EtherChannel with another LAN port in auto mode.
• A LAN port in auto mode cannot form an EtherChannel with another LAN port that is also in auto
mode because neither port initiates negotiation.
Note The LACP system ID is the combination of the LACP system priority value and the MAC
address of the switch.
• LACP port priority—You must configure an LACP port priority on each port configured to use
LACP. The port priority can be configured automatically or through the CLI. See the “Configuring
Layer 2 EtherChannels” section on page 19-9. LACP uses the port priority with the port number to
form the port identifier.
• LACP administrative key—LACP automatically configures an administrative key value equal to the
channel group identification number on each port configured to use LACP. The administrative key
defines the ability of a port to aggregate with other ports. A port’s ability to aggregate with other
ports is determined by these factors:
– Port physical characteristics, such as data rate, duplex capability, and point-to-point or shared
medium
– Configuration restrictions that you establish
LACP tries to configure the maximum number of compatible ports in an EtherChannel up to the
maximum allowed by the hardware (eight ports). If a port cannot be actively included in a channel, it is
not included automatically if a channelled port fails.
Note Standby and “sub-channeling” are not supported in LACP and PAgP.
Load Balancing
EtherChannel can balance the traffic load across the links in the channel by reducing part of the binary
pattern formed from the addresses or ports in the frame to a numerical value that selects one of the links
in the channel. To balance the load, EtherChannel uses MAC addresses, IP addresses, or Layer 4 port
numbers, and either the message source or message destination, or both.
Use the option that provides the greatest variety in your configuration. For example, if the traffic on a
channel is going only to a single MAC address, using the destination MAC address always chooses the
same link in the channel; using source addresses or IP addresses might result in better load balancing.
Note Load balancing can only be configured globally. As a result, all channels (manually configured, PagP,
or LACP) use the same load balancing method.
For additional information on load balancing, see the “Configuring EtherChannel Load Balancing”
section on page 19-12.
– An EtherChannel supports the same allowed range of VLANs on all the interfaces in a trunking
Layer 2 EtherChannel. If the allowed ranges differ for selected interface differ, they do not form
an EtherChannel.
– Interfaces with different Spanning Tree Protocol (STP) port path costs can form an
EtherChannel as long they are otherwise compatibly configured. Setting different STP port path
costs does not, by itself, make interfaces incompatible for the formation of an EtherChannel.
• After you configure an EtherChannel, any configuration that you apply to the port-channel interface
affects the EtherChannel; any configuration that you apply to the physical interfaces affects only the
interface you configure.
Storm Control is an exception to this rule. For example, you cannot configure Storm Control on
some of the members of an EtherChannel; Storm Control must be configured on all or none of the
ports. If you configure Storm Control on only some of the ports, those ports are dropped from the
EtherChannel interface (put in suspended state). Therefore, you should configure Storm Control at
the port-channel interface level, and not at the physical interface level.
• A physical interface with port security enabled can join a Layer 2 EtherChannel only if port security
is also enabled on the EtherChannel; otherwise the command is rejected by the CLI.
• You cannot configure a 802.1X port in an EtherChannel.
Configuring EtherChannel
These sections describe how to configure EtherChannel:
• Configuring Layer 3 EtherChannels, page 19-6
• Configuring Layer 2 EtherChannels, page 19-9
• Configuring the LACP System Priority and System ID, page 19-11
• Configuring EtherChannel Load Balancing, page 19-12
• Removing an Interface from an EtherChannel, page 19-13
• Removing an EtherChannel, page 19-14
Note Ensure that the interfaces are configured correctly. (See the “EtherChannel Configuration Guidelines
and Restrictions” section on page 19-5.)
Note To move an IP address from a physical interface to an EtherChannel, you must delete the IP address from
the physical interface before configuring it on the port-channel interface.
Command Purpose
Step 1 Switch(config)# interface port-channel Creates the port-channel interface. The value for
port_channel_number port_channel_number can range from 1 to 64.
Step 2 Switch(config-if)# ip address ip_address mask Assigns an IP address and subnet mask to the
EtherChannel.
Step 3 Switch(config-if)# end Exits configuration mode.
Step 4 Switch# show running-config interface Verifies the configuration.
port-channel port_channel_number
Current configuration:
!
interface Port-channel1
ip address 172.32.52.10 255.255.255.0
no ip directed-broadcast
end
Switch#
Command Purpose
Step 1 Switch(config)# interface {fastethernet | Selects a physical interface to configure.
gigabitethernet | tengigabitethernet} slot/port
Step 2 Switch(config-if)# no switchport Makes this a Layer 3 routed port.
Step 3 Switch(config-if)# no ip address Ensures that no IP address is assigned to the physical
interface.
Command Purpose
Step 4 Switch(config-if)# channel-group port_channel_number Configures the interface in a portchannel and
mode {active | on | auto | passive | desirable} specifies the PAgP or LACP mode.
If you use PAgP, enter the keywords auto or
desirable.
If you use LACP, enter the keywords active or
passive.
Step 5 Switch(config-if)# end Exits configuration mode.
Step 6 Switch# show running-config interface port-channel Verifies the configuration.
port_channel_number
This example shows how to configure Fast Ethernet interfaces 5/4 and 5/5 into port-channel 1 with PAgP
mode desirable:
Switch# configure terminal
Switch(config)# interface range fastethernet 5/4 - 5 (Note: Space is mandatory.)
Switch(config-if)# no switchport
Switch(config-if)# no ip address
Switch(config-if)# channel-group 1 mode desirable
Switch(config-if)# end
Note See the “Configuring a Range of Interfaces” section on page 7-4 for information about the range
keyword.
The following two examples show how to verify the configuration of Fast Ethernet interface 5/4:
Switch# show running-config interface fastethernet 5/4
Building configuration...
Current configuration:
!
interface FastEthernet5/4
no ip address
no switchport
no ip directed-broadcast
channel-group 1 mode desirable
end
Local information:
Hello Partner PAgP Learning Group
Port Flags State Timers Interval Count Priority Method Ifindex
Fa5/4 SC U6/S7 30s 1 128 Any 55
Partner's information:
Switch#
This example shows how to verify the configuration of port-channel interface 1 after the interfaces have
been configured:
Switch# show etherchannel 1 port-channel
Channel-group listing:
----------------------
Group: 1
------------
Switch#
Note Cisco IOS software creates port-channel interfaces for Layer 2 EtherChannels when you configure
Layer 2 Ethernet interfaces with the channel-group command.
To configure Layer 2 Ethernet interfaces as Layer 2 EtherChannels, perform this task for each interface:
Command Purpose
Step 1 Switch(config)# interface {fastethernet | gigabitethernet Selects a physical interface to configure.
| tengigabitethernet} slot/port
Step 2 Switch(config-if)# channel-group port_channel_number mode Configures the interface in a portchannel and
{active | on | auto | passive | desirable} specifies the PAgP or LACP mode.
If you use PAgP, enter the keywords auto or
desirable.
If you use LACP, enter the keywords active or
passive.
Step 3 Switch(config-if)# end Exits configuration mode.
Step 4 Switch# show running-config interface {fastethernet | Verifies the configuration.
gigabitethernet} slot/port
This example shows how to configure Fast Ethernet interfaces 5/6 and 5/7 into port-channel 2 with PAgP
mode desirable:
Switch# configure terminal
Switch(config)# interface range fastethernet 5/6 - 7 (Note: Space is mandatory.)
Switch(config-if-range)# channel-group 2 mode desirable
Switch(config-if-range)# end
Switch# end
Note See the “Configuring a Range of Interfaces” section on page 7-4 for information about the range
keyword.
Current configuration:
!
interface Port-channel2
switchport access vlan 10
switchport mode access
end
Switch#
The following two examples show how to verify the configuration of Fast Ethernet interface 5/6:
Switch# show running-config interface fastethernet 5/6
Building configuration...
Current configuration:
!
interface FastEthernet5/6
switchport access vlan 10
switchport mode access
channel-group 2 mode desirable
end
Partner's information:
This example shows how to verify the configuration of port-channel interface 2 after the interfaces have
been configured:
Switch# show etherchannel 2 port-channel
Port-channels in the group:
----------------------
Port-channel: Po2
------------
Switch#
To configure the LACP system priority and system ID, perform this task:
Command Purpose
Step 1 Switch(config)# lacp system-priority (Optional for LACP) Sets the LACP system priority and
priority_value system ID.
Valid values are 1 through 65535. Higher numbers have
lower priority. The default is 32768.
Switch(config)# no system port-priority Reverts to the default.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show lacp sys-id Verifies the configuration.
The system priority is displayed first, followed by the MAC address of the switch.
Note Load balancing can only be configured globally. As a result, all channels (manually configured, PagP,
or LACP) use the same load balancing method.
Command Purpose
Step 1 Switch(config)# [no] port-channel load-balance Configures EtherChannel load balancing.
{src-mac | dst-mac | src-dst-mac | src-ip |
dst-ip | src-dst-ip | src-port | dst-port | Use the no keyword to return EtherChannel load
src-dst-port} balancing to the default configuration.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show etherchannel load-balance Verifies the configuration.
Command Purpose
Step 1 Switch(config)# interface {fastethernet | Selects a physical interface to configure.
gigabitethernet | tengigabitethernet} slot/port
Step 2 Switch(config-if)# no channel-group Removes the interface from the port-channel interface.
Command Purpose
Step 3 Switch(config-if)# end Exits configuration mode.
Step 4 Switch# show running-config interface Verifies the configuration.
{fastethernet | gigabitethernet |
tengigabitethernet} slot/port
Switch# show interface {fastethernet |
gigabitethernet | tengigabitethernet} slot/port
etherchannel
This example shows how to remove Fast Ethernet interfaces 5/4 and 5/5 from port-channel 1:
Switch# configure terminal
Switch(config)# interface range fastethernet 5/4 - 5 (Note: Space is mandatory.)
Switch(config-if)# no channel-group 1
Switch(config-if)# end
Removing an EtherChannel
If you remove an EtherChannel, the member ports are shut down and removed from the channel group.
Note If you want to change an EtherChannel from Layer 2 to Layer 3, or Layer 3 to Layer 2, you must remove
the EtherChannel and recreate it in the desired configuration.
Command Purpose
Step 1 Switch(config)# no interface port-channel Removes the port-channel interface.
port_channel_number
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show etherchannel summary Verifies the configuration.
Dual-Active Scenarios
One of the failure scenarios in a VSS is called dual-active, which occurs when the VSL fails completely.
In this case, neither virtual switch knows of the other's status. From the perspective of the active virtual
switch, the standby chassis is lost. The standby virtual switch also views the active chassis as failed and
transitions to active state via an SSO switchover. So, two active virtual switches exist in the network
with identical configurations, causing duplicate IP addresses and bridge identifiers. This scenario has
adverse effects on the network topology and traffic if it persists.
Virtual Virtual
Switch A Switch B
(active) VSL (standby)
204283
Remote switch
(Catalyst 4500 series switch)
Active_ID = A’s MAC
Virtual Virtual
Switch A Switch B
(active) VSL (standby)
As a remote switch, the Catalyst 4500 series switch supports stateful VSS client. In particular, the ID of
the current active virtual switch is synchronized from the active supervisor engine to the redundant
supervisor engine of the Catalyst 4500 series switch. This ensures that dual-active detection is not
disrupted even when the active supervisor engine switches over to the redundant supervisor engine.
Note You can also see the name of the neighboring switch (Partner Name) and the ports to which this
EtherChannel is connected (Partner Port).
If a Catalyst 4500 switch is connected to a Catalyst 6500 series VSS with the same version of enhanced
PAgP dual-active detection, the switch can detect a dual-active scenario:
Switch# show pagp 1 dual-active
PAgP dual-active detection enabled: Yes
PAgP dual-active version: 1.1
Channel group 1
Dual-Active Partner Partner Partner
Port Detect Capable Name Port Version
Gi6/5 Yes VSS Gi1/8/1 1.1
Gi6/6 Yes VSS Gi2/8/1 1.1
If a Catalyst 4500 switch is not connected to a Catalyst 6500 series VSS, the switch cannot detect a
dual-active scenario:
Switch# show pagp 1 dual-active
PAgP dual-active detection enabled: Yes
PAgP dual-active version: 1.1
Channel group 1
Dual-Active Partner Partner Partner
Port Detect Capable Name Port Version
Gi6/5 No Switch Fa6/5 N/A
Gi6/6 No Switch Fa6/6 N/A
This chapter describes how to configure Cisco Discovery Protocol (CDP) on the Catalyst 4500 series
switch. It also provides guidelines, procedures, and configuration examples.
This chapter includes the following major sections:
• About CDP, page 20-1
• Configuring CDP, page 20-2
Note For complete syntax and usage information for the commands used in this chapter, refer to the
Cisco IOS Configuration Fundamentals Configuration Guide, Release 12.4:
http://www.cisco.com/en/US/docs/ios/fundamentals/configuration/guide/12_4/cf_12_4_book.html
and the Cisco IOS Configuration Fundamentals Command Reference, Release 12.2:
http://www.cisco.com/en/US/docs/ios/12_2/configfun/command/reference/ffun_r.html
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
About CDP
CDP is a protocol that runs over Layer 2 (the data link layer) on all Cisco routers, bridges, access servers,
and switches. CDP allows network management applications to discover Cisco devices that are
neighbors of already known devices, in particular, neighbors running lower-layer, transparent
protocols.With CDP, network management applications can learn the device type and the SNMP agent
address of neighboring devices. CDP enables applications to send SNMP queries to neighboring devices.
CDP runs on all LAN and WAN media that support Subnetwork Access Protocol (SNAP).
Each CDP-configured device sends periodic messages to a multicast address. Each device advertises at
least one address at which it can receive SNMP messages. The advertisements also contain the
time-to-live, or holdtime information, which indicates the length of time a receiving device should hold
CDP information before discarding it.
Configuring CDP
The following sections describe how to configure CDP:
• Enabling CDP Globally, page 20-2
• Displaying the CDP Global Configuration, page 20-2
• Enabling CDP on an Interface, page 20-3
• Displaying the CDP Interface Configuration, page 20-3
• Monitoring and Maintaining CDP, page 20-3
Command Purpose
Switch(config)# [no] cdp run Enables CDP globally.
Use the no keyword to disable CDP globally.
Command Purpose
Switch# show cdp Displays global CDP information.
For additional CDP show commands, see the “Monitoring and Maintaining CDP” section on page 20-3.
Command Purpose
Switch(config-if)# [no] cdp enable Enables CDP on an interface.
Use the no keyword to disable CDP on an interface.
This example shows how to enable CDP on Fast Ethernet interface 5/1:
Switch(config)# interface fastethernet 5/1
Switch(config-if)# cdp enable
This example shows how to disable CDP on Fast Ethernet interface 5/1:
Switch(config)# interface fastethernet 5/1
Switch(config-if)# no cdp enable
Command Purpose
Switch# show cdp interface [type/number] Displays information about interfaces where CDP is
enabled.
This example shows how to display the CDP configuration of Fast Ethernet interface 5/1:
Switch# show cdp interface fastethernet 5/1
FastEthernet5/1 is up, line protocol is up
Encapsulation ARPA
Sending CDP packets every 120 seconds
Holdtime is 180 seconds
Switch#
Command Purpose
Switch# clear cdp counters Resets the traffic counters to zero.
Switch# clear cdp table Deletes the CDP table of information about neighbors.
Switch# show cdp Displays global information such as frequency of
transmissions and the holdtime for packets being
transmitted.
Switch# show cdp entry entry_name Displays information about a specific neighbor. You
[protocol | version] can limit the display to protocol or version information.
Command Purpose
Switch# show cdp interface Displays information about interfaces on which CDP is
[type/number] enabled.
Switch# show cdp neighbors Displays information about neighboring equipment.
[type/number] [detail] You can limit the display to neighbors on a specific
interface and expand to provide more detailed
information.
Switch# show cdp traffic Displays CDP counters, including the number of
packets sent and received and checksum errors.
Switch# show debugging Displays information about the types of debugging that
are enabled for your switch.
This example shows how to clear the CDP counter configuration on your switch:
Switch# clear cdp counters
This example shows how to display information about the neighboring equipment:
Switch# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater
This chapter describes how to configure Internet Group Management Protocol (IGMP) snooping on the
Catalyst 4500 series switch. It provides guidelines, procedures, and configuration examples.
This chapter consists of the following major sections:
• Overview of IGMP Snooping, page 21-1
• Configuring IGMP Snooping, page 21-5
• Displaying IGMP Snooping Information, page 21-14
• Configuring IGMP Filtering, page 21-20
• Displaying IGMP Filtering Configuration, page 21-24
Note To support Cisco Group Management Protocol (CGMP) client devices, configure the switch as a CGMP
server. For more information, see the chapters “IP Multicast” and “Configuring IP Multicast Routing”
in the Cisco IOS IP and IP Routing Configuration Guide, Cisco IOS Release 12.1 at this location:
http://www.cisco.com/en/US/docs/ios/12_1/iproute/configuration/guide/ip_c.html
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
IGMP snooping allows a switch to snoop or capture information from IGMP packets transmitted
between hosts and a router. Based on this information, a switch adds or deletes multicast addresses from
its address table, thereby enabling (or disabling) multicast traffic from flowing to individual host ports.
IGMP snooping supports all versions of IGMP: IGMPv1, IGMPv2, and IGMPv3.
In contrast to IGMPv1 and IGMPv2, IGMPv3 snooping provides immediate-leave processing by default.
It provides Explicit Host Tracking (EHT) and allows network administrators to deploy SSM
functionality on Layer 2 devices that truly support IGMPv3. (See the “Explicit Host Tracking” section
on page 21-4.)
In subnets where IGMP is configured, IGMP snooping manages multicast traffic at Layer 2. You can
configure interfaces to dynamically forward multicast traffic only to those interfaces that are interested
in receiving it by using the switchport keyword.
IGMP snooping restricts traffic in MAC multicast groups 0100.5e00.0001 to 01-00-5e-ff-ff-ff. IGMP
snooping does not restrict Layer 2 multicast packets generated by routing protocols.
Note For more information on IP multicast and IGMP, refer to RFC 1112, RFC 2236, RFC 3376 (for
IGMPv3).
IGMP (configured on a router) periodically sends out IGMP general queries. A host responds to these
queries with IGMP membership reports for groups that it is interested in. When IGMP snooping is
enabled, the switch creates one entry per VLAN in the Layer 2 forwarding table for each Layer 2
multicast group from which it receives an IGMP join request. All hosts interested in this multicast traffic
send IGMP membership reports and are added to the forwarding table entry.
Layer 2 multicast groups learned through IGMP snooping are dynamic. However, you can statically
configure Layer 2 multicast groups using the ip igmp snooping static command. If you specify group
membership statically, your setting supersedes any automatic manipulation by IGMP snooping.
Multicast group membership lists can contain both user-defined and IGMP snooping settings.
Groups with IP addresses in the range 224.0.0.0 to 224.0.0.255, which map to the multicast MAC
address range 0100.5E00.0001 to 0100.5E00.00FF, are reserved for routing control packets. These
groups are flooded to all forwarding ports of the VLAN with the exception of 224.0.0.22, which is used
for IGMPv3 membership reports.
Note If a VLAN experiences a spanning-tree topology change, IP multicast traffic floods on all VLAN ports
where PortFast is not enabled, as well as on ports with the no igmp snooping tcn flood command
configured for a period of TCN query count.
For a Layer 2 IGMPv2 host interface to join an IP multicast group, a host sends an IGMP membership
report for the IP multicast group. For a host to leave a multicast group, it can either ignore the periodic
IGMP general queries or it can send an IGMP leave message. When the switch receives an IGMP leave
message from a host, it sends out an IGMP group-specific query to determine whether any devices
connected to that interface are interested in traffic for the specific multicast group. The switch then
updates the table entry for that Layer 2 multicast group so that only those hosts interested in receiving
multicast traffic for the group are listed.
In contrast, IGMPv3 hosts send IGMPv3 membership reports (with the allow group record mode) to join
a specific multicast group. When IGMPv3 hosts send membership reports (with the block group record)
to reject traffic from all sources in the previous source list, the last host on the port is removed by
immediate-leave if EHT is enabled.
Immediate-Leave Processing
IGMP snooping immediate-leave processing allows the switch to remove an interface from the
forwarding-table entry without first sending out IGMP group-specific queries to the interface. The
VLAN interface is pruned from the multicast tree for the multicast group specified in the original IGMP
leave message. Immediate-leave processing ensures optimal bandwidth management for all hosts on a
switched network, even when multiple multicast groups are being used simultaneously.
When a switch with IGMP snooping enabled receives an IGMPv2 or IGMPv3 leave message, it sends
an IGMP group-specific query from the interface where the leave message was received to determine
when there are other hosts attached to that interface that are interested in joining the MAC multicast
group. If the switch does not receive an IGMP join message within the query response interval, the
interface is removed from the port list of the (MAC-group, VLAN) entry in the Layer 2 forwarding table.
Note By default all IGMP joins are forwarded to all multicast router ports.
With immediate-leave processing enabled on the VLAN, an interface can be removed immediately from
the port list of the Layer 2 entry when the IGMP leave message is received, unless a multicast router was
learned on the port.
Note When using IGMPv2 snooping, use immediate-leave processing only on VLANs where just one host is
connected to each interface. If immediate-leave processing is enabled on VLANs where multiple hosts
are connected to an interface, some hosts might be dropped inadvertently. When using IGMPv3,
immediate-leave processing is enabled by default, and due to Explicit Host Tracking (see below), the
switch can detect when a port has single or multiple hosts maintained by the switch for IGMPv3 hosts.
As a result, the switch can perform immediate-leave processing when it detects a single host behind a
given port.
Use the show ip igmp snooping querier vlan command to display the IGMP version on a particular
VLAN.
Use the show ip igmp snooping vlan command to display whether the switch supports IGMPv3
snooping.
Use the ip igmp snooping immediate-leave command to enable immediate-leave for IGMPv2.
IGMP snooping allows switches to examine IGMP packets and make forwarding decisions based on
their content.
These sections describe how to configure IGMP snooping:
• Default IGMP Snooping Configuration, page 21-5
• Enabling IGMP Snooping Globally, page 21-6
• Enabling IGMP Snooping on a VLAN, page 21-6
• Configuring Learning Methods, page 21-7
• Configuring a Static Connection to a Multicast Router, page 21-8
• Enabling IGMP Immediate-Leave Processing, page 21-8
• Configuring the IGMP Leave Timer, page 21-9
• Configuring IGMP Snooping Querier, page 21-10
• Configuring Explicit Host Tracking, page 21-11
• Configuring a Host Statically, page 21-11
• Suppressing Multicast Flooding, page 21-12
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] ip igmp snooping Enables IGMP snooping.
Use the no keyword to disable IGMP snooping.
Step 3 Switch(config)# end Exits configuration mode.
Step 4 Switch# show ip igmp snooping | include Verifies the configuration.
This example shows how to enable IGMP snooping globally and verify the configuration:
Switch# configure terminal
Switch(config)# ip igmp snooping
Switch(config)# end
Switch# show ip igmp snooping
Global IGMP Snooping configuration:
-----------------------------------
IGMP snooping : Enabled
IGMPv3 snooping : Enabled
Report suppression : Enabled
TCN solicit query : Disabled
TCN flood query count : 2
Vlan 1:
--------
IGMP snooping : Enabled
IGMPv2 immediate leave : Disabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
CGMP interoperability mode : IGMP_ONLY
Vlan 2:
--------
IGMP snooping : Enabled
IGMPv2 immediate leave : Disabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
CGMP interoperability mode : IGMP_ONLY
Command Purpose
Step 1 Switch(config)# [no] ip igmp snooping vlan vlan_ID Enables IGMP snooping.
Use the no keyword to disable IGMP snooping.
Step 2 Switch(config)# end Exits configuration mode.
Step 3 Switch# show ip igmp snooping vlan vlan_ID Verifies the configuration.
This example shows how to enable IGMP snooping on VLAN 2 and verify the configuration:
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 2
Switch(config)# end
Switch# show ip igmp snooping vlan 2
Global IGMP Snooping configuration:
-----------------------------------
IGMP snooping : Enabled
IGMPv3 snooping : Enabled
Report suppression : Enabled
TCN solicit query : Disabled
TCN flood query count : 2
Vlan 2:
--------
IGMP snooping : Enabled
IGMPv2 immediate leave : Disabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
CGMP interoperability mode : IGMP_ONLY
Command Purpose
Switch(config)# ip igmp snooping vlan Specifies the learning method for the VLAN.
vlan_ID mrouter learn [cgmp | pim-dvmrp]
This example shows how to configure IP IGMP snooping to learn from PIM/DVMRP packets:
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 1 mrouter learn pim-dvmrp
Switch(config)# end
Switch#
Command Purpose
Switch(config)# ip igmp snooping vlan Specifies the learning method for the VLAN.
vlan_ID mrouter learn [cgmp | pim-dvmrp]
This example shows how to configure IP IGMP snooping to learn from CGMP self-join packets:
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 1 mrouter learn cgmp
Switch(config)# end
Switch#
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ip igmp snooping vlan vlan_ID Specifies a static connection to a multicast router for the
mrouter interface interface_num VLAN.
Note The interface to the router must be in the VLAN
where you are entering the command. The router
and the line protocol must be up.
Step 3 Switch(config)# end Exits configuration mode.
Step 4 Switch# show ip igmp snooping mrouter vlan vlan_ID Verifies the configuration.
Command Purpose
Switch(config)# ip igmp snooping vlan Enables immediate-leave processing in the
vlan_ID immediate-leave VLAN.
Note This command applies only to IGMPv2
hosts.
This example shows how to enable IGMP immediate-leave processing on interface VLAN 200 and to
verify the configuration:
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 200 immediate-leave
Configuring immediate leave on vlan 200
Switch(config)# end
Switch# show ip igmp interface vlan 200 | include immediate leave
Immediate leave : Disabled
Switch(config)#
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ip igmp snooping Configure the IGMP leave timer globally. The range is 100 to
last-member-query-interval time 5000 milliseconds. The default is 1000 seconds.
To globally reset the IGMP leave timer to the default setting, use
the global configuration command
no ip igmp snooping last-member-query-interval.
Step 3 Switch(config)# ip igmp snooping vlan (Optional) Configure the IGMP leave time on the VLAN
vlan_ID last-member-query-interval time interface. The range is 100 to 5000 milliseconds.
To remove the configured IGMP leave-time setting from the
specified VLAN, use the global configuration command
no ip igmp snooping vlan vlan-id last-member-query-interval
Note Configuring the leave time on a VLAN overrides the
globally configured timer.
Step 4 Switch(config)# end Return to privileged EXEC mode.
Step 5 Switch# show ip igmp snooping (Optional) Display the configured IGMP leave time.
Step 6 Switch# copy running-config (Optional) Save your entries in the configuration file.
startup-config
This example shows how to enable the IGMP configurable-leave timer and to verify the configuration:
Switch# configure terminal
Switch(config)# ip igmp snooping last-member-query-interval 200
Switch(config)# ip igmp snooping vlan 10 last-member-query-interval 500
Switch(config)# end
Vlan 1:
--------
IGMP snooping : Enabled
IGMPv2 immediate leave : Disabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
Last Member Query Interval : 200
CGMP interoperability mode : IGMP_ONLY
Vlan 10:
--------
IGMP snooping : Enabled
IGMPv2 immediate leave : Disabled
Explicit host tracking : Enabled
Multicast router learning mode : pim-dvmrp
Last Member Query Interval : 500
CGMP interoperability mode : IGMP_ONLY
Switch#
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] ip igmp snooping Enables IGMP Snooping Querier.
[vlan vlan_id] querier
Step 3 Switch(config)# [no] ip igmp snooping Configures the IGMP Snooping Querier source IP address.
[vlan vlan_id] querier address abcd
Step 4 Switch(config)# [no] ip igmp snooping Configures IGMP Snooping Querier IGMP version.
[vlan vlan_id] querier version [1 | 2]
Step 5 Switch(config)# ip igmp snooping Configures IGMP Snooping Querier query interval.
[vlan vlan_id] querier query-interval
interval
Step 6 Switch(config)# ip igmp snooping Configures IGMP Snooping Querier query maximum response
[vlan vlan_id] querier max-response-time time.
value
Command Purpose
Step 7 Switch(config)# ip igmp snooping Configures IGMP Snooping Querier expiry time out.
[vlan vlan_id] querier timer expiry value
Step 8 Switch(config)# ip igmp snooping Configures IGMP Snooping Querier tcn query count.
[vlan vlan_id] querier tcn query count
value
Step 9 Switch(config)# ip igmp snooping Configures IGMP Snooping Querier tcn query interval.
[vlan vlan_id] querier tcn query interval
value
Step 10 Switch(config)# end Returns to privileged EXEC mode.
For an example of how to display Querier information, refer to the “Displaying IGMP Snooping Querier
Information” section on page 21-19.
Command Purpose
Switch(config)# [no] ip igmp snooping vlan Enables EHT on a VLAN.
vlan_ID explicit-tracking
The no keyword disables EHT.
This example shows how to disable IGMP EHT on VLAN 200 and to verify the configuration:
Switch# configure terminal
Switch(config)# no ip igmp snooping vlan 200 explicit-tracking
Switch(config)# end
Switch# show ip igmp snooping vlan 200 | include Explicit host tracking
Explicit host tracking : Disabled
Command Purpose
Switch(config-if)# ip igmp snooping vlan Configures a host statically in the VLAN.
vlan_ID static mac_address interface
interface_num Note This command cannot be configured to
receive traffic for specific source IP
addresses.
This example shows how to configure a host statically in VLAN 200 on interface FastEthernet 2/11:
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 200 static 0100.5e02.0203 interface fastethernet
2/11
Configuring port FastEthernet2/11 on group 0100.5e02.0203 vlan 200
Switch(config)# end
When the spanning tree protocol is running in a VLAN, a spanning tree topology change notification
(TCN) is issued by the root switch in the VLAN. A Catalyst 4500 series switch that receives a TCN in
a VLAN for which IGMP snooping has been enabled immediately enters into “multicast flooding mode”
for a period of time until the topology restabilizes and the new locations of all multicast receivers are
learned.
While in “multicast flooding mode,” IP multicast traffic is delivered to all ports in the VLAN, and not
restricted to those ports on which multicast group members have been detected.
Starting with Cisco IOS Release 12.1(11b)EW, you can manually prevent IP multicast traffic from being
flooded to a switchport by using the no ip igmp snooping tcn flood command on that port.
For trunk ports, the configuration applies to all VLANs.
By default, multicast flooding is enabled. Use the no keyword to disable flooding, and use default to
restore the default behavior (flooding is enabled).
To disable multicast flooding on an interface, perform this task:
Command Purpose
Step 1 Switch(config)# interface {fastethernet | Selects the interface to configure.
gigabitethernet | tengigabitethernet} slot/port
Step 2 Switch(config-if)# no ip igmp snooping tcn flood Disables multicast flooding on the interface when TCNs
are received by the switch.
To enable multicast flooding on the interface, enter this
command:
default ip igmp snooping tcn flood
Step 3 Switch(config)# end Exits configuration mode.
Step 4 Switch# show running interface {fastethernet | Verifies the configuration.
gigabitethernet | tengigabitethernet} slot/port
This example shows how to disable multicast flooding on interface FastEthernet 2/11:
Switch(config)# interface fastethernet 2/11
Switch(config-if)# no ip igmp snooping tcn flood
Switch(config-if)# end
Switch#
Command Purpose
Step 1 Switch(config)# Modifies the number of IGMP queries the switch waits
ip igmp snooping tcn flood query count <n> for before it stops flooding multicast traffic.
To return the switch to the default number of IGMP
queries, enter this command:
default ip igmp snooping tcn flood query count .
Step 2 Switch(config)# end Exits configuration mode.
This example shows how to modify the switch to stop flooding multicast traffic after four queries:
Switch(config)# ip igmp snooping tcn flood query count 4
Switch(config)# end
Switch#
When a spanning tree root switch receives a topology change in an IGMP snooping-enabled VLAN, the
switch issues a query solicitation that causes an IOS router to send out one or more general queries. The
new command ip igmp snooping tcn query solicit causes the switch to send the query solicitation
whenever it notices a topology change, even if that switch is not the spanning tree root.
This command operates at the global configuration level.
By default, query solicitation is disabled unless the switch is the spanning tree root. The default keyword
restores the default behavior.
To direct a switch to send a query solicitation, perform this task:
Command Purpose
Step 1 Switch(config)# ip igmp snooping tcn query Configures the switch to send a query solicitation when
solicit a TCN is detected.
To stop the switch from sending a query solicitation (if
it’s not a spanning tree root switch), enter this command:
no ip igmp snooping tcn query solicit
Step 2 Switch(config)# end Exits configuration mode.
This example shows how to configure the switch to send a query solicitation upon detecting a TCN:
Switch(config)# ip igmp snooping tcn query solicit
Switch(config)# end
Switch#
Command Purpose
Switch# show ip igmp snooping querier [vlan Displays multicast router interfaces.
vlan_ID]
This example shows how to display the IGMP snooping querier information for all VLANs on the
switch:
Switch# show ip igmp snooping querier
Vlan IP Address IGMP Version Port
---------------------------------------------------
2 10.10.10.1 v2 Router
3 172.20.50.22 v3 Fa3/15
This example shows how to display the IGMP snooping querier information for VLAN 3:
Switch# show ip igmp snooping querier vlan 3
Vlan IP Address IGMP Version Port
---------------------------------------------------
3 172.20.50.22 v3 Fa3/15
Note By default, EHT maintains a maximum of 1000 entries in the EHT database. Once this limit is reached,
no additional entries are created. To create additional entries, clear the database with the
clear ip igmp snooping membership vlan command.
Command Purpose
Switch# show ip igmp snooping membership Displays Explicit Host Tracking information.
[interface interface_num][vlan vlan_ID]
[reporter a.b.c.d] [source a.b.c.d group Note This command is valid only if EHT is
a.b.c.d] enabled on the switch.
This example shows how to display host membership information for VLAN 20 and to delete the EHT
database:
Switch# show ip igmp snooping membership vlan 20
#channels: 5
#hosts : 1
Source/Group Interface Reporter Uptime Last-Join Last-Leave
This example shows how to display host membership for interface gi4/1:
Switch# show ip igmp snooping membership interface gi4/1
#channels: 5
#hosts : 1
Source/Group Interface Reporter Uptime Last-Join Last-Leave
This example shows how to display host membership for VLAN 20 and group 224.10.10.10:
Switch# show ip igmp snooping membership vlan 20 source 40.40.40.2 group 224.10.10.10
#channels: 5
#hosts : 1
Source/Group Interface Reporter Uptime Last-Join Last-Leave
Command Purpose
Switch# show ip igmp snooping groups [vlan Displays groups, the type of reports that were
vlan_ID] received for the group (Host Type), and the list of
ports on which reports were received.
The report list includes neither the multicast router
ports nor the complete forwarding port set for the
group. Rather, it lists the ports on which the
reports have been received.
To display the complete forwarding port set for
the group, display the CLI output for the MAC
address that maps to this group by using the
show mac-address-table multicast command.
Switch# show ip igmp snooping groups [vlan Displays information specific to a group address,
vlan_ID a.b.c.d] [summary|sources|hosts] providing details about the current state of the
group with respect to sources and hosts.
Note This command applies only to full
IGMPv3 snooping support and can be used
for IGMPv1, IGMPv2, or IGMPv3 groups.
Switch# show ip igmp snooping groups [vlan Displays the total number of group addresses
vlan_ID] [count] learned by the system on a global or per-VLAN
basis.
This example shows how to display the host types and ports of a group in VLAN 1:
Switch# show ip igmp snooping groups vlan 10 226.6.6.7
Vlan Group Version Ports
---------------------------------------------------------
10 226.6.6.7 v3 Fa7/13, Fa7/14
Switch>
This example shows how to display the current state of a group with respect to a source IP address:
Switch# show ip igmp snooping groups vlan 10 226.6.6.7 sources
Source information for group 226.6.6.7:
Timers: Expired sources are deleted on next IGMP General Query
This example shows how to display the current state of a group with respect to a host MAC address:
Switch# show ip igmp snooping groups vlan 10 226.6.6.7 hosts
IGMPv3 host information for group 226.6.6.7
Timers: Expired hosts are deleted on next IGMP General Query
This example shows how to display summary information for an IGMPv3 group:
Switch# show ip igmp snooping groups vlan 10 226.6.6.7 summary
Group Address (Vlan 10) : 226.6.6.7
Host type : v3
Member Ports : Fa7/13, Fa7/14
Filter mode : INCLUDE
Expires : stopped
Sources : 2
Reporters (Include/Exclude) : 2/0
This example shows how to display the total number of group addresses learned by the system globally:
Switch# show ip igmp snooping groups count
Total number of groups: 54
This example shows how to display the total number of group addresses learned on VLAN 5:
Switch# show ip igmp snooping groups vlan 5 count
Total number of groups: 30
Command Purpose
Switch# show ip igmp snooping mrouter vlan Displays multicast router interfaces.
vlan_ID
This example shows how to display the multicast router interfaces in VLAN 1:
Switch# show ip igmp snooping mrouter vlan 1
vlan ports
-----+----------------------------------------
1 Gi1/1,Gi2/1,Fa3/48,Router
Switch#
Command Purpose
Switch# show mac-address-table multicast Displays MAC address multicast entries for a
vlan vlan_ID [count] VLAN.
This example shows how to display MAC address multicast entries for VLAN 1:
Switch# show mac-address-table multicast vlan 1
Multicast Entries
vlan mac address type ports
-------+---------------+-------+-------------------------------------------
1 0100.5e01.0101 igmp Switch,Gi6/1
1 0100.5e01.0102 igmp Switch,Gi6/1
1 0100.5e01.0103 igmp Switch,Gi6/1
1 0100.5e01.0104 igmp Switch,Gi6/1
1 0100.5e01.0105 igmp Switch,Gi6/1
1 0100.5e01.0106 igmp Switch,Gi6/1
Switch#
This example shows how to display a total count of MAC address entries for VLAN 1:
Switch# show mac-address-table multicast vlan 1 count
Multicast MAC Entries for vlan 1: 4
Switch#
Command Purpose
Switch# show ip igmp snooping vlan vlan_ID Displays IGMP snooping information on a VLAN
interface.
Vlan 5:
--------
IGMP snooping :Enabled
Immediate leave :Disabled
Explicit Host Tracking :Disabled
Multicast router learning mode :pim-dvmrp
CGMP interoperability mode :IGMP_ONLY
Command Purpose
Switch# show ip igmp snooping querier [vlan Displays the IGMP Snooping Querier state.
vlan_ID] [detail]
Note The IGMP filtering feature works for IGMPv1 and IGMPv2 only.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ip igmp profile profile Enters IGMP profile configuration mode, and assigns a
number number to the profile you are configuring. The range is from
1 to 4,294,967,295.
Step 3 Switch(config-igmp-profile)# permit | deny (Optional) Sets the action to permit or deny access to the IP
multicast address. If no action is configured, the default for
the profile is to deny access.
Step 4 Switch(config-igmp-profile)# range ip Enters the IP multicast address or range of IP multicast
multicast address addresses to which access is being controlled. If entering a
range, enter the low IP multicast address, a space, and the
high IP multicast address.
Use the range command multiple times to enter multiple
addresses or ranges of addresses.
Step 5 Switch(config-igmp-profile)# end Returns to privileged EXEC mode.
Step 6 Switch# show ip igmp profile profile number Verifies the profile configuration.
Step 7 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
To delete a profile, use the no ip igmp profile profile number global configuration command.
To delete an IP multicast address or range of IP multicast addresses, use the no range ip multicast
address IGMP profile configuration command.
This example shows how to create IGMP profile 4 (allowing access to the single IP multicast address)
and how to verify the configuration. If the action were to deny (the default), it would not appear in the
show ip igmp profile command output.
Switch# configure terminal
Switch(config)# ip igmp profile 4
Switch(config-igmp-profile)# permit
Switch(config-igmp-profile)# range 229.9.9.0
Switch(config-igmp-profile)# end
Note You can apply IGMP profiles to Layer 2 ports only. You cannot apply IGMP profiles to routed ports (or
SVIs) or to ports that belong to an EtherChannel port group.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Enters interface configuration mode, and enter the physical
interface to configure, for example fastethernet2/3. The interface
must be a Layer 2 port that does not belong to an EtherChannel
port group.
Step 3 Switch(config-if)# ip igmp filter profile Applies the specified IGMP profile to the interface. The profile
number number can be from 1 to 4,294,967,295.
Step 4 Switch(config-if)# end Returns to privileged EXEC mode.
Step 5 Switch# show running configuration Verifies the configuration.
interface interface-id
Step 6 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
Note This restriction applies to Layer 2 ports only. You cannot set a maximum number of IGMP groups on
routed ports (or SVIs) or on ports that belong to an EtherChannel port group.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Enters interface configuration mode, and enter the physical
interface to configure, for example gigabitethernet1/1. The
interface must be a Layer 2 port that does not belong to an
EtherChannel group.
Step 3 Switch(config-if)# ip igmp max-groups Sets the maximum number of IGMP groups that the interface can
number join. The range is from 0 to 4,294,967,294. By default, no
maximum is set.
To remove the maximum group limitation and return to the
default of no maximum, use the no ip igmp max-groups
command.
Step 4 Switch(config-if)# end Returns to privileged EXEC mode.
Step 5 Switch# show running-configuration Verifies the configuration.
interface interface-id
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to limit the number of IGMP groups that an interface can join to 25:
Switch# configure terminal
Switch(config)# interface fastethernet2/12
Switch(config-if)# ip igmp max-groups 25
Switch(config-if)# end
Switch# show running-config interface fastethernet2/12
Building configuration...
Command Purpose
Switch# show ip igmp profile [profile number] Displays the specified IGMP profile or all IGMP profiles defined
on the switch.
Command Purpose
Switch# show running-configuration [interface Displays the configuration of the specified interface or all
interface-id] interfaces on the switch, including (if configured) the maximum
number of IGMP groups to which an interface can belong and the
IGMP profile applied to the interface.
This is an example of the show ip igmp profile privileged EXEC command when no profile number is
entered. All profiles defined on the switch are displayed.
Switch# show ip igmp profile
IGMP Profile 3
range 230.9.9.0 230.9.9.0
IGMP Profile 4
permit
range 229.9.9.0 229.255.255.255
This is an example of the show running-config privileged EXEC command when an interface is
specified with IGMP maximum groups configured and IGMP profile 4 has been applied to the interface:
Switch# show running-config interface fastethernet2/12
Building configuration...
Current configuration : 123 bytes
!
interface FastEthernet2/12
no ip address
shutdown
snmp trap link-status
ip igmp max-groups 25
ip igmp filter 4
end
Multicast Listener Discovery (MLD) snooping allows you to enable efficient distribution of IP version 6
(IPv6) multicast data to clients and routers in a switched network on the Catalyst 4500 series switch.
This chapter includes these sections:
• About MLD Snooping, page 22-1
• Configuring IPv6 MLD Snooping, page 22-5
• Displaying MLD Snooping Information, page 22-11
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
MLD is a protocol used by IPv6 multicast routers to discover the presence of multicast listeners (nodes
wishing to receive IPv6 multicast packets) on its directly attached links and to discover which multicast
packets are of interest to neighboring nodes. MLD is derived from IGMP; MLD version 1 (MLDv1) is
equivalent to IGMPv2 and MLD version 2 (MLDv2) is equivalent to IGMPv3. MLD is a subprotocol of
Internet Control Message Protocol version 6 (ICMPv6), and MLD messages are a subset of ICMPv6
messages, identified in IPv6 packets by a preceding Next Header value of 58.
The switch supports two versions of MLD snooping:
• MLDv1 snooping detects MLDv1 control packets and sets up traffic bridging based on IPv6
destination multicast addresses.
• MLDv2 basic snooping (MBSS) uses MLDv2 control packets to set up traffic forwarding based on
IPv6 destination multicast addresses.
The switch can snoop on both MLDv1 and MLDv2 protocol packets and bridge IPv6 multicast data
based on destination IPv6 multicast addresses.
Note The switch does not support MLDv2 enhanced snooping (MESS), which sets up IPv6 source and
destination multicast address-based forwarding.
MLD snooping can be enabled or disabled globally or per VLAN. When MLD snooping is enabled, a
per-VLAN IPv6 multicast MAC address table is constructed in software and a per-VLAN IPv6 multicast
address table is constructed in software and hardware. The switch then performs IPv6 multicast-address
based bridging in hardware.
These sections describe some parameters of IPv6 MLD snooping:
• MLD Messages, page 22-2
• MLD Queries, page 22-3
• Multicast Client Aging Robustness, page 22-3
• Multicast Router Discovery, page 22-3
• MLD Reports, page 22-4
• MLD Done Messages and Immediate-Leave, page 22-4
• Topology Change Notification Processing, page 22-4
MLD Messages
MLDv1 supports three types of messages:
• Listener Queries are the equivalent of IGMPv2 queries and are either General Queries or
Multicast-Address-Specific Queries (MASQs).
• Multicast Listener Reports are the equivalent of IGMPv2 reports
• Multicast Listener Done messages are the equivalent of IGMPv2 leave messages.
MLDv2 supports MLDv2 queries and reports, as well as MLDv1 Report and Done messages.
Message timers and state transitions resulting from messages being sent or received are the same as those
of IGMPv2 messages. MLD messages that do not have valid link-local IPv6 source addresses are ignored
by MLD routers and switches.
MLD Queries
The switch sends out MLD queries, constructs an IPv6 multicast address database, and generates MLD
group-specific and MLD group-and-source-specific queries in response to MLD Done messages. The
switch also supports report suppression, report proxying, Immediate-Leave functionality, and static IPv6
multicast MAC-address configuration.
When MLD snooping is disabled, all MLD queries are flooded in the ingress VLAN.
When MLD snooping is enabled, received MLD queries are flooded in the ingress VLAN, and a copy of
the query is sent to the CPU for processing. From the received query, MLD snooping builds the IPv6
multicast address database. It detects multicast router ports, maintains timers, sets report response time,
learns the querier IP source address for the VLAN, learns the querier port in the VLAN, and maintains
multicast-address aging.
When a group exists in the MLD snooping database, the switch responds to a group-specific query by
sending an MLDv1 report. When the group is unknown, the group-specific query is flooded to the
ingress VLAN.
When a host wants to leave a multicast group, it can send out an MLD Done message (equivalent to
IGMP Leave message). When the switch receives an MLDv1 Done message, if Immediate- Leave is not
enabled, the switch sends an MASQ to the port from which the message was received to determine if
other devices connected to the port should remain in the multicast group.
MLD Reports
The processing of MLDv1 join messages is essentially the same as with IGMPv2. When no IPv6
multicast routers are detected in a VLAN, reports are not processed or forwarded from the switch. When
IPv6 multicast routers are detected and an MLDv1 report is received, an IPv6 multicast group address
and an IPv6 multicast MAC address are entered in the VLAN MLD database. Then all IPv6 multicast
traffic to the group within the VLAN is forwarded using this address. When MLD snooping is disabled,
reports are flooded in the ingress VLAN.
When MLD snooping is enabled, MLD report suppression, called listener message suppression, is
automatically enabled. With report suppression, the switch forwards the first MLDv1 report received by
a group to IPv6 multicast routers; subsequent reports for the group are not sent to the routers. When
MLD snooping is disabled, report suppression is disabled, and all MLDv1 reports are flooded to the
ingress VLAN.
The switch also supports MLDv1 proxy reporting. When an MLDv1 MASQ is received, the switch
responds with MLDv1 reports for the address on which the query arrived if the group exists in the switch
on another port and if the port on which the query arrived is not the last member port for the address.
configuration command. The default is to send two queries. The switch also generates MLDv1 global
Done messages with valid link-local IPv6 source addresses when the switch becomes the STP root in the
VLAN or when it is configured by the user. This is same as done in IGMP snooping.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ipv6 mld snooping Globally enables MLD snooping on the switch.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To globally disable MLD snooping on the switch, use the no ipv6 mld snooping global configuration
command.
To enable MLD snooping on a VLAN, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ipv6 mld snooping Globally enables MLD snooping on the switch.
Step 3 Switch(config)# ipv6 mld snooping vlan Enables MLD snooping on the VLAN.The VLAN ID range is 1 to
vlan-id 1001 and 1006 to 4094.
Note MLD snooping must be globally enabled for VLAN snooping
to be enabled.
Command Purpose
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To disable MLD snooping on a VLAN interface, use the no ipv6 mld snooping vlan vlan-id global
configuration command for the specified VLAN number.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode
Step 2 Switch(config)# ipv6 mld snooping vlan Statically configures a multicast group with a Layer 2 port as a
vlan-id static ipv6_multicast_address member of a multicast group:
interface interface-id
• vlan-id is the multicast group VLAN ID. The VLAN ID
range is 1 to 1001 and 1006 to 4094.
• ipv6_multicast_address is the 128-bit group IPv6 address.
The address must be in the form specified in RFC 2373.
• interface-id is the member port. It can be a physical
interface or a port channel (1 to 64).
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show mac-address-table multicast Verifies the static member port and the IPv6 address.
mld-snooping
Step 5 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
To remove a Layer 2 port from the multicast group, use the no ipv6 mld snooping vlan vlan-id static
mac-address interface interface-id global configuration command. If all member ports are removed
from a group, the group is deleted.
This example shows how to statically configure an IPv6 MAC address:
Switch# configure terminal
Switch(config)# ipv6 mld snooping vlan 2 static 3333.0000.0003 interface
gigabitethernet1/1
Switch(config)# end
Note Static connections to multicast routers are supported only on switch ports.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ipv6 mld snooping vlan Specifies the multicast router VLAN ID, and specify the
vlan-id mrouter interface interface-id interface to the multicast router.
• The VLAN ID range is 1 to 1001 and 1006 to 4094.
• The interface can be a physical interface or a port channel.
The port-channel range is 1 to 64.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show ipv6 mld snooping mrouter Verifies that IPv6 MLD snooping is enabled on the VLAN
[vlan vlan-id] interface.
Step 5 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
To remove a multicast router port from the VLAN, use the no ipv6 mld snooping vlan vlan-id mrouter
interface interface-id global configuration command.
This example shows how to add a multicast router port to VLAN 200:
Switch# configure terminal
Switch(config)# ipv6 mld snooping vlan 200 mrouter interface gigabitethernet1/0/2
Switch(config)# exit
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ipv6 mld snooping Enables MLD Immediate Leave on the VLAN interface.
vlan vlan-id immediate-leave
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show ipv6 mld snooping vlan Verifies that Immediate Leave is enabled on the VLAN interface.
vlan-id
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To disable MLD Immediate Leave on a VLAN, use the no ipv6 mld snooping vlan vlan-id
immediate-leave global configuration command.
This example shows how to enable MLD Immediate Leave on VLAN 130:
Switch# configure terminal
Switch(config)# ipv6 mld snooping vlan 130 immediate-leave
Switch(config)# exit
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ipv6 mld snooping (Optional) Sets the number of queries that are sent before switch delete
robustness-variable value a listener (port) that does not respond to a general query. The range is
1 to 3; the default is 2.
Step 3 Switch(config)# ipv6 mld snooping (Optional) Sets the robustness variable on a VLAN basis, which
vlan vlan-id robustness-variable value determines the number of general queries that MLD snooping sends
before aging out a multicast address when there is no MLD report
response. The range is 1 to 3; the default is 0. When set to 0, the number
used is the global robustness variable value.
Step 4 Switch(config)# ipv6 mld snooping (Optional) Sets the number of MASQs that the switch sends before
last-listener-query-count count aging out an MLD client. The range is 1 to 7; the default is 2. The
queries are sent 1 second apart.
Step 5 Switch(config)# ipv6 mld snooping (Optional) Sets the last-listener query count on a VLAN basis. This
vlan vlan-id last-listener-query-count value overrides the value configured globally. The range is 1 to 7; the
count
default is 0. When set to 0, the global count value is used. Queries are
sent 1 second apart.
Step 6 Switch(config)# ipv6 mld snooping (Optional) Sets the maximum response time that the switch waits after
last-listener-query-interval interval sending out a MASQ before deleting a port from the multicast group.
The range is 100 to 32,768 thousands of a second. The default is 1000
(1 second).
Step 7 Switch(config)# ipv6 mld snooping (Optional) Sets the last-listener query interval on a VLAN basis. This
vlan vlan-id value overrides the value configured globally. The range is 0 to 32,768
last-listener-query-interval interval
thousands of a second. The default is 0. When set to 0, the global
last-listener query interval is used.
Step 8 Switch(config)# ipv6 mld snooping tcn (Optional) Enables topology change notification (TCN) solicitation,
query solicit which means that VLANs flood all IPv6 multicast traffic for the
configured number of queries before sending multicast data to only
those ports requesting to receive it. The default is for TCN to be
disabled.
Step 9 Switch(config)# ipv6 mld snooping tcn (Optional) When TCN is enabled, specifies the number of TCN queries
flood query count count to be sent. The range is from 1 to 10; the default is 2.
Command Purpose
Step 10 Switch(config)# end Returns to privileged EXEC mode.
Step 11 Switch# show ipv6 mld snooping (Optional) Verifies that the MLD snooping querier information for the
querier [vlan vlan-id ] switch or for the VLAN.
Step 12 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to set the MLD snooping global robustness variable to 3:
Switch# configure terminal
Switch(config)# ipv6 mld snooping robustness-variable 3
Switch(config)# exit
This example shows how to set the MLD snooping last-listener query count for a VLAN to 3:
Switch# configure terminal
Switch(config)# ipv6 mld snooping vlan 200 last-listener-query-count 3
Switch(config)# exit
This example shows how to set the MLD snooping last-listener query interval (maximum response time)
to 2000 (2 seconds):
Switch# configure terminal
Switch(config)# ipv6 mld snooping last-listener-query-interval 2000
Switch(config)# exit
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# no ipv6 mld snooping Disables MLD message suppression.
listener-message-suppression
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show ipv6 mld snooping Verifies that IPv6 MLD snooping report suppression is
disabled.
Step 5 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
To re-enable MLD message suppression, use the ipv6 mld snooping listener-message-suppression
global configuration command.
Command Purpose
show ipv6 mld snooping [vlan vlan-id] Displays the MLD snooping configuration information for all VLANs
on the switch or for a specified VLAN.
(Optional) Enter vlan vlan-id to display information for a single VLAN.
The VLAN ID range is 1 to 1001 and 1006 to 4094.
show ipv6 mld snooping mrouter [vlan vlan-id] Displays information on dynamically learned and manually configured
multicast router interfaces. When you enable MLD snooping, the switch
automatically learns the interface to which a multicast router is
connected. These are dynamically learned interfaces.
(Optional) Enter vlan vlan-id to display information for a single VLAN.
The VLAN ID range is 1 to 1001 and 1006 to 4094.
show ipv6 mld snooping querier [vlan Displays information about the IPv6 address and incoming port for the
vlan-id] most-recently received MLD query messages in the VLAN.
(Optional) Enter vlan vlan-id to display information for a single
VLAN.The VLAN ID range is 1 to 1001 and 1006 to 4094.
This chapter describes how to configure the Link Layer Discovery Protocol (LLDP) and LLDP Media
Endpoint Discovery (LLDP-MED) on the Catalyst 4500 series switch.
Note For complete syntax and usage information for the commands used in this chapter, see the command
reference for this release and the “System Management Commands” section in the Cisco IOS
Configuration Fundamentals Command Reference, Release 12.2.
Understanding LLDP
The Cisco Discovery Protocol (CDP) is a device discovery protocol that runs over Layer 2 (the data link
layer) on all Cisco-manufactured devices (routers, bridges, access servers, and switches). CDP allows
network management applications to automatically discover and learn about other Cisco devices
connected to the network.
To support non-Cisco devices and to allow for interoperability between other devices, the switch
supports the IEEE 802.1AB LLDP. LLDP is a neighbor discovery protocol that is used for network
devices to advertise information about themselves to other devices on the network. This protocol runs
over the data-link layer, which allows two systems running different network layer protocols to learn
about each other.
LLDP supports a set of attributes that it uses to discover neighbor devices. These attributes contain type,
length, and value descriptions and are referred to as TLVs. LLDP supported devices can use TLVs to receive
and send information to their neighbors. Details such as configuration information, device capabilities,
and device identity can be advertised using this protocol.
The switch supports the following basic management TLVs, which are optional:
• Port description TLV
• System name TLV
• System description TLV
• System capabilities TLV
• Management address TLV
• Power Management TLV
These organizationally specific LLDP TLVs are also advertised to support LLDP-MED.
• Port VLAN ID TLV ((IEEE 802.1 organizationally specific TLVs)
• MAC/PHY configuration/status TLV(IEEE 802.3 organizationally specific TLVs)
Understanding LLDP-MED
LLDP for Media Endpoint Devices (LLDP-MED) is an extension to LLDP that operates between
endpoint devices such as IP phones and network devices such as switches. It specifically provides
support for voice over IP (VoIP) applications and provides additional TLVs for capabilities discovery,
network policy, Power over Ethernet, inventory management, and location information. By default, all
LLDP-MED TLVs are enabled.
LLDP-MED supports these TLVs:
• LLDP-MED capabilities TLV
Allows LLDP-MED endpoints to determine the capabilities that the connected device supports and
what capabilities the device has enabled.
• Network policy TLV
Allows both network connectivity devices and endpoints to advertise VLAN configurations and
associated Layer 2 and Layer 3 attributes for the specific application on that port. For example, the
switch can notify a phone of the VLAN number that it should use. The phone can connect into any
switch, obtain its VLAN number, and then start communicating with the call control
• Power management TLV
Enables advanced power management between LLDP-MED endpoint and network connectivity
devices. Allows switches and phones to convey power information, such as how the device is
powered, power priority, and how much power the device needs.
Note Power Management TLV only exchanges power information; it does not perform power
negotiation, which is handled by CDP.
• Location TLV
Provides location information from the switch to the endpoint device. The location TLV can send
this information:
– Civic location information
Provides the civic address information and postal information. Examples of civic location
information are street address, road name, and postal community name information.
– ELIN location information
Provides the location information for a caller. The location is determined by the Emergency
location identifier number (ELIN), which is a phone number that routes an emergency call to
the local public safety answering point (PSAP) and which the PSAP can use to call back the
emergency caller.
Note A switch cannot send LLDP and LLDP-MED simultaneously to an end-point device. By default, a
network device sends only LLDP packets until it receives LLDP-MED packets from an end-point device.
The network device then sends LLDP-MED packets until it receives only LLDP packets.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# lldp holdtime (Optional) Specifies the amount of time a receiving device should hold the
seconds information sent by your device before discarding it.
The range is 0 to 65535 seconds; the default is 120 seconds.
Step 3 Switch(config)# lldp reinit (Optional) Specific the delay time in seconds for LLDP to initialize on
any interface.
The range is 2 to 5 seconds; the default is 2 seconds.
Step 4 Switch(config)# lldp timer seconds (Optional) Sets the transmission frequency of LLDP updates in seconds.
The range is 5 to 65534 seconds; the default is 30 seconds.
Step 5 Switch(config)# lldp tlv-select (Optional) Specifies the LLDP TLVs to send or receive.
Step 6 Switch(config)# copy running-config Saves your entries in the configuration file.
startup-config
Step 7 Switch(config)# lldp med-tlv-select (Optional) Specifies the LLDP-MED TLVs to send or receive.
Note Use the no form of each of the LLDP commands to return to the default setting.
This example shows how to configure a holdtime of 120 second, a delay time of 2 seconds and an update
frequency of 30:
Switch# configure terminal
Switch(config)# lldp holdtime 120
Switch(config)# lldp reinit 2
Switch(config)# lldp timer 30
Switch(config)# end
For additional LLDP show commands, see the “Monitoring and Maintaining LLDP and LLDP-MED”
section on page 23-10.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# no lldp run Disables LLDP.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# lldp run Enables LLDP.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Specifies the interface on which you are disabling LLDP, and enter
interface configuration mode.
Step 3 Switch(config)# no lldp transmit Disallows sending LLDP packets on the interface.
Step 4 Switch(config)# no lldp receive Disallows receiving LLDP packets on the interface.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch(config)# copy running-config Saves your entries in the configuration file.
startup-config
To enable LLDP on an interface once it has been disabled, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Specifies the interface on which you are enabling LLDP, and enter
interface configuration mode.
Step 3 Switch(config)# lldp transmit Sends LLDP packets on the interface.
Step 4 Switch(config)# lldp receive Receives LLDP packets on the interface.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch# copy running-config Saves your entries in the configuration file.
startup-config
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Specifies the interface on which you are configuring a LLDP-MED
TLV, and enter interface configuration mode.
Step 3 Switch(config-if)# no lldp Specifies the TLV to disable.
med-tlv-select tlv
Step 4 Switch(config-if)# end Returns to privileged EXEC mode.
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Specifies the interface on which you are configuring an LLDP-MED
TLV, and enter interface configuration mode.
Step 3 Switch(config-if)# lldp med-tlv-select Specifies the TLV to enable.
tlv
Step 4 Switch(config-if)# end Returns to privileged EXEC mode.
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to enable a TLV on an interface when it has been disabled.
Switch# configure terminal
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# lldp med-tlv-select inventory management
Switch(config-if)# end
Note To verify inline power utilization negotiated by using LLDP using the LLDP-MED TLV, use the
show lldp neighbors detail command. To verify inline power utilization negotiated by using the IEEE
802.3at TLV, use the show power inline interface detail command. The show power inline interface
detail command does not display power negotiated with LLDP.
Note When an inline powered device that performs power negotiation using multiple protocols (CDP/LLDP
802.3at/LLDP-MED) is connected to a switch, the switch "locks" to the first protocol packet (CDP or
LLDP) that contains the power negotiation TLV. The LLDP 802.3at power negotiation TLV overrides
the LLDP-MED power negotiation TLV if both are received by the switch. If the administrator needs to
use any single protocol for power negotiation each time, he needs to administratively disable the other
power negotiation protocols on the switch interface or the end device.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Specifies the interface on which you are configuring LLDP power
negotiation.
Step 3 Switch(config-if)# lldp tlv-select Enables LLDP power negotiation.
power-management
Step 4 Switch(config-if)# end Returns to privileged EXEC mode.
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to enable LLDP power negotiation on interface Gigabit Ethernet 3/1:
Switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# int gi 3/1
Switch(config-if)# lldp tlv-select power-management
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# location {admin-tag Specifies the location information for an endpoint.
string | civic-location identifier id |
elin-location string identifier id} • admin-tag—Specify an administrative tag or site information.
• civic-location—Specify civic location information.
Note The civic location identifier in the LLDP-MED TLV is
limited to 250 bytes or less. To avoid receiving error
messages regarding available buffer space during switch
configuration, never allow the total length of all civic location
information specified for each civic-location identifier to
exceed 250 bytes.
Command Description
clear lldp counters Resets the traffic and error counters to zero.
clear lldp table Deletes the LLDP table of information about neighbors.
show lldp Displays global information, such as frequency of transmissions, the holdtime for
packets being sent, and the delay time for LLDP to initialize on an interface.
show lldp entry entry-name Displays information about a specific neighbor.
You can enter an asterisk (*) to display all neighbors, or you can enter the name
of the neighbor about which you want information.
show lldp errors Displays LLDP computational errors and overflows.
show lldp interface [interface-id] Displays information about interfaces where LLDP is enabled.
You can limit the display to the interface about which you want information.
show lldp neighbors [interface-id] Displays information about neighbors, including device type, interface type and
[detail] number, holdtime settings, capabilities, and port ID.
You can limit the display to neighbors of a specific interface or expand the display
to provide more detailed information.
show lldp traffic Displays LLDP counters, including the number of packets sent and received,
number of packets discarded, and number of unrecognized TLVs.
show location Displays the location information for an endpoint.
show power inline interface [detail] Displays detailed information on the PoE status for the interface
show power inline module mod Displays detailed information on the PoE consumption for the specified module.
[detail]
Feature guides document features that are supported on many different software releases and platforms.
Your Cisco software release or platform may not support all the features documented in a feature guide.
See the Feature Information table at the end of the feature guide for information about which features in
that guide are supported in your software release. Use Cisco Feature Navigator to find information about
platform support and Cisco software image support. To access Cisco Feature Navigator, go to
http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
ANSI TIA-1057 LLDP-MED Support and IEEE 802.1ab LLDP (Link Layer Discovery Protocol)
http://www.cisco.com/en/US/docs/ios/cether/configuration/guide/ce_lldp-med.html
This chapter describes how to configure the UniDirectional Link Detection (UDLD) and Unidirectional
Ethernet on the Catalyst 4500 series witch. It also provides guidelines, procedures, and configuration
examples.
This chapter includes the following major sections:
• About UDLD, page 24-1
• Default UDLD Configuration, page 24-2
• Configuring UDLD on the Switch, page 24-3
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
About UDLD
UDLD is a layer 2 protocol that enables devices connected through fiber-optic or twisted-pair Ethernet
cables. It monitors a physical connection (such as wrong cabling) to detect unidirectional links to avoid
spanning-tree topology loops or silent drop traffic.
All connected devices must support UDLD for the protocol to successfully identify the unidirectional
links. When UDLD detects a unidirectional link, it can administratively shut down the affected port and
send you a warning message.
Modes of Operation
UDLD supports two operation modes: normal and aggressive.
normal A UDLD-capable port A periodically sends a UDLD probe to port B. If port B is not UDLD
capable, no unidirectional link detection occurs. If both devices are UDLD capable and
bi-directional connectivity exists, probe messages travel in both direction at a rate of 1 every few
seconds (through the UDLD message time interval global configuration command). Upon
receiving the probe, the UDLD protocol attempts to synchronize the devices by sending echo
messages to the peer port and waiting for answer during the detection window. If the unidirectional
traffic is detected when the port link is still up (port B no longer sends traffic to port A), port B enters
errdisable mode. Port A is marked Undetermined but does not enter errdisable mode. It continues to
operate under its current STP status because this mode is informational only; it is potentially less
disruptive although it does not prevent STP loops.
aggressive If port A loses its neighbor connectivity, it actively tries to re-establish the relationship
by sending a probe to port B. If port B does not respond, it is considered unidirectional and port A
enters errdisable state to avoid silent drop traffic.
UDLD aggressive mode can interoperate with UDLD normal mode. When the unidirectional
condition is detected, only the aggressive mode link shuts down.
By default,
• UDLD is locally disabled on copper LAN ports to avoid sending unnecessary control traffic (BPDU
control packets) on this type of media; this protocol is most often used for access ports.
• UDLD is enabled on a fiber port if global UDLD is activated.
Figure 24-1 illustrates a unidirectional link condition. Each switch can send packets to a neighbor switch
but cannot receive packets from the switch 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
Command Purpose
Step 1 Switch# configure terminal Enters the global configuration mode.
Step 2 Switch(config)# udld {aggressive | enable | Specifies the UDLD mode of operation:
message time message-timer-interval}
• aggressive Enables UDLD in aggressive mode on all
fiber-optic interfaces.
• enable Enables UDLD in normal mode on all
fiber-optic interfaces on the switch. UDLD is
disabled by default.
An individual interface configuration overrides the
setting of the udld enable global configuration
command.
For more information about aggressive and normal
modes, see the Modes of Operation, page 24-1
section.
• message time message-timer-interval-Configures
the period of time between UDLD probe messages
on ports that are in the advertisement phase and are
determined to be bidirectional. The range is from 1
to 90 seconds.
Note Prior to Cisco IOS Release 12.2(31)SGA, the
timer range is 7 to 90 seconds. With
Cisco IOS Release 12.2(31)SGA, the timer range
is 1 to 90 seconds
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show udld Verifies the configuration.
Command Purpose
Step 1 Switch(config-if)# udld enable Enables UDLD on a specific interface. On a fiber-optic
interface, this command overrides the udld enable global
configuration command setting.
Step 2 Switch# show udld interface Verifies the configuration.
Command Purpose
Step 1 Switch(config-if)# no udld enable Disables UDLD on a non-fiber-optic interface.
Note On fiber-optic interfaces, the no udld enable
command reverts the interface configuration to
the udld enable global configuration command
setting.
Step 2 Switch# show udld interface Verifies the configuration.
Command Purpose
Step 1 Switch(config)# udld message time interval Configures the time between UDLD probe messages on
ports that are in advertisement mode and are currently
determined to be bidirectional; valid values are from 1 to
90 seconds.
Note Prior to Cisco IOS Release 12.2(31)SGA, the
time interval is 7-90 seconds. With
Cisco IOS Release 12.2(31)SGA, the time
interval is 1-90 second.
Command Purpose
Switch(config)# udld reset Resets all LAN ports that have been shut down by UDLD.
This chapter describes how to configure Unidirectional Ethernet on the Catalyst 4000 family switch and
contains these sections:
• About Unidirectional Ethernet, page 25-1
• Configuring Unidirectional Ethernet, page 25-2
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Command Purpose
Step 1 Switch(config)# interface {vlan vlan_ID | Selects the interface to configure.
{fastethernet | gigabitethernet |
tengigabitethernet} slot/interface | Port-channel
number}
Step 2 Switch(config-if)# [no] unidirectional {send-only Enables Unidirectional Ethernet.
| receive-only}
Use the no keyword to disable Unidirectional Ethernet.
Step 3 Switch(config-if)# end Exits configuration mode.
Step 4 Switch# show interface {vlan vlan_ID | Verifies the configuration.
{fastethernet | gigabitethernet |
tengigabitethernet} slot/interface}
unidirectional
This example shows how to set Gigabit Ethernet interface 1/1 to unidirectionally send traffic:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet 1/1
Switch(config-if)# unidirectional send-only
Switch(config-if)# end
Warning!
This example shows how to set Gigabit Ethernet interface 1/1 to receive traffic unidirectionally:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet 1/1
Switch(config-if)# unidirectional receive-only
Switch(config-if)# end
Warning!
This example shows how to disable Unidirectional Ethernet on Gigabit Ethernet interface 1/1:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet 1/1
Switch(config-if)# no unidirectional
Switch(config-if)# end
This example shows the result of issuing the show interface command for a port that does not support
Unidirectional Ethernet:
Switch#show interface f6/1 unidirectional
Unidirectional Ethernet is not supported on FastEthernet6/1
This chapter describes the Layer 3 interfaces on a Catalyst 4500 series switch. It also provides
guidelines, procedures, and configuration examples.
This chapter includes the following major sections:
• Overview of Layer 3 Interfaces, page 26-1
• Configuration Guidelines, page 26-4
• Configuring Logical Layer 3 VLAN Interfaces, page 26-5
• Configuring VLANs as Layer 3 Interfaces, page 26-6
• Configuring Physical Layer 3 Interfaces, page 26-10
• Configuring EIGRP Stub Routing, page 26-11
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Layer 2, the data link layer, contains the protocols that control the physical layer (Layer 1) and how data
is framed before being transmitted on the medium. The Layer 2 function of filtering and forwarding data
in frames between two segments on a LAN is known as bridging.
The Catalyst 4500 series switch supports two types of Layer 3 interfaces. The logical Layer 3 VLAN
interfaces integrate the functions of routing and bridging. The physical Layer 3 interfaces allow the
Catalyst 4500 series switch to be configured like a traditional router.
Figure 26-1 Logical Layer 3 VLAN Interfaces for the Catalyst 4500 Series Switch
Router Routing
VLAN1 VLAN2
94169
between VLANS Catalyst 4500 series switch
Figure 26-2 Physical Layer 3 Interfaces for the Catalyst 4500 Series Switch
Router
Host 1 Host 2
94168
Physical Inter-VLAN Routing on a Catalyst 4500 series switch
Note The protocol line state for the VLAN interfaces comes up when the first switchport belonging to the
corresponding VLAN link comes up and is in spanning-tree forwarding state.
Ordinarily, when a VLAN interface has multiple ports in the VLAN, the SVI goes down when all the
ports in the VLAN goes down. The SVI Autostate exclude feature provides a knob to mark a port so that
it is not counted in the SVI “up and down” calculation and applies to all VLANs that are enabled on that
port.
A VLAN interface is brought up after the Layer 2 port has had time to converge (that is, transition from
listening-learning to forwarding). This prevents routing protocols and other features from using the
VLAN interface as if it were fully operational. This also prevents other problems from occurring, such
as routing black holes.
Note Supervisor Engine 7-E does not support Layer 2 Interface Counters. However, it does support Layer 3
(SVI) Interface Counters.
With Supervisor Engine 6-E, IPv4 and v6 packets are routed in hardware by the forwarding engine. This
engine supports statistics for counting routed packets for up to 4095 interfaces. These statistics include:
• Input unicast
• Input multicast
• Output unicast
• Output multicast
For each type of counter, both the number of packets and the total number of bytes received or
transmitted are counted.
Because the total number of counters supported is lower than the total number of Layer 3 interfaces
supported, it is not always possible for all Layer 3 interfaces to have counters. For this reason, the user
assigns counters to Layer 3 interfaces, and the default configuration for a Layer 3 interface has no
counters.
Note To enable Layer 3 Interface Counters, you need to issue the counter command in interface mode. Refer
to the “Configuring Layer 3 Interface Counters” section on page 26-9 for instructions on how to
configure Layer 3 Interface Counters.
These hardware counters are displayed in the output of the show interface command. For example:
Switch# show interface vlan 1
Vlan1 is up, line protocol is up
Hardware is Ethernet SVI, address is 0005.9a38.6cff (bia 0005.9a38.6cff)
Internet address is 10.0.0.1/8
MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive not supported
ARP type: ARPA, ARP Timeout 04:00:00
Last input never, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
L3 in Switched: ucast: 0 pkt, 0 bytes - mcast: 0 pkt, 0 bytes <====
L3 out Switched: ucast: 0 pkt, 0 bytes - mcast: 0 pkt, 0 bytes <====
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
1 packets output, 46 bytes, 0 underruns
0 output errors, 0 interface resets
0 output buffer failures, 0 output buffers swapped out
Configuration Guidelines
The Catalyst 4500 series switch supports AppleTalk routing and IPX routing. For AppleTalk routing and
IPX routing information, refer to “Configuring AppleTalk” and “Configuring Novell IPX” in the
Cisco IOS AppleTalk and Novell IPX configuration guides at the following URLs:
http://www.cisco.com/en/US/docs/ios/at/configuration/guide/12_4/atk_12_4_book.html
http://www.cisco.com/en/US/docs/ios/novipx/configuration/guide/config_novellipx_ps6350_TSD_Pro
ducts_Configuration_Guide_Chapter.html
Note Supervisor Engine 7-E does not support AppleTalk and IPX routing.
A Catalyst 4500 series switch does not support subinterfaces or the encapsulation keyword on
Layer 3 Fast Ethernet, Gigabit Ethernet, TenGigabitEthernet interfaces.
Note As with any Layer 3 interface running Cisco IOS software, the IP address and network assigned to an
SVI cannot overlap those assigned to any other Layer 3 interface on the switch.
Command Purpose
Step 1 Switch(config)# vlan vlan_ID Creates the VLAN.
Step 2 Switch(config)# interface vlan vlan_ID Selects an interface to configure.
Step 3 Switch(config-if)# ip address ip_address subnet_mask Configures the IP address and IP subnet.
Step 4 Switch(config-if)# no shutdown Enables the interface.
Step 5 Switch(config-if)# end Exits configuration mode.
Step 6 Switch# copy running-config startup-config Saves your configuration changes to NVRAM.
Step 7 Switch# show interfaces [type slot/interface] Verifies the configuration.
Switch# show ip interfaces [type slot/interface]
Switch# show running-config interfaces [type
slot/interface]
Switch# show running-config interfaces vlan vlan_ID
This example shows how to configure the logical Layer 3 VLAN interface vlan 2 and assign an IP
address:
Switch> enable
Switch# config term
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan 2
Switch(config)# interface vlan 2
Switch(config-if)# ip address 10.1.1.1 255.255.255.248
Switch(config-if)# no shutdown
Switch(config-if)# end
This example uses the show interfaces command to display the interface IP address configuration and
status of Layer 3 VLAN interface vlan 2:
Switch# show interfaces vlan 2
Vlan2 is up, line protocol is down
Hardware is Ethernet SVI, address is 00D.588F.B604 (bia 00D.588F.B604)
Internet address is 172.20.52.106/29
MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
This example uses the show running-config command to display the interface IP address configuration
of Layer 3 VLAN interface vlan 2:
Switch# show running-config
Building configuration...
Current configuration : !
interface Vlan2
ip address 10.1.1.1 255.255.255.248
!
ip classless
no ip http server
!
!
line con 0
line aux 0
line vty 0 4
!
end
Note The SVI Autostate exclude feature is enabled by default and is synchronized with the STP state.
The SVI Autostate exclude feature shuts down (or brings up) the Layer 3 interfaces of a switch when the
following port configuration changes occur:
• When the last port on a VLAN goes down, the Layer 3 interface on that VLAN is shut down
(SVI- autostated).
• When the first port on the VLAN is brought back up, the Layer 3 interface on the VLAN that was
previously shut down is brought up.
SVI Autostate exclude enables you to exclude the access ports/trunks in defining the status of the SVI
(up or down) even if it belongs to the same VLAN. Moreover, even if the excluded access port/trunk is
in up state and other ports are in down state in the VLAN, the SVI state is changed to down.
At least one port in the VLAN should be up and not excluded to make the SVI state up. This helps to
exclude the monitoring port status when you are determining the status of the SVI.
To apply SVI Autostate exclude, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Enters interface configuration mode.
Step 3 Switch(config-if)# switchport autostate exclude Exclude the access ports/trunks in defining the status of
an SVI (up or down).
Step 4 Switch(config)# end Exits configuration mode.
Step 5 Switch# show run int g3/4 Displays the running configuration.
Step 6 Switch# show int g3/4 switchport Verifies the configuration.
The following example shows how to apply SVI Autostate Exclude on interface g3/1:
Switch# conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface g3/1
Switch(config-if)# switchport autostate exclude
Switch(config-if)# end
Switch# show run int g3/4
Building configuration...
Note To set the nonprotocol-specific MTU value for an interface, use the mtu interface configuration
command. Changing the MTU value (with the mtu interface configuration command) can affect the IP
MTU value. If the current IP MTU value matches the MTU value, and you change the MTU value, the
IP MTU value is modified automatically to match the new MTU. However, the reverse is not true;
changing the IP MTU value has no effect on the value for the mtu command.
For information on how to configure MTU size, refer to Configuring MTU Sizes, page 7-19.
To set the protocol-specific maximum transmission unit (MTU) size of IPv4 or IPv6 packets sent on an
interface, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Enters interface configuration mode.
Step 3 Switch(config-if)# [no] ip mtu mtu_size Configures the IPv4 MTU size
or
Switch(config-if)# [no] ipv6 mtu mtu_size
Configures the IPv6 MTU size.
The no form of the command reverts to the default MTU
size (1500 bytes).
.........................(continued)
Note When ipv6 is enabled on an interface via any CLI, it is possible to see the following message:
% Hardware MTU table exhausted In such a scenario, the ipv6 MTU value programmed in hardware
differs from the ipv6 interface MTU value. This happens if there is no room in the hardware MTU table
to store additional values. You must free up some space in the table by unconfiguring some unused MTU
values and subsequently disable/re-enable ipv6 on the interface or reapply the MTU configuration.
Note When a linecard is removed, the Layer 3 counters previously enabled on ports of that line card are
unconfigured. This means that to re-enable Layer 3 counters upon re-insertion of the linecard, you need
to reconfigure the counter CLI for Layer 3 ports of that line card.
To configure Layer 3 Interface Counters (assign counters to a Layer 3 interface), perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Enters interface configuration mode.
Step 3 Switch(config-if)# counter Enables counters.
Step 4 Switch(config)# end Exits configuration mode.
Step 5 Switch# show run interface interface-id Displays the running configuration.
Note To remove the counters, use the "no" form of the counter command.
If the maximum number of counters has already been assigned, the counter command fails and displays
an error message:
Switch# config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fa3/2
Switch(config-if)# no switchport
Switch(config-if)# counter
Counter resource exhausted
Switch(config-if)# end
Switch#
00:24:18: %SYS-5-CONFIG_I: Configured from console by console
In this situation, you must release a counter from another interface for use by the new interface.
Command Purpose
Step 1 Switch(config)#ip routing Enables IP routing (Required only if disabled.)
Step 2 Switch(config)# interface {fastethernet | Selects an interface to configure.
gigabitethernet | tengigabitethernet} slot/port}
| {port-channel port_channel_number}
Step 3 Switch(config-if)#no switchport Converts this port from physical Layer 2 port to physical
Layer 3 port.
Step 4 Switch(config-if)# ip address ip_address Configures the IP address and IP subnet.
subnet_mask
Step 5 Switch(config-if)# no shutdown Enables the interface.
Step 6 Switch(config-if)# end Exits configuration mode.
Command Purpose
Step 7 Switch# copy running-config startup-config Saves your configuration changes to NVRAM.
Step 8 Switch# show interfaces [type slot/interface] Verifies the configuration.
Switch# show ip interfaces [type slot/interface]
Switch# show running-config interfaces [type
slot/interface]
This example shows how to configure an IP address on Fast Ethernet interface 2/1:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip routing
Switch(config)# interface fastethernet 2/1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.1.1.1 255.255.255.248
Switch(config-if)# no shutdown
Switch(config-if)# end
Switch#
This example uses the show running-config command to display the interface IP address configuration
of Fast Ethernet interface 2/1:
Switch# show running-config
Building configuration...
!
interface FastEthernet2/1
no switchport
ip address 10.1.1.1 255.255.255.248
!
…
ip classless
no ip http server
!
!
line con 0
line aux 0
line vty 0 4
!
end
Overview
The EIGRP stub routing feature, available in all images, reduces resource utilization by moving routed
traffic closer to the end user.
The IP base image contains only EIGRP stub routing. The IP services image contains complete EIGRP
routing.
In a network using EIGRP stub routing, the only route for IP traffic to follow to the user is through a
switch that is configured with EIGRP stub routing. The switch sends the routed traffic to interfaces that
are configured as user interfaces or are connected to other devices.
When using EIGRP stub routing, you need to configure the distribution and remote switches to use
EIGRP, and to configure only the switch as a stub. Only specified routes are propagated from the switch.
The switch responds to all queries for summaries, connected routes, and routing updates.
Any neighbor that receives a packet informing it of the stub status does not query the stub switch for any
routes, and a switch that has a stub peer does not query that peer. The stub switch depends on the
distribution switch to send the proper updates to all peers.
In Figure 26-3, switch B is configured as an EIGRP stub switch. Switches A and C are connected to the
rest of the WAN. Switch B advertises connected, static, redistribution, and summary routes from switch
A and C to Hosts A, B, and C. Switch B does not advertise any routes learned from switch A (and the
reverse).
Routed to WAN
For more information about EIGRP stub routing, see “Configuring EIGRP Stub Routing” part of the
Cisco IOS IP Configuration Guide, Volume 2 of 3: Routing Protocols, Release 12.2.
the remote router must forward all nonlocal traffic to a distribution router, so it becomes unnecessary
for the remote router to hold a complete routing table. Generally, the distribution router need not send
anything more than a default route to the remote router.
When using the EIGRP Stub Routing feature, you need to configure the distribution and remote routers
to use EIGRP, and to configure only the remote router as a stub. Only specified routes are propagated
from the remote (stub) router. The stub router responds to all queries for summaries, connected routes,
redistributed static routes, external routes, and internal routes with the message “inaccessible.” A router
that is configured as a stub sends a special peer information packet to all neighboring routers to report
its status as a stub router.
Any neighbor that receives a packet informing it of the stub status does not query the stub router for any
routes, and a router that has a stub peer does not query that peer. The stub router depends on the
distribution router to send the proper updates to all peers.
Figure 26-4 shows a simple hub-and-spoke configuration.
Internet
10.1.1.0/24
Corporate
network
Distribution Remote
router router
(hub) (spoke)
46094
The stub routing feature by itself does not prevent routes from being advertised to the remote router. In
the example in Figure 26-4, the remote router can access the corporate network and the Internet through
the distribution router only. Having a full route table on the remote router, in this example, would serve
no functional purpose because the path to the corporate network and the Internet would always be
through the distribution router. The larger route table would only reduce the amount of memory required
by the remote router. Bandwidth and memory can be conserved by summarizing and filtering routes in
the distribution router. The remote router need not receive routes that have been learned from other
networks because the remote router must send all nonlocal traffic, regardless of destination, to the
distribution router. If a true stub network is desired, the distribution router should be configured to send
only a default route to the remote router. The EIGRP Stub Routing feature does not automatically enable
summarization on the distribution router. In most cases, the network administrator must configure
summarization on the distribution routers.
Note When configuring the distribution router to send only a default route to the remote router, you must use
the ip classless command on the remote router. By default, the ip classless command is enabled in all
Cisco IOS images that support the EIGRP Stub Routing feature.
Without the stub feature, even after the routes that are sent from the distribution router to the remote
router have been filtered or summarized, a problem might occur. If a route is lost somewhere in the
corporate network, EIGRP could send a query to the distribution router, which in turn sends a query to
the remote router even if routes are being summarized. If there is a problem communicating over the
WAN link between the distribution router and the remote router, an EIGRP stuck in active (SIA)
condition could occur and cause instability elsewhere in the network. The EIGRP Stub Routing feature
allows a network administrator to prevent queries from being sent to the remote router.
Distribution
router 1
10.1.1.0/24
(hub)
Corporate
network
Remote
router
(spoke)
Distribution
46096
router 2
(hub)
Figure 26-5 shows a simple dual-homed remote with one remote router and two distribution routers.
Both distribution routers maintain routes to the corporate network and stub network 10.1.1.0/24.
Dual-homed routing can introduce instability into an EIGRP network. In Figure 26-6, distribution router
1 is directly connected to network 10.3.1.0/24. If summarization or filtering is applied on distribution
router 1, the router advertises network 10.3.1.0/24 to all of its directly connected EIGRP neighbors
(distribution router 2 and the remote router).
Figure 26-6 Dual-Homed Remote Topology With Distribution Router 1 Connected to Two
Networks
10.3.1.0/24
Distribution
router 1
10.2.1.0/24
10.1.1.0/24
(hub)
Corporate
network
Remote
router
(spoke)
Distribution
46095
router 2
(hub)
Figure 26-6 shows a simple dual-homed remote router where distribution router 1 is connected to both
network 10.3.1.0/24 and network 10.2.1.0/24.
If the 10.2.1.0/24 link between distribution router 1 and distribution router 2 has failed, the lowest cost
path to network 10.3.1.0/24 from distribution router 2 is through the remote router (see Figure 26-7).
This route is not desirable because the traffic that was previously traveling across the corporate network
10.2.1.0/24 is now sent across a much lower bandwidth connection. The over utilization of the lower
bandwidth WAN connection can cause a number of problems that might affect the entire corporate
network. The use of the lower bandwidth route that passes through the remote router might cause WAN
EIGRP distribution routers to be dropped. Serial lines on distribution and remote routers could also be
dropped, and EIGRP SIA errors on the distribution and core routers could occur.
Figure 26-7 Dual-Homed Remote Topology with a Failed Route to a Distribution Router
10.3.1.0/24
X
Distribution
router 1
10.2.1.0/24
10.1.1.0/24
(hub)
Corporate
network
Remote
router
(spoke)
Distribution
46093
router 2
(hub)
It is not desirable for traffic from distribution router 2 to travel through any remote router in order to
reach network 10.3.1.0/24. If the links are sized to handle the load, it would be acceptable to use one of
the backup routes. However, most networks of this type have remote routers located at remote offices
with relatively slow links. This problem can be prevented if proper summarization is configured on the
distribution router and remote router.
It is typically undesirable for traffic from a distribution router to use a remote router as a transit path. A
typical connection from a distribution router to a remote router would have much less bandwidth than a
connection at the network core. Attempting to use a remote router with a limited bandwidth connection
as a transit path would generally produce excessive congestion to the remote router. The EIGRP Stub
Routing feature can prevent this problem by preventing the remote router from advertising core routes
back to distribution routers. Routes learned by the remote router from distribution router 1 is not
advertised to distribution router 2. Because the remote router does not advertise core routes to
distribution router 2, the distribution router does not use the remote router as a transit for traffic destined
for the network core.
The EIGRP Stub Routing feature can help to provide greater network stability. In the event of network
instability, this feature prevents EIGRP queries from being sent over limited bandwidth links to
nontransit routers. Instead, distribution routers to which the stub router is connected answer the query
on behalf of the stub router. This feature greatly reduces the chance of further network instability due to
congested or problematic WAN links. The EIGRP Stub Routing feature also simplifies the configuration
and maintenance of hub-and-spoke networks. When stub routing is enabled in dual-homed remote
configurations, it is no longer necessary to configure filtering on remote routers to prevent those remote
routers from appearing as transit paths to the hub routers.
Caution EIGRP Stub Routing should only be used on stub routers. A stub router is defined as a router connected
to the network core or distribution layer through which core transit traffic should not flow. A stub router
should not have any EIGRP neighbors other than distribution routers. Ignoring this restriction causes
undesirable behavior.
Note Multi-access interfaces, such as ATM, Ethernet, Frame Relay, ISDN PRI, and X.25, are supported by
the EIGRP Stub Routing feature only when all routers on that interface, except the hub, are configured
as stub routers.
To configure a remote or spoke router for EIGRP stub routing, use the following commands beginning
in router configuration mode:
Command Purpose
Step 1 Switch(config)# router eigrp 1 Configures a remote or distribution router to run
an EIGRP process.
Step 2 Switch(config-router)# network network-number Specifies the network address of the EIGRP
distribution router.
Step 3 Switch(config-router)# eigrp stub [receive-only | Configures a remote router as an EIGRP stub
connected | static | summary] router.
To verify that a remote router has been configured as a stub router with EIGRP, use the show ip eigrp
neighbor detail command from the distribution router in privileged EXEC mode. The last line of the
output shows the stub status of the remote or spoke router. The following example shows output is from
the show ip eigrp neighbor detail command:
router# show ip eigrp neighbor detail
Command Purpose
Switch# clear ip eigrp neighbors [ip-address | Deletes neighbors from the neighbor table.
interface]
Command Purpose
Switch# show ip eigrp interfaces [interface] [as-number] Displays information about interfaces configured for
EIGRP.
Switch# show ip eigrp neighbors [type|number|static] Displays the EIGRP discovered neighbors.
Switch# show ip eigrp topology [autonomous-system-number | Displays the EIGRP topology table for a given
[[ip-address] mask]] process.
Switch# show ip eigrp traffic [autonomous-system-number] Displays the number of packets sent and received for
all or a specified EIGRP process.
Note You should not use the ip summary-address eigrp summarization command to generate the default
route (0.0.0.0) from an interface. This causes the creation of an EIGRP summary default route to the
null 0 interface with an administrative distance of 5. The low administrative distance of this default route
can cause this route to displace default routes learned from other neighbors from the routing table. If the
default route learned from the neighbors is displaced by the summary default route, or if the summary
route is the only default route present, all traffic destined for the default route does not leave the router,
instead, this traffic is sent to the null 0 interface where it is dropped.
The recommended way to send only the default route out a given interface is to use a distribute-list
command. You can configure this command to filter all outbound route advertisements sent out the
interface with the exception of the default (0.0.0.0).
Router A
interface ethernet 1
ip authentication mode eigrp 1 md5
ip authentication key-chain eigrp 1 holly
key chain holly
key 1
key-string 0987654321
accept-lifetime 04:00:00 Dec 4 1996 infinite
send-lifetime 04:00:00 Dec 4 1996 04:48:00 Dec 4 1996
exit
key 2
key-string 1234567890
accept-lifetime 04:00:00 Dec 4 1996 infinite
send-lifetime 04:45:00 Dec 4 1996 infinite
Router B
interface ethernet 1
ip authentication mode eigrp 1 md5
ip authentication key-chain eigrp 1 mikel
key chain mikel
key 1
key-string 0987654321
accept-lifetime 04:00:00 Dec 4 1996 infinite
send-lifetime 04:00:00 Dec 4 1996 infinite
exit
key 2
key-string 1234567890
accept-lifetime 04:00:00 Dec 4 1996 infinite
send-lifetime 04:45:00 Dec 4 1996 infinite
Router A accepts and attempts to verify the MD5 digest of any EIGRP packet with a key equal to 1. It
also accepts a packet with a key equal to 2. All other MD5 packets are dropped. Router A send all EIGRP
packets with key 2.
Router B accepts key 1 or key 2, and sends key 1. In this scenario, MD5 authenticates.
router eigrp 1
network 10.0.0.0
eigrp stub
In the following example, the eigrp stub connected static command is used to configure the router as
a stub that advertises connected and static routes (sending summary routes is not permitted):
router eigrp 1
network 10.0.0.0
eigrp stub connected static
In the following example, the eigrp stub receive-only command is used to configure the router as a stub,
and connected, summary, or static routes is not sent:
router eigrp 1
network 10.0.0.0 eigrp
stub receive-only
This chapter describes Cisco Express Forwarding (CEF) on the Catalyst 4000 family switch. It also
provides guidelines, procedures, and examples to configure this feature.
This chapter includes the following major sections:
• About CEF, page 27-1
• Catalyst 4500 Series Switch Implementation of CEF, page 27-3
• CEF Configuration Restrictions, page 27-6
• Configuring CEF, page 27-6
• Monitoring and Maintaining CEF, page 27-8
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
About CEF
This section contains information on the two primary components that comprise the CEF operation:
• Benefits of CEF, page 27-2
• Forwarding Information Base, page 27-2
• Adjacency Tables, page 27-2
Benefits of CEF
CEF is advanced Layer 3 IP switching technology that optimizes performance and scalability for large
networks with dynamic traffic patterns or networks with intensive web-based applications and
interactive sessions.
CEF provides the following benefits:
• Improves performance over the caching schemes of multilayer switches, which often flush the entire
cache when information changes in the routing tables.
• Provides load balancing that distributes packets across multiple links based on Layer 3 routing
information. If a network device discovers multiple paths to a destination, the routing table is
updated with multiple entries for that destination. Traffic to that destination is then distributed
among the various paths.
CEF stores information in several data structures rather than the route cache of multilayer switches. The
data structures optimize lookup for efficient packet forwarding.
Adjacency Tables
In addition to the FIB, CEF uses adjacency tables to prepend Layer 2 addressing information. Nodes in
the network are said to be adjacent if they are within a single hop from each other. The adjacency table
maintains Layer 2 next-hop addresses for all FIB entries.
Adjacency Discovery
The adjacency table is populated as new adjacent nodes are discovered. Each time an adjacency entry is
created (such as through the Address Resolution Protocol (ARP), a link-layer header for that adjacent
node is stored in the adjacency table. Once a route is determined, the link-layer header points to a next
hop and corresponding adjacency entry. The link-layer header is subsequently used for encapsulation
during CEF switching of packets.
Adjacency Resolution
A route might have several paths to a destination prefix, such as when a router is configured for
simultaneous load balancing and redundancy. For each resolved path, a pointer is added for the
adjacency corresponding to the next-hop interface for that path. This mechanism is used for load
balancing across several paths.
Unresolved Adjacency
When a link-layer header is prepended to packets, FIB requires the prepend to point to an adjacency
corresponding to the next hop. If an adjacency was created by FIB and was not discovered through a
mechanism such as ARP, the Layer 2 addressing information is not known and the adjacency is
considered incomplete. When the Layer 2 information is known, the packet is forwarded to the route
processor, and the adjacency is determined through ARP.
Catalyst 4000 Family switches support an ASIC-based Integrated Switching Engine that provides these
features:
• Ethernet bridging at Layer 2
• IP routing at Layer 3
Because the ASIC is specifically designed to forward packets, the Integrated Switching Engine hardware
can run this process much faster than CPU subsystem software.
Figure 27-1 shows a high-level view of the ASIC-based Layer 2 and Layer 3 switching process on the
Integrated Switching Engine.
L3 physical
interface
L3 logical
interfaces
VLAN1 VLAN2
L2 switchports
68402
The Integrated Switching Engine performs inter-VLAN routing on logical Layer 3 interfaces with the
ASIC hardware. The ASIC hardware also supports a physical Layer 3 interface that can be configured
to connect with a host, a switch, or a router.
L3 physical
interface
L3 interfaces
GRE GRE
VLAN1 VLAN2 tunnel tunnel
L2 switchports
68127
The Integrated Switching Engine performs inter-VLAN routing in hardware. The CPU subsystem
software supports Layer 3 interfaces to VLANs that use Subnetwork Access Protocol (SNAP)
encapsulation. The CPU subsystem software also supports generic routing encapsulation (GRE) tunnel.
Hardware Switching
Hardware switching is the normal operation for the Catalyst 4500 series switch.
Software Switching
Software switching occurs when traffic cannot be processed in hardware. The following types of
exception packets are processed in software at a much slower rate:
• Packets that use IP header options
Note Packets that use TCP header options are switched in hardware because they do not affect the
forwarding decision.
Load Balancing
The Catalyst 4000 family switch supports load balancing for routing packets in the Integrated Switching
Engine hardware. Load balancing is always enabled. It works when multiple routes for the same network
with different next-hop addresses are configured. These routes can be configured either statically or
through a routing protocol such as OSPF or EIGRP.
The hardware makes a forwarding decision by using a hardware load sharing hash function to compute
a value, based on the source and destination IP addresses and the source and destination TCP port
numbers (if available). This load sharing hash value is then used to select which route to use to forward
the packet. All hardware switching within a particular flow (such as a TCP connection) is routed to the
same next hop, thereby reducing the chance that packet reordering occurs. Up to eight different routes
for a particular network are supported.
Software Interfaces
Cisco IOS for the Catalyst 4000 family switch supports GRE and IP tunnel interfaces that are not part
of the hardware forwarding engine. All packets that flow to or from these interfaces must be processed
in software and has a significantly lower forwarding rate than that of hardware-switched interfaces.
Also, Layer 2 features are not supported on these interfaces.
Configuring CEF
These sections describe how to configure CEF:
• Enabling CEF, page 27-6
• Configuring Load Balancing for CEF, page 27-7
Enabling CEF
By default, CEF is enabled globally on the Catalyst 4000 family switch. No configuration is required.
To reenable CEF, perform this task:
Command Purpose
Switch(config)# ip cef distributed Enables standard CEF operation.
Command Purpose
Switch (config)# [no] ip cef load-sharing Enables load sharing hash function to use source
algorithm include-ports source and destination ports.
destination]
Use the no keyword to set the switch to use the
default Cisco IOS load-sharing algorithm.
Note The include-ports option does not apply to software-switched traffic on the Catalyst 4500 series
switches.
Command Purpose
Switch# show ip cef Displays the collected CEF information.
Command Purpose
Switch# show interface type slot/interface Displays a summary of IP unicast traffic.
| begin L3
This example shows how to display information about IP unicast traffic on interface Fast Ethernet 3/3:
Switch# show interface fastethernet 3/3 | begin L3
L3 in Switched: ucast: 0 pkt, 0 bytes - mcast: 12 pkt, 778 bytes mcast
L3 out Switched: ucast: 0 pkt, 0 bytes - mcast: 0 pkt, 0 bytes
4046399 packets input, 349370039 bytes, 0 no buffer
Received 3795255 broadcasts, 2 runts, 0 giants, 0 throttles
<...output truncated...>
Switch#
Note The IP unicast packet count is updated approximately every five seconds.
Displaying IP Statistics
IP unicast statistics are gathered on a per-interface basis. To display IP statistics, perform this task:
Command Purpose
Switch# show interface type number Displays IP statistics.
counters detail
This example shows how to display IP unicast statistics for Part 3/1:
Switch# show interface fastethernet 3/1 counters detail
Port UnsupOpcodePause
Fa3/1 0
Switch#
To display CEF (software switched) and hardware IP unicast adjacency table information, perform this
task:
Command Purpose
Switch# show adjacency [interface] [detail Displays detailed adjacency information, including
| internal | summary] Layer 2 information, when the optional detail
keyword is used.
This chapter describes the Unicast Reverse Path Forwarding (Unicast RPF) feature. The Unicast RPF
feature helps to mitigate problems that are caused by malformed or forged IP source addresses that are
passing through a switch.
For a complete description of the Unicast RPF commands in this chapter, refer to the chapter “Unicast
Reverse Path Forwarding Commands” of the Cisco IOS Security Command Reference. To locate
documentation of other commands that appear in this chapter, use the command reference master index
or search online.
To identify the hardware platform or software image information associated with a feature, use the
Feature Navigator on Cisco.com to search for information about the feature or refer to the software
release notes for a specific release. For more information, see the “Identifying Supported Platforms”
section in the chapter “Using Cisco IOS Software.”
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
In This Chapter
This chapter has the following sections:
• About Unicast Reverse Path Forwarding
• Unicast RPF Configuration Task List
• Monitoring and Maintaining Unicast RPF
• Monitoring and Maintaining Unicast RPF
• Unicast RPF Configuration Example: Inbound and Outbound Filters
Note Unicast RPF is an input function and is applied only on the input interface of a switch at the upstream
end of a connection.
Unicast RPF checks to see if any packet received at a switch interface arrives on the best return path
(return route) to the source of the packet. Unicast RPF does this by doing a reverse lookup in the CEF
table. If the packet was received from one of the best reverse path routes, the packet is forwarded as
normal. If there is no reverse path route on the same interface from which the packet was received, it
might mean that the source address was modified. If Unicast RPF does not find a reverse path for the
packet, the packet is dropped.
Note With Unicast RPF, all equal-cost “best” return paths are considered valid. This means that Unicast RPF
works in cases where multiple return paths exist, provided that each path is equal to the others in terms
of the routing cost (number of hops, weights, and so on) and as long as the route is in the FIB. Unicast
RPF also functions where EIGRP variants are being used and unequal candidate paths back to the source
IP address exist.
When a packet is received at the interface where Unicast RPF and ACLs have been configured, the
following actions occur:
Step 2 Unicast RPF checks to see if the packet has arrived on the best return path to the source, which it does
by doing a reverse lookup in the FIB table.
Step 3 CEF table (FIB) lookup is carried out for packet forwarding.
Step 4 Output ACLs are checked on the outbound interface.
Step 5 The packet is forwarded.
Routing table:
192.168.0.0 via 172.19.66.7
172.19.0.0 is directly connected, FDDI 2/0/0
CEF table:
192.168.0.0 172.19.66.7 FDDI 2/0/0
172.19.0.0 attached FDDI 2/0/0
Adjacency table:
FDDI 2/0/0 172.19.66.7 50000603E...AAAA03000800
Drop
Destination address x.x.x.x
Source address 192.168.1.1
Figure 28-2 illustrates how Unicast RPF drops packets that fail validation. In this example, a customer
has sent a packet having a source address of 209.165.200.225, which is received at interface Gigabit
Ethernet 1/1. Unicast RPF checks the FIB to see if 209.165.200.225 has a return path to Gigabit Ethernet
1/1. If there is a matching path, the packet is forwarded. In this case, there is no reverse entry in the
routing table that routes the customer packet back to source address 209.165.200.225 on interface
Gigabit Ethernet 1/1, and so the packet is dropped.
Routing table:
192.168.0.0 via 172.19.66.7
172.19.0.0 is directly connected, FDDI 2/0/0
CEF table:
192.168.0.0 172.19.66.7 FDDI 2/0/0
172.19.0.0 attached FDDI 2/0/0
Adjacency table:
FDDI 2/0/0 172.19.66.7 50000603E...AAAA03000800
Caution Using optional BGP attributes such as weight and local preference, the best path back to the source
address can be modified. Modification would affect the operation of Unicast RPF.
In enterprise networks, one objective of using Unicast RPF for filtering traffic at the input interface (a
process called ingress filtering) is for protection from malformed packets arriving from the Internet.
Traditionally, local networks that have one connection to the Internet would use ACLs at the receiving
interface to prevent spoofed packets from the Internet from entering their local network.
ACLs work well for many single-homed customers; however, there are trade-offs when ACLs are used
as ingress filters, including two commonly referenced limitations:
• Packet per second (PPS) performance at very high packet rates
Note This restriction applies only to software packet forwarding. Hardware packet forwarding is the
same on both ACL and uRPF.
• Maintenance of the ACL (whenever there are new addresses added to the network)
Unicast RPF is one tool that addresses both of these limitations. With Unicast RPF, ingress filtering is
done at CEF PPS rates. This processing speed makes a difference when the link is more than 1 Mbps.
Additionally, because Unicast RPF uses the FIB, no ACL maintenance is necessary, and thus the
administration overhead of traditional ACLs is reduced. The following figure and example demonstrate
how Unicast RPF is configured for ingress filtering.
Figure 28-3 illustrates an enterprise network that has a single link to an upstream ISP. In this example,
Unicast RPF is applied at interface Gigabit Ethernet 1/1 on the Enterprise switch for protection from
malformed packets arriving from the Internet. Unicast RPF is also applied at interface
Gigabit Ethernet 2/1 on the ISP switch for protection from malformed packets arriving from the
enterprise network.
Figure 28-3 Enterprise Network Using Unicast RPF for Ingress Filtering
G1/2
G1/1 G2/1 Internet
206530
Enterprise Upstream
network ISP
Using the topography in Figure 28-3, a typical configuration (assuming that CEF is turned on) on the
ISP switch would be as follows:
interface Gigabit Ethernet 2/1
description Link to Enterprise Network
ip address 192.168.3.1 255.255.255.255
no switchport
ip address 10.1.1.2 255.255.255.0
ip verify unicast source reachable-via rx allow-default
The gateway switch configuration of the enterprise network (assuming that CEF is turned on) would look
similar to the following:
interface Gigabit Ethernet 1/2
description ExampleCorp LAN
ip address 192.168.10.1 255.255.252.0
no ip redirects
no ip directed-broadcast
no ip proxy-arp
Notice that Unicast RPF works with a single default route. There are no additional routes or routing
protocols. Network 192.168.10.0/22 is a connected network. Hence, packets coming from the Internet
with a source address in the range 192.168.10.0/22 is dropped by Unicast RPF.
ISP S0
33407
The Internet
network
S1
Site A
Restrictions
There are some basic restrictions to applying Unicast RPF to multihomed clients:
• Clients should not be multihomed to the same switch because multihoming defeats the purpose of
building a redundant service for the client.
• Customers must ensure that the packets flowing up the link (out to the Internet) match the route
advertised out the link. Otherwise, Unicast RPF filters those packets as malformed packets.
Limitations
There are some basic limitations associated with applying Unicast RPF:
• Unicast loose mode is not supported.
• Unicast RPF can be more effective at mitigating spoofing attacks when combined with a policy of
ingress and egress filtering using Cisco IOS access control lists (ACLs).
– Ingress filtering applies filters to traffic received at a network interface from either internal or
external networks. With ingress filtering, packets that arrive from other networks or the Internet
and that have a source address that matches a local network, private, or broadcast address are
dropped. In ISP environments, for example, ingress filtering can apply to traffic received at the
switch from either the client (customer) or the Internet.
– Egress filtering applies filters to traffic exiting a network interface (the sending interface). By
filtering packets on switches that connect your network to the Internet or to other networks, you
can permit only packets with valid source IP addresses to leave your network.
For more information on network filtering, refer to RFC 2267 and to the Cisco IOS IP Configuration
Guide.
Command Purpose
Step 1 Switch(config-if)# interface type Selects the input interface on which you want to
apply Unicast RPF. This is the receiving interface,
which allows Unicast RPF to verify the best return
path before forwarding the packet on to the next
destination.
The interface type is specific to your switch and the
types of interface cards installed on the switch. To
display a list of available interface types, enter the
interface ? command.
Step 2 Switch(config-if)# ip verify unicast source Enables Unicast RPF on the interface.
reachable-via rx allow-default
Step 3 Switch(config-if)# exit Exits interface configuration mode. Repeat Steps 2
and 3 for each interface on which you want to apply
Unicast RPF.
Command Purpose
Switch# show ip traffic Displays global switch statistics about Unicast RPF drops
and suppressed drops.
Switch(config-if)# no ip verify unicast Disables Unicast RPF at the interface.
Unicast RPF counts the number of packets dropped or suppressed because of malformed or forged
source addresses. Unicast RPF counts dropped or forwarded packets that include the following global
and per-interface information:
• Global Unicast RPF drops
• Per-interface Unicast RPF drops
• Per-interface Unicast RPF suppressed drops
The show ip traffic command shows the total number (global count) of dropped or suppressed packets
for all interfaces on the switch. The Unicast RPF drop count is included in the IP statistics section.
Switch# show ip traffic
IP statistics:
Rcvd: 1471590 total, 887368 local destination
0 format errors, 0 checksum errors, 301274 bad hop count
0 unknown protocol, 0 not a gateway
0 security failures, 0 bad options, 0 with options
Opts: 0 end, 0 nop, 0 basic security, 0 loose source route
0 timestamp, 0 extended security, 0 record route
0 stream ID, 0 strict source route, 0 alert, 0 other
Frags: 0 reassembled, 0 timeouts, 0 couldn't reassemble
0 fragmented, 0 couldn't fragment
Bcast: 205233 received, 0 sent
Mcast: 463292 received, 462118 sent
Sent: 990158 generated, 282938 forwarded
! The second line below (“0 unicast RPF”) displays Unicast RPF packet dropping
information.
Drop: 3 encapsulation failed, 0 unresolved, 0 no adjacency
0 no route, 0 unicast RPF, 0 forced drop
A nonzero value for the count of dropped or suppressed packets can mean one of two things:
• Unicast RPF is dropping or suppressing packets that have a bad source address (normal operation).
• Unicast RPF is dropping or suppressing legitimate packets because the route is misconfigured to use
Unicast RPF in environments where asymmetric routing exists; that is, where multiple paths can
exist as the best return path for a source address.
The show ip interface command shows the total of dropped or suppressed packets at a specific interface.
If Unicast RPF is configured to use a specific ACL, that ACL information is displayed along with the
drop statistics.
Switch> show ip interface fast 2/1
The show access-lists command displays the number of matches found for a specific entry in a specific
access list.
Switch> show access-lists
This chapter describes IP multicast routing on the Catalyst 4500 series switch. It also provides
procedures and examples to configure IP multicast routing.
http://www.cisco.com/en/US/products/ps6552/products_ios_technology_home.html
Note For complete syntax and usage information for the switch commands used in this chapter, first look at
the Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it will be found in the larger
Cisco IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Overview of IP Multicast
This section includes these subsections:
• IP Multicast Protocols, page 29-2
• IP Multicast on the Catalyst 4500 Series Switch, page 29-5
• Unsupported Feature, page 29-12
At one end of the IP communication spectrum is IP unicast, where a source IP host sends packets to a
specific destination IP host. In IP unicast, the destination address in the IP packet is the address of a
single, unique host in the IP network. These IP packets are forwarded across the network from the source
to the destination host by routers. At each point on the path between source and destination, a router uses
a unicast routing table to make unicast forwarding decisions, based on the IP destination address in the
packet.
At the other end of the IP communication spectrum is an IP broadcast, where a source host sends packets
to all hosts on a network segment. The destination address of an IP broadcast packet has the host portion
of the destination IP address set to all ones and the network portion set to the address of the subnet. IP
hosts, including routers, understand that packets, which contain an IP broadcast address as the
destination address, are addressed to all IP hosts on the subnet. Unless specifically configured otherwise,
routers do not forward IP broadcast packets, so IP broadcast communication is normally limited to a
local subnet.
IP multicasting falls between IP unicast and IP broadcast communication. IP multicast communication
enables a host to send IP packets to a group of hosts anywhere within the IP network. To send
information to a specific group, IP multicast communication uses a special form of IP destination
address called an IP multicast group address. The IP multicast group address is specified in the IP
destination address field of the packet.
To multicast IP information, Layer 3 switches and routers must forward an incoming IP packet to all
output interfaces that lead to members of the IP multicast group. In the multicasting process on the
Catalyst 4500 Series switch, a packet is replicated in the Integrated Switching Engine, forwarded to the
appropriate output interfaces, and sent to each member of the multicast group.
It is not uncommon for people to think of IP multicasting and video conferencing as almost the same
thing. Although the first application in a network to use IP multicast is often video conferencing, video
is only one of many IP multicast applications that can add value to a company’s business model. Other
IP multicast applications that have potential for improving productivity include multimedia
conferencing, data replication, real-time data multicasts, and simulation applications.
This section contains the following subsections:
• IP Multicast Protocols, page 29-2
• IP Multicast on the Catalyst 4500 Series Switch, page 29-5
• Unsupported Feature, page 29-12
IP Multicast Protocols
The Catalyst 4500 Series switch primarily uses these protocols to implement IP multicast routing:
• Internet Group Management Protocol (IGMP)
• Protocol Independent Multicast (PIM)
• Cisco Group Management Protocol (CGMP)
Figure 29-1 shows where these protocols operate within the IP multicast environment.
Host A
Internet
94150
Internet Group Management Protocol
IGMP messages are used by IP multicast hosts to send their local Layer 3 switch or router a request to
join a specific multicast group and begin receiving multicast traffic. With some extensions in IGMPv2,
IP hosts can also send a request to a Layer 3 switch or router to leave an IP multicast group and not
receive the multicast group traffic.
Using the information obtained via IGMP, a Layer 3 switch or router maintains a list of multicast group
memberships on a per-interface basis. A multicast group membership is active on an interface if at least
one host on the interface sends an IGMP request to receive multicast group traffic.
Protocol-Independent Multicast
PIM is protocol independent because it can leverage whichever unicast routing protocol is used to
populate the unicast routing table, including EIGRP, OSPF, BGP, or static route, to support IP multicast.
PIM also uses a unicast routing table to perform the reverse path forwarding (RPF) check function
instead of building a completely independent multicast routing table. PIM does not send and receive
multicast routing updates between routers like other routing protocols do.
PIM Dense Mode (PIM-DM) uses a push model to flood multicast traffic to every corner of the network.
PIM-DM is intended for networks in which most LANs need to receive the multicast, such as LAN TV
and corporate or financial information broadcasts. It can be an efficient delivery mechanism if there are
active receivers on every subnet in the network.
Note Supervisor Engine 7-E does not increment counters for (*, G) in PIM Dense Mode. (*, G) counters are
incremented only when running Bidirectional PIM Mode.
For more detailed information on PIM Dense Mode, refer to this URL:
http://www.cisco.com/en/US/docs/ios-xml/ios/ipmulti_optim/configuration/12-2sx/imc_pim_dense_rfr
sh.html
PIM Sparse Mode (PIM-SM) uses a pull model to deliver multicast traffic. Only networks with active
receivers that have explicitly requested the data will be forwarded the traffic. PIM-SM is intended for
networks with several different multicasts, such as desktop video conferencing and collaborative
computing, that go to a small number of receivers and are typically in progress simultaneously.
Note Supervisor Engine 7-E does not increment counters for (*, G) in PIM Dense Mode. (*, G) counters are
incremented only when running Bidirectional PIM Mode.
In bidirectional PIM (Bidir-PIM) mode, traffic is routed only along a bidirectional shared tree that is
rooted at the rendezvous point (RP) for the group. The IP address of the RP functions as a key enabling
all routers to establish a loop-free spanning tree topology rooted in that IP address.
Bidir-PIM is intended for many-to-many applications within individual PIM domains. Multicast groups
in bidirectional mode can scale to an arbitrary number of sources without incurring overhead due to the
number of sources.
Note Supervisor Engine 7-E does not increment counters for (*, G) in PIM Dense or Sparse Mode. (*, G)
counters are incremented only when running Bidirectional PIM Mode.
http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6552/ps6592/prod_white_paper0900ae
cd80310db2.pdf.
IGMP Snooping
IGMP snooping is used for multicasting in a Layer 2 switching environment. With IGMP snooping, a
Layer 3 switch or router examines Layer 3 information in the IGMP packets in transit between hosts and
a router. When the switch receives the IGMP Host Report from a host for a particular multicast group,
the switch adds the host's port number to the associated multicast table entry. When the switch receives
the IGMP Leave Group message from a host, it removes the host's port from the table entry.
L3 physical
interface
L3 logical
interfaces
VLAN1 VLAN2
L2 switchports
68402
upper-layer routing table, only one route needs to be changed in the hardware routing state. To forward
unicast packets in hardware, the Integrated Switching Engine looks up source and destination routes in
ternary content addressable memory (TCAM), takes the adjacency index from the hardware FIB, and
gets the Layer 2 rewrite information and next-hop address from the hardware adjacency table.
The new Multicast Forwarding Information Base (MFIB) subsystem is the multicast analog of the
unicast CEF. The MFIB subsystem extracts the multicast routes that PIM and IGMP create and refines
them into a protocol-independent format for forwarding in hardware. The MFIB subsystem removes the
protocol-specific information and leaves only the essential forwarding information. Each entry in the
MFIB table consists of an (S,G) or (*,G) route, an input RPF VLAN, and a list of Layer 3 output
interfaces. The MFIB subsystem, together with platform-dependent management software, loads this
multicast routing information into the hardware FIB and hardware replica expansion table (RET).
The Catalyst 4500 Series switch performs Layer 3 routing and Layer 2 bridging at the same time. There
can be multiple Layer 2 switchports on any VLAN interface. To determine the set of output switchports
on which to forward a multicast packet, the supervisor engine combines Layer 3 MFIB information with
Layer 2 forwarding information and stores it in the hardware RET for packet replication.
Figure 29-3 shows a functional overview of how the Catalyst 4500 Series switch combines unicast
routing, multicast routing, and Layer 2 bridging information to forward in hardware.
Figure 29-3 Combining CEF, MFIB, and Layer 2 Forwarding Information in Hardware
CEF MFIB
CEF – MFIB Subsystem
Integrated
Hardware H/W Adjacency H/W FIB MET Replication Switching
Tables Table Table Table Engine
68614
Like the CEF unicast routes, the MFIB routes are Layer 3 and must be merged with the appropriate
Layer 2 information. The following example shows an MFIB route:
(*,224.1.2.3)
RPF interface is Vlan3
Output Interfaces are:
Vlan 1
Vlan 2
The route (*,224.1.2.3) is loaded in the hardware FIB table and the list of output interfaces is loaded into
the RET. A pointer to the list of output interfaces, the RET index, and the RPF interface are also loaded
in the hardware FIB with the (*,224.1.2.3) route. With this information loaded in hardware, merging of
the Layer 2 information can begin. For the output interfaces on VLAN1, the Integrated Switching Engine
must send the packet to all switchports in VLAN1 that are in the spanning tree forwarding state. The
same process applies to VLAN 2. To determine the set of switchports in VLAN 2, the Layer 2
Forwarding Table is used.
When the hardware routes a packet, in addition to sending it to all of the switchports on all output
interfaces, the hardware also sends the packet to all switchports (other than the one it arrived on) in the
input VLAN. For example, assume that VLAN 3 has two switchports in it, Gig 3/1 and Gig 3/2. If a host
on Gig 3/1 sends a multicast packet, the host on Gig 3/2 might also need to receive the packet. To send
a multicast packet to the host on Gig 3/2, all of the switchports in the ingress VLAN must be added to
the portset that is loaded in the RET.
If VLAN 1 contains 1/1 and 1/2, VLAN 2 contains 2/1 and 2/2, and VLAN 3 contains 3/1 and 3/2, the
RET chain for this route would contain these switchports: (1/1,1/2,2/1,2/2,3/1, and 3/2).
If IGMP snooping is on, the packet should not be forwarded to all output switchports on VLAN 2. The
packet should be forwarded only to switchports where IGMP snooping has determined that there is either
a group member or router. For example, if VLAN 1 had IGMP snooping enabled, and IGMP snooping
determined that only port 1/2 had a group member on it, then the RET chain would contain these
switchports: (1/1,1/2, 2/1, 2/2, 3/1, and 3/2).
IP Multicast Tables
Figure 29-4 shows some key data structures that the Catalyst 4500 Series switch uses to forward IP
multicast packets in hardware.
Multicast Routing
Table L3 Protocols
Hardware FIB Table
• (S,G), RPF • PIM
(S,G), RPF Vlan, MET Index interface, set of • IGMP
(*,G), Interfaces, MET Index output interfaces
The Integrated Switching Engine maintains the hardware FIB table to identify individual IP multicast
routes. Each entry consists of a destination group IP address and an optional source IP address. Multicast
traffic flows on primarily two types of routes: (S,G) and (*,G). The (S,G) routes flow from a source to a
group based on the IP address of the multicast source and the IP address of the multicast group
destination. Traffic on a (*,G) route flows from the PIM RP to all receivers of group G. Only
sparse-mode groups use (*,G) routes. The Integrated Switching Engine hardware contains space for a
total of 128,000 routes, which are shared by unicast routes, multicast routes, and multicast fast-drop
entries.
For RET, we can have up to 102K entries (32K used for floodsets, 70,000 used for multicast entries. The
RET resources are shared by both Layer 3 multicast routes and by Layer 2 multicast entries. The actual
number of output interface lists available in hardware depends on the specific configuration. If the total
number of multicast routes exceed 32,000, multicast packets might not be switched by the Integrated
Switching Engine. They would be forwarded by the CPU subsystem at much slower speeds.
Note For RET, a maximum of 102K entries is supported (32K used for floodsets, 70K used for multicast
entries).
Note Partial multicast routing is not supported on Supervisor Engine 7-E; only hardware and software routing
are supported.
Partial Routes
Note The conditions listed below cause the replicas to be forwarded by the CPU subsystem software, but the
performance of the replicas that are forwarded in hardware is not affected.
The following conditions cause some replicas of a packet for a route to be forwarded by the CPU
subsystem:
• The switch is configured with the ip igmp join-group command as a member of the IP multicast
group on the RPF interface of the multicast source.
• The switch is the first-hop to the source in PIM sparse mode. In this case, the switch must send
PIM-register messages to the RP.
Software Routes
Note If any one of the following conditions is configured on the RPF interface or the output interface, all
replication of the output is performed in software.
The following conditions cause all replicas of a packet for a route to be forwarded by the CPU subsystem
software:
• The interface is configured with multicast helper.
• The interface is a generic routing encapsulation (GRE) or Distance Vector Multicast Routing
Protocol (DVMRP) tunnel.
• The interface uses non-Advanced Research Products Agency (ARPA) encapsulation.
The following packets are always forwarded in software:
• Packets sent to multicast groups that fall into the range 224.0.0.* (where * is in the range from 0 to
255). This range is used by routing protocols. Layer 3 switching supports all other multicast group
addresses.
• Packets with IP options.
Router A Router B
Network A
Network B
Multicast Traffic
68331
Non-RPF Traffic
In this kind of topology, only Router A, the PIM designated router (PIM DR), forwards data to the
common VLAN. Router B receives the forwarded multicast traffic, but must drop this traffic because it
has arrived on the wrong interface and fails the RPF check. Traffic that fails the RPF check is called
non-RPF traffic.
Note When PIM-SM routing is in use, the MFIB route might include an interface like in this example:
PimTunnel [1.2.3.4]. This is a virtual interface that the MFIB subsystem creates to indicate that packets
are being tunnelled to the specified destination address. A PimTunnel interface cannot be displayed with
the normal show interface command.
S/M, 224/4
An (S/M, 224/4) entry is created in the MFIB for every multicast-enabled interface. This entry ensures
that all packets sent by directly connected neighbors can be Register-encapsulated to the PIM-SM RP.
Typically, only a small number of packets would be forwarded using the (S/M,224/4) route, until the
(S,G) route is established by PIM-SM.
For example, on an interface with IP address 10.0.0.1 and netmask 255.0.0.0, a route would be created
matching all IP multicast packets in which the source address is anything in the class A network 10. This
route can be written in conventional subnet/masklength notation as (10/8,224/4). If an interface has
multiple assigned IP addresses, then one route is created for each such IP address.
Unsupported Feature
The following IP multicast feature is not supported in this release:
• Controlling the transmission rate to a multicast group
For more information about source-specific multicast with IGMPv3 and IGMP, see the following URL:
http://www.cisco.com/en/US/docs/ios/ipmulti/configuration/guide/imc_cfg_ssm.html
Command Purpose
Switch(config)# ip multicast-routing Enables IP multicast routing.
encapsulated and sent toward the RP. When no RP is known, the packet is flooded in a dense-mode
fashion. If the multicast traffic from a specific source is sufficient, the receiver’s first-hop router can send
join messages toward the source to build a source-based distribution tree.
There is no default mode setting. By default, multicast routing is disabled on an interface.
Command Purpose
Switch(config-if)# ip pim dense-mode Enables dense-mode PIM on the interface.
See the “PIM Dense Mode: Example” section at the end of this chapter for an example of how to
configure a PIM interface in dense mode.
Command Purpose
Switch(config-if)# ip pim Enables sparse-mode PIM on the interface.
sparse-mode
See the “PIM Sparse Mode: Example” section at the end of this chapter for an example of how to
configure a PIM interface in sparse mode.
When an interface is treated in sparse mode, it is populated in a multicast routing table’s outgoing
interface list when either of the following is true:
• When there are members or DVMRP neighbors on the interface
• When an explicit join has been received by a PIM neighbor on the interface
To enable PIM to operate in the same mode as the group, perform this task:
Command Purpose
Switch(config-if)# ip pim Enables PIM to operate in sparse or dense mode,
sparse-dense-mode depending on the group.
Command Purpose
Switch(config)# ip pim bidir-enable Enables bidir-PIM on a switch.
To configure Bidir-PIM, use the following commands in global configuration mode, depending on which
method you use to distribute group-to-RP mappings:
Command Purpose
Switch(config)# ip pim rp-address Configures the address of a PIM RP for a particular
rp-address [access-list] [override] group, and specifies bidirectional mode. Use this
bidir
command when you are not distributing group-to-RP
mappings using either Auto-RP or the PIMv2 BSR
mechanism
Switch(config)# ip pim rp-candidate Configures the router to advertise itself as a PIM
type number [group-list access-list] Version 2 candidate RP to the BSR, and specifies
bidir
bidirectional mode. Use this command when you are
using the PIMv2 BSR mechanism to distribute
group-to-RP mappings.
Switch(config)# ip pim send-rp-address Configures the router to use Auto-RP to configure for
type number scope ttl-value which groups the router is willing to act as RP, and
[group-list access-list] [interval
seconds] bidir
specifies bidirectional mode. Use this command when
you are using Auto-RP to distribute group-to-RP
mappings.
For an example of how to configure bidir-PIM, see the Bidirectional PIM Mode: Example, page 29-27
section.
Configuring Auto-RP
Auto-rendezvous point (Auto-RP) automates the distribution of group-to-rendezvous point (RP)
mappings in a PIM network. To make Auto-RP work, a router must be designated as an RP mapping
agent, which receives the RP announcement messages from the RPs and arbitrates conflicts. The RP
mapping agent then sends the consistent group-to-RP mappings to all other routers by way of dense
mode flooding.
Thus, all routers automatically discover which RP to use for the groups they support. The Internet
Assigned Numbers Authority (IANA) has assigned two group addresses, 224.0.1.39 and 224.0.1.40, for
Auto-RP.
The mapping agent receives announcements of intention to become the RP from Candidate-RPs. The
mapping agent then announces the winner of the RP election. This announcement is made independently
of the decisions by the other mapping agents.
To configure Auto-RP, perform this task:
Command Purpose
Switch# ping [group-name | group-address] Sends an ICMP Echo Request to a multicast
group address.
Switch# show ip mroute [hostname | Displays the contents of the IP multicast routing
group_number] table.
Switch# show ip pim interface [type number] Displays information about interfaces configured
[count] for PIM.
Switch# show ip interface Displays PIM information for all interfaces.
The following is sample output from the show ip mroute command for a router operating in sparse
mode:
Switch# show ip mroute
Note Interface timers are not updated for hardware-forwarded packets. Entry timers are updated
approximately every five seconds.
The following is sample output from the show ip mroute command with the summary keyword:
Switch# show ip mroute summary
The following is sample output from the show ip mroute command with the active keyword:
Switch# show ip mroute active
The following is sample output from the show ip mroute command with the count keyword:
Switch# show ip mroute count
Note Multicast route byte and packet statistics are supported only for the first 1024 multicast routes. Output
interface statistics are not maintained.
Displaying IP MFIB
You can display all routes in the MFIB, including routes that might not exist directly in the upper-layer
routing protocol database but that are used to accelerate fast switching. These routes appear in the MFIB,
even if dense-mode forwarding is in use.
To display various MFIB routing routes, perform one of these tasks:
Command Purpose
Switch# show ip mfib Displays the (S,G) and (*,G) routes that are used for packet
forwarding. Displays counts for fast, slow, and
partially-switched packets for every multicast route.
Switch# show ip mfib all Displays all routes in the MFIB, including routes that may
not exist directly in the upper-layer routing protocol
database, but that are used to accelerate fast
switching.These routes include the (S/M,224/4) routes.
Switch# show ip mfib log [n] Displays a log of the most recent n MFIB related events,
most recent first.
Switch# show ip mfib counters Displays counts of MFIB related events. Only non-zero
counters are shown.
Vlan7 (A)
Vlan100 (F NS)
Vlan105 (F NS)
(*, 224.0.1.60), flags ()
Packets: 2292/0/0, Bytes: 518803/0/0
Vlan7 (A NS)
(*, 224.0.1.75), flags ()
Vlan7 (A NS)
(10.34.2.92, 239.192.128.80), flags ()
Packets: 24579/100/0, 2113788/15000/0 bytes
Vlan7 (F NS)
Vlan100 (A)
(*, 239.193.100.70), flags ()
Packets: 1/0/0, 1500/0/0 bytes
Vlan7 (A)
..
The fast-switched packet count represents the number of packets that were switched in hardware on the
corresponding route.
The partially switched packet counter represents the number of times that a fast-switched packet was
also copied to the CPU for software processing or for forwarding to one or more non-platform switched
interfaces (such as a PimTunnel interface).
The slow-switched packet count represents the number of packets that were switched completely in
software on the corresponding route.
Command Purpose
Switch(config)# show ip pim interface Displays information about the elected DF for each RP
[type number] [df | count] of an interface, along with the unicast routing metric
[rp-address]
associated with the DF.
Switch(config)# show ip pim rp Displays information about configured RPs, learned
[mapping | metric] [rp-address] via Auto-RP or BSR, along with their unicast routing
metric.
The following is sample output from the show ip pim interface command with a count:
Switch# show ip pim interface count
The following is sample output from the show ip pim interface command with a count when IP
multicast is enabled. The example lists the PIM interfaces that are fast-switched and process-switched,
and the packet counts for these. The H is added to interfaces where IP multicast is enabled.
Switch# show ip pim interface count
Command Purpose
Switch# clear ip mroute Deletes entries from the IP routing table.
Switch# clear ip mfib counters Deletes all per-route and global MFIB counters.
Note IP multicast routes can be regenerated in response to protocol events and as data packets arrive.
Configuration Examples
The following sections provide IP multicast routing configuration examples:
• PIM Dense Mode: Example, page 29-26
• PIM Sparse Mode: Example, page 29-27
• Bidirectional PIM Mode: Example, page 29-27
• Sparse Mode with a Single Static RP: Example, page 29-27
• Sparse Mode with Auto-RP: Example, page 29-28
ip pim dense-mode
Note The same RP cannot be used for both bidirectional and sparse mode groups.
The following example sets the PIM RP address to 172.16.1.1 for the multicast group 225.2.2.2 only:
access list 1 225.2.2.2 0.0.0.0
ip pim rp-address 172.17.1.1
This chapter describes the tasks for configuring policy-based routing (PBR) on a Catalyst 4500 series
switch and includes these major sections:
• Overview of Policy-Based Routing, page 30-1
• Policy-Based Routing Configuration Task List, page 30-6
• Policy-Based Routing Configuration Examples, page 30-8
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Note To identify the hardware platform or software image information associated with a feature, use the
Feature Navigator on Cisco.com to search for information about the feature or refer to the software
release notes for a specific release.
You can set up PBR as a way to route packets based on configured policies. For example, you can
implement routing policies to allow or deny paths based on the identity of a particular end system, or an
application protocol.
PBR allows you to perform the following tasks:
• Classify traffic based on extended access list criteria.
• Route packets to specific traffic-engineered paths.
Policies can be based on IP address, port numbers, or protocols. For a simple policy, use any one of these
descriptors; for a complicated policy, use all of them.
About PBR
All packets received on an interface with PBR enabled are passed through enhanced packet filters known
as route maps. The route maps used by PBR dictate the policy, determining to where the packets are
forwarded.
Route maps are composed of statements. The route map statements can be marked as permit or deny,
and they are interpreted in the following ways:
• If a statement is marked as deny, the packets meeting the match criteria are sent back through the
normal forwarding channels and destination-based routing is performed.
• If the statement is marked as permit and a packet matches the access-lists, then the first valid set
clause is applied to that packet.
This is explained in more detail in the section Understanding Route-Maps, page 30-2.
You specify PBR on the incoming interface (the interface on which packets are received), not outgoing
interface.
Understanding Route-Maps
PBR is implemented by applying a route-map on an incoming interface. A given interface can have only
one route-map configured.
A route-map is configured at the global configuration parser mode. You can then apply this route-map
on one or more interfaces (in the interface configuration parser sub-mode).
A route-map is comprised of one or more route-map statements. Each statement has a sequence number,
as well as a permit or deny clause.
Each route-map statement contains match and set commands. The match command denotes the match
criteria to be applied on the packet data. The set command denote the PBR action to be taken on the
packet.
The following example shows a single route-map called rm-test and six route-map statements:
route-map rm-test permit 21
match ip address 101
set ip next-hop 21.1.1.1
!
route-map rm-test permit 22
match ip address 102
set ip next-hop 22.2.2.1
!
route-map rm-test permit 23
match ip address 101 2102
set interface vlan23
!
route-map rm-test deny 24
match ip address 104
set ip next-hop 24.4.4.1
!
route-map rm-test deny 25
match ip address 105
set ip next-hop 25.5.5.1
!
route-map rm-test permit 26
match ip address 2104
set ip next-hop 26.6.6.1
The numbers 21, 22, ... 26 are the sequence numbers of the route-map statements.
The following topics are discussed:
• PBR Route-Map Processing Logic, page 30-3
• PBR Route-Map Processing Logic Example, page 30-4
When a packet is received on an interface configured with a route-map, the forwarding logic processes
each route-map statement according to the sequence number.
If the route-map statement encountered is a route-map...permit statement:
• The packet is matched against the criteria in the match command. This command may refer to an
ACL that may itself have one or more permit and/or deny expressions. The packet is matched against
the expressions in the ACL, and a permit/deny decision is reached.
• If the decision reached is permit, then the PBR logic executes the action specified by the set
command on the packet.
• If the decision reached is deny, then the PBR action (specified in the set command) is not applied.
Instead the processing logic moves forward to look at the next route-map statement in the sequence
(the statement with the next higher sequence number). If no next statement exists, PBR processing
terminates, and the packet is routed using the default IP routing table.
If the route-map statement encountered is a route-map... deny statement:
• The packet is matched against the criteria given in the match command. This command may refer
to an ACL that may itself have one or more permit and/or deny expressions. The packet is matched
against the expressions in the ACL, and a permit/deny decision is reached.
• If the criteria decision is permit, then the PBR processing terminates, and the packet is routed using
the default IP routing table.
• If the criteria decision is deny, then the PBR processing logic moves forward to look at the next
route-map statement in the sequence (the statement with the next higher sequence number). If no
next statement exists, PBR processing terminates, and the packet is routed using the default IP
routing table.
Note The set command has no effect inside a route-map... deny statement.
Note ACL 101 is also matched in sequence #23, but the processing doesn't reach that point
Understanding PBR
The Catalyst 4500 Supervisor Engine 7-E supports matching route-map actions with a packet by
installing entries in the TCAM that match the set of packets described by the ACLs in the match criteria
of the route map. These TCAM entries point at adjacencies that either perform the necessary output
actions or forward the packet to software if either hardware does not support the action or its resources
are exhausted.
If the route-map specifies a set interface … action, packets that match the match statement are routed
in software. Similarly, if the route-map specifies a set default interface… action and there is no
matching IP route for the packet, the packet is routed in software.
The Catalyst 4500 Supervisor Engine 7-E supports hardware PBR switching only for set ip next-hop…
and set ip default next-hop actions.
Note The scale of hardware-based PBR is determined by TCAM size and the time required for the CPU to
flatten the ACL before programming into hardware. The latter will noticeably increase if a PBR policy
requires a considerable number of class-maps. For example, a PBR policy of 1,200 class-maps may
require 60-90 minutes of "flatten" time before programming into hardware. This process may repeat if
an adjacency change requires PBR reprogramming.
Note PBR configuration is only allowed on interfaces belonging to the global routing table. PBR is not
supported on interfaces that belong to VRFs.
Enabling PBR
To enable PBR, you must create a route map that specifies the match criteria and the resulting action if
all of the match clauses are met. Then you must apply that route-map on a particular interface. All
packets arriving on the specified interface matching the match clauses are subject to PBR.
To enable PBR on an interface, perform this task:
Command Purpose
Step 1 Switch(config)# route-map map-tag [permit | Defines a route map to control where packets are sent. This
deny] [sequence-number] command puts the switch into route-map configuration mode.
Step 2 Switch(config-route-map)# match ip address Specifies the match criteria. The match criteria take the form
{access-list-number | name} of one or more Standard or Extended IP access-lists. The
[...access-list-number | name]
access-lists can specify the source and destination IP
addresses, protocol types, and port numbers. See Chapter 42,
“Configuring Network Security with ACLs” for more
information on Standard and Extended IP access-lists.
Perform Step 3, 4, 5, or 6
Step 3 Switch(config-route-map)# set ip next-hop Specifies the next-hop IP address to which matching packets
ip-address [... ip-address] are sent. The next-hop IP address specified here must belong
to a subnet that is directly connected to this switch.
If more than one next-hop IP address is specified, the first
usable next-hop is chosen for routing matching packets. If the
Or next-hop is (or becomes) unavailable for some reason, the
next one in the list is chosen.
Command Purpose
Step 4 Switch(config-route-map)# set interface Specifies the output interface from which the packet will be
interface-type interface-number sent. This action specifies that the packet is forwarded out of
[... type number]
the local interface. The interface must be a Layer 3 interface
(not a switchport).
Packets are forwarded on the specified interface only if one
Or of the following conditions is met:
• The destination IP address in the packet lies within the IP
subnet to which the specified interface belongs.
• The destination IP address in the packet is reachable
through the specified interface (as per the IP routing
table).
If the destination IP address on the packet does not meet
either of these conditions, the packet is dropped. This action
forces matching packets to be switched in software.
Step 5 Switch(config-route-map)# set ip default Sets next hop to which to route the packet if there is no
next-hop ip-address [... ip-address] explicit route for the destination IP address in the packet.
Before forwarding the packet to the next hop, the switch looks
up the packet’s destination address in the unicast routing
table. If a match is found, the packet is forwarded by way of
the routing table. If no match is found, the packet is forwarded
Or to the specified next hop.
Step 6 Switch(config-route-map)# set default Specifies the output interface from which the packet will be
interface interface-type interface-number sent if there is no explicit route for this destination. Before
[...type ...number]
forwarding the packet to the next hop, the switch looks up the
packet’s destination address in the unicast routing table. If a
match is found, the packet is forwarded via the routing table.
If no match is found, the packet is forwarded to the specified
output interface.
Packets are forwarded on the specified interface only if one
of the following conditions is met:
• The destination IP address in the packet lies within the IP
subnet to which the specified interface belongs.
• The destination IP address in the packet is reachable
through the specified interface (as per the IP routing
table).
If the destination IP address on the packet does not meet
either of these conditions, the packet is dropped. This action
forces matching packets to be switched in software.
Step 7 Switch(config-route-map)# interface Specifies the interface. This command puts the switch into
interface-type interface-number interface configuration mode.
Step 8 Switch(config-if)# ip policy route-map map-tag Identifies the route map to use for PBR. One interface can
only have one route map tag, but you can have multiple route
map entries with different sequence numbers. These entries
are evaluated in sequence number order until the first match.
If there is no match, packets are routed as usual.
The set commands can be used in conjunction with each other. These commands are evaluated in the
order shown in Step 3 in the previous task table. A usable next hop implies an interface. Once the local
switch finds a next hop and a usable interface, it routes the packet.
Command Purpose
Switch(config)# ip local policy route-map map-tag Identifies the route map to use for local PBR.
All packets originating on the switch are then be subject to local PBR.
Use the show ip local policy command to display the route map used for local PBR, if one exists.
Unsupported Commands
The following PBR commands in config-route-map mode are in the CLI but not supported in Cisco IOS
for the switches. If you attempt to use these commands, an error message displays.
• match-length
• set ip qos
• set ip tos
• set ip precedence
Equal Access
The following example provides two sources with equal access to two different service providers.
Packets arriving on interface fastethernet 3/1 from the source 1.1.1.1 are sent to the switch at 6.6.6.6 if
the switch has no explicit route for the destination of the packet. Packets arriving from the source 2.2.2.2
are sent to the switch at 7.7.7.7 if the switch has no explicit route for the destination of the packet. All
other packets for which the switch has no explicit route to the destination are discarded.
Note If the packets you want to drop do not match either of the first two route-map clauses, then change |
set default interface null0 to set interface null0.
Deny ACE
The following example illustrates how to stop processing a given route map sequence, and to jump to
the next sequence. Packets arriving from source 1.1.1.1 skip sequence 10 and jump to sequence 20. All
other packets from subnet 1.1.1.0 follow the set statement in sequence 10.
access-list 1 deny ip 1.1.1.1
access-list 1 permit ip 1.1.1.0 0.0.0.255
access-list 2 permit ip 1.1.1.1
access-list 2 permit ip 2.2.2.2
!
interface fastethernet 3/1
ip policy route-map Texas
!
route-map Texas permit 10
match ip address 1
set ip next-hop 3.3.3.3
!
route-map Texas permit 20
match ip address 2
set ip next-hop 3.3.3.5
Virtual Private Networks (VPNs) provide a secure way for customers to share bandwidth over an ISP
backbone network. A VPN is a collection of sites sharing a common routing table. A customer site is
connected to the service provider network by one or more interfaces, and the service provider associates
each interface with a VPN routing table. A VPN routing table is called a VPN routing/forwarding (VRF)
table.
With the VRF-lite feature, the Catalyst 4500 series switch supports multiple VPN routing/forwarding
instances in customer edge devices. (VRF-lite is also termed multi-VRF CE, or multi-VRF Customer
Edge Device). VRF-lite allows a service provider to support two or more VPNs with overlapping IP
addresses using one interface.
Note Starting with Cisco IOS Release 12.2(52)SG, the Catalyst 4500 switch supports VRF lite NSF support
with routing protocols OSPF/EIGRP/BGP.
Note The switch does not use Multiprotocol Label Switching (MPLS) to support VPNs. For information about
MPLS VRF, refer to the Cisco IOS Switching Services Configuration Guide at:
http://www.cisco.com/en/US/docs/ios/mpls/configuration/guide/mp_vpn_ipv4_ipv6_ps6922_TSD_Pro
ducts_Configuration_Guide_Chapter.html
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
VRF-lite Overview
VRF-lite is a feature that enables a service provider to support two or more VPNs, where IP addresses
can be overlapped among the VPNs. VRF-lite uses input interfaces to distinguish routes for different
VPNs and forms virtual packet-forwarding tables by associating one or more Layer 3 interfaces with
each VRF. Interfaces in a VRF can be either physical, such as Ethernet ports, or logical, such as VLAN
SVIs, but a Layer 3 interface cannot belong to more than one VRF at any time.
Figure 31-1 Catalyst 4500 Series Switches Acting as Multiple Virtual CEs
VPN 1 VPN 1
CE PE PE CE
Catalyst 4500 MPLS Catalyst 4500
Si Si
switch network switch
MPLS-VRF MPLS-VRF
router router
VPN 2 VPN 2
99721
CE = Customer edge device
PE = Provider edge router
This is the packet-forwarding process in a VRF-lite CE-enabled network as shown in Figure 31-1:
• When the CE receives a packet from a VPN, it looks up the routing table based on the input interface.
When a route is found, the CE forwards the packet to the PE.
• When the ingress PE receives a packet from the CE, it performs a VRF lookup. When a route is
found, the router adds a corresponding MPLS label to the packet and sends it to the MPLS network.
• When an egress PE receives a packet from the network, it strips the label and uses the label to
identify the correct VPN routing table. Then the egress PE performs the normal route lookup. When
a route is found, it forwards the packet to the correct adjacency.
• When a CE receives a packet from an egress PE, it uses the input interface to look up the correct
VPN routing table. If a route is found, the CE forwards the packet within the VPN.
To configure VRF, create a VRF table and specify the Layer 3 interface associated with the VRF. Then
configure the routing protocols in the VPN and between the CE and the PE. BGP is the preferred routing
protocol used to distribute VPN routing information across the provider’s backbone. The VRF-lite
network has three major components:
• VPN route target communities—Lists of all other members of a VPN community. You need to
configure VPN route targets for each VPN community member.
• Multiprotocol BGP peering of VPN community PE routers—Propagates VRF reachability
information to all members of a VPN community. You need to configure BGP peering in all PE
routers within a VPN community.
• VPN forwarding—Transports all traffic between all VPN community members across a VPN
service-provider network.
• The capability vrf-lite subcommand under router ospf should be used when configuring OSPF as
the routing protocol between the PE and the CE.
Configuring VRFs
To configure one or more VRFs, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ip routing Enables IP routing.
Step 3 Switch(config)# ip vrf vrf-name Names the VRF, and enter VRF configuration mode.
Step 4 Switch(config-vrf)# rd Creates a VRF table by specifying a route distinguisher.
route-distinguisher
Enter either an AS number and an arbitrary number
(xxx:y) or an IP address and arbitrary number
(A.B.C.D:y).
Step 5 Switch(config-vrf)# route-target Creates a list of import, export, or import and export route
{export | import | both}
route-target-ext-community
target communities for the specified VRF. Enter either an
AS system number and an arbitrary number (xxx:y) or an
IP address and an arbitrary number (A.B.C.D:y).
Note This command is effective only if BGP is running.
Step 6 Switch(config-vrf)# import map (Optional) Associates a route map with the VRF.
route-map
Step 7 Switch(config-vrf)# interface Enters interface configuration mode and specify the Layer
interface-id
3 interface to be associated with the VRF. The interface
can be a routed port or SVI.
Step 8 Switch(config-if)# ip vrf forwarding Associates the VRF with the Layer 3 interface.
vrf-name
Step 9 Switch(config-if)# end Returns to privileged EXEC mode.
Step 10 Switch# show ip vrf [brief | detail | Verifies the configuration. Display information about the
interfaces] [vrf-name]
configured VRFs.
Step 11 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Note For complete syntax and usage information for the following commands, see the switch command
reference for this release and see the Cisco IOS Switching Services Command Reference at:
http://www.cisco.com/en/US/docs/ios/ipswitch/command/reference/isw_book.html
Use the no ip vrf vrf-name global configuration command to delete a VRF and to remove all interfaces
from it. Use the no ip vrf forwarding interface configuration command to remove an interface from the
VRF.
Note For complete syntax and usage information for the following commands, see the switch command
reference for this release and see the Cisco IOS Switching Services Command Reference at:
http://www.cisco.com/en/US/docs/ios/ipswitch/command/reference/isw_book.html
Command Purpose
Switch(config)# arp vrf vrf-name Create a static arp entry in the specified VRF.
<ip-address> mac-address> ARPA
Switch# show ip arp vrf vrf-name Displays the ARP table (static and dynamic entries) in the specified
VRF.
Command Purpose
Switch# ping vrf vrf-name ip-host Ping an IP host or address in the specified VRF.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# snmp-server trap Enables SNMP traps for packets on a VRF.
authentication vrf
Step 3 Switch(config)# snmp-server engineID Configures a name for the remote SNMP engine on a switch.
remote host vrf vpn-instance
engine-id string
Step 4 Switch(config)# snmp-server host Specifies the recipient of an SNMP trap operation and specify the VRF
host vrf vpn-instance traps table to be used for sending SNMP traps.
community
Step 5 Switch(config)# snmp-server host Specifies the recipient of an SNMP inform operation and specify the
host vrf vpn-instance informs VRF table to be used for sending SNMP informs.
community
Step 6 Switch(config)# snmp-server user Adds a user to an SNMP group for a remote host on a VRF for SNMP
user group remote host vrf vpn- access.
instance security model
Step 7 Switch(config)# end Returns to privileged EXEC mode.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode, and specify the Layer 3 interface
interface-id to configure.
Step 3 Switch(config-if)# no switchport Removes the interface from Layer 2 configuration mode if it is a
physical interface.
Step 4 Switch(config-if)# ip vrf forwarding Configures VRF on the interface.
vrf-name
Step 5 Switch(config-if-vrf)# ip address Enters the IP address for the interface.
ip-address subnet-mask
Command Purpose
Step 6 Switch(config-if-vrf)# ip verify Enables uRPF on the interface.
unicast source reachable-via
rx allow-default
Step 7 Switch(config-if-vrf)# end Returns to privileged EXEC mode.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# logging on Enables or temporarily disable logging of storage router event message.
Step 3 Switch(config)# logging host Specifies the host address of the syslog server where logging messages
ip-address vrf vrf-name are to be sent.
Step 4 Switch(config)# logging buffered Logs messages to an internal buffer.
logging buffered size debugging
Step 5 Switch(config)# logging trap Limits the logging messages sent to the syslog server.
debugging
Step 6 Switch(config)# logging facility Sends system logging messages to a logging facility.
facility
Step 7 Switch(config)# end Returns to privileged EXEC mode.
Command Purpose
traceroute vrf vrf-name ipaddress Specifies the name of a VPN VRF in which to find the destination
address.
To specify the source IP address for FTP connections, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] ip ftp Specifies the source IP address for FTP connections.
source-interface interface-type
interface-number To use the address of the interface where the connection is made, use
the no form of this command
Step 3 Switch(config)# end Returns to privileged EXEC mode.
To specify the IP address of an interface as the source address for TFTP connections, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] ip tftp Specifies the source IP address for TFTP connections.
source-interface interface-type
interface-number To return to the default, use the no form of this command.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Command Purpose
Switch# telnet <ip-address>/vrf Telnet to an ip host or address in the specified VRF.
vrf-name
Switch# ssh -l <username> -vrf SSH to an ip host or address in the specified VRF.
vrf-name ip-host
Command Purpose
Switch# ntp server vrf vrf-name Configure NTP server in the specified VRF.
ip-host
Switch# ntp peer vrf vrf-name Configure NTP peer in the specified VRF.
ip-host
Note For complete syntax and usage information for the following commands, see the switch command
reference for this release and see the Cisco IOS Switching Services Command Reference at:
http://www.cisco.com/en/US/docs/ios/ipswitch/command/reference/isw_book.html
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ip routing Enables IP routing.
Step 3 Switch(config)# ip vrf vrf-name Names the VRF, and enter VRF configuration mode.
Step 4 Switch(config-vrf)# ip (Optional) Enables global multicast routing for VRF table.
multicast-routing vrf vrf-name
Step 5 Switch(config-vrf)# rd Creates a VRF table by specifying a route distinguisher.
route-distinguisher
Enter either an AS number and an arbitrary number
(xxx:y) or an IP address and arbitrary number
(A.B.C.D:y).
Step 6 Switch(config-vrf)# route-target Creates a list of import, export, or import and export route
{export | import | both}
route-target-ext-community
target communities for the specified VRF. Enter either an
AS system number and an arbitrary number (xxx:y) or an
IP address and an arbitrary number (A.B.C.D:y).
The route-target-ext-community should be the same as the
route-distinguisher entered in Step 4.
Step 7 Switch(config-vrf)# import map (Optional) Associates a route map with the VRF.
route-map
Step 8 Switch(config-vrf)# interface Enters interface configuration mode and specifies the
interface-id
Layer 3 interface to be associated with the VRF. The
interface can be a routed port or a SVI.
Step 9 Switch(config-if)# ip vrf forwarding Associates the VRF with the Layer 3 interface.
vrf-name
Step 10 Switch(config-if)# ip address Configures IP address for the Layer 3 interface.
ip-address mask
Step 11 Switch(config-if)# ip pim Enables PIM on the VRF-associated Layer 3 interface.
[sparse-dense mode | dense-mode |
sparse-mode]
Step 12 Switch(config-if)# end Returns to privileged EXEC mode.
Step 13 Switch# show ip vrf [brief | detail | Verifies the configuration. Display information about the
interfaces] [vrf-name]
configured VRFs.
Step 14 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
For more information about configuring a multicast within a Multi-VRF CE, see the
Cisco IOS IP Multicast Configuration Guide, Release 12.4.
Use the no ip vrf vrf-name global configuration command to delete a VRF and to remove all interfaces
from it. Use the no ip vrf forwarding interface configuration command to remove an interface from the
VRF.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# router ospf Enables OSPF routing, specifies a VPN forwarding table,
process-id vrf vrf-name and enters router configuration mode.
Step 3 Switch(config-router)# (Optional) Logs changes in the adjacency state. This is the
log-adjacency-changes default state.
Step 4 Switch(config-router)# redistribute Sets the switch to redistribute information from the BGP
bgp autonomous-system-number subnets network to the OSPF network.
Step 5 Switch(config-router)# network Defines a network address and mask on which OSPF runs
network-number area area-id and the area ID for that network address.
Step 6 Switch(config-router)# end Returns to privileged EXEC mode.
Step 7 Switch# show ip ospf process-id Verifies the configuration of the OSPF network.
Step 8 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Use the no router ospf process-id vrf vrf-name global configuration command to disassociate the VPN
forwarding table from the OSPF routing process.
The following examples configure a single VRF named VRF-RED:
Switch(config)# ip vrf VRF-RED
Switch(config-vrf)# rd 1:1
Switch(config-vrf)# exit
Switch(config)# router eigrp virtual-name
Switch(config-router)# address-family ipv4 vrf VRF-RED autonomous-system 1
Switch(config-router-af)# network 10.0.0.0 0.0.0.255
Switch(config-router-af)# topology base
Switch(config-router-topology)# default-metric 10000 100 255 1 1500
Switch(config-router-topology)# exit-af-topology
Switch(config-router-af)# exit-address-family
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# router bgp Configures the BGP routing process with the AS number
autonomous-system-number passed to other BGP routers and enters router
configuration mode.
Command Purpose
Step 3 Switch(config-router)# network Specifies a network and mask to announce using BGP.
network-number mask network-mask
Step 4 Switch(config-router)# redistribute Sets the switch to redistribute OSPF internal routes.
ospf process-id match internal
Step 5 Switch(config-router)# network Defines a network address and mask on which OSPF runs
network-number area area-id and the area ID for that network address.
Step 6 Switch(config-router-af)# Defines BGP parameters for PE to CE routing sessions and
address-family ipv4 vrf vrf-name enters VRF address-family mode.
Step 7 Switch(config-router-af)# neighbor Defines a BGP session between PE and CE routers.
address remote-as as-number
Step 8 Switch(config-router-af)# neighbor Activates the advertisement of the IPv4 address family.
address activate
Step 9 Switch(config-router-af)# end Returns to privileged EXEC mode.
Step 10 Switch# show ip bgp [ipv4] [neighbors] Verifies BGP configuration.
Step 11 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Use the no router bgp autonomous-system-number global configuration command to delete the BGP
routing process. Use the command with keywords to delete routing characteristics.
VPN1 Si Si
99722
3/3
PE = Provider edge router
Configuring Switch S8
On switch S8, enable routing and configure VRF.
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip routing
Switch(config)# ip vrf v11
Switch(config-vrf)# rd 800:1
Switch(config-vrf)# route-target export 800:1
Switch(config-vrf)# route-target import 800:1
Switch(config-vrf)# exit
Switch(config)# ip vrf v12
Switch(config-vrf)# rd 800:2
Switch(config-vrf)# route-target export 800:2
Switch(config-vrf)# route-target import 800:2
Switch(config-vrf)# exit
Configure the loopback and physical interfaces on switch S8. Fast Ethernet interface 3/5 is a trunk
connection to the PE. Interfaces 3/7 and 3/11 connect to VPNs:
Switch(config)# interface loopback1
Switch(config-if)# ip vrf forwarding v11
Switch(config-if)# ip address 8.8.1.8 255.255.255.0
Switch(config-if)# exit
Configure the VLANs used on switch S8. VLAN 10 is used by VRF 11 between the CE and the PE.
VLAN 20 is used by VRF 12 between the CE and the PE. VLANs 118 and 208 are used for VRF for the
VPNs that include switch S11 and switch S20, respectively:
Switch(config)# interface Vlan10
Switch(config-if)# ip vrf forwarding v11
Switch(config-if)# ip address 38.0.0.8 255.255.255.0
Switch(config-if)# exit
Router(config)# ip vrf v2
Router(config-vrf)# rd 100:2
Router(config-vrf)# route-target export 100:2
Router(config-vrf)# route-target import 100:2
Router(config-vrf)# exit
Router(config)# ip cef
Router(config)# interface Loopback1
Router(config-if)# ip vrf forwarding v1
Router(config-if)# ip address 3.3.1.3 255.255.255.0
Router(config-if)# exit
Command Purpose
Switch# show ip protocols vrf vrf-name Displays routing protocol information associated
with a VRF.
Switch# show ip route vrf vrf-name [connected] [protocol Displays IP routing table information associated
[as-number]] [list] [mobile] [odr] [profile] [static] [summary] with a VRF.
[supernets-only]
Switch# show ip vrf [brief | detail | interfaces] [vrf-name] Displays information about the defined VRF
instances.
Switch# show ip mroute vrf instance-name <a.b.c.d | active | Displays information about the defined VRF
bidriectional| count | dense| interface | proxy | pruned | instances.
sparse | ssm | static | summary>
This example shows how to display multicast route table information within a VRF instance:
Switch# show ip mroute vrf mcast2 234.34.10.18
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, 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 - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
Note For more information about the information in the displays, refer to the Cisco IOS Switching Services
Command Reference at:
http://www.cisco.com/en/US/docs/ios/ipswitch/command/reference/isw_book.html
Flow is defined as a unique set of key fields attributes, which might include fields of packet, packet
routing attributes, and input and output interface information. A NetFlow feature defines a flow as a
sequence of packets that have the same values for the feature key fields. Flexible Netflow (FNF) allows
you to collect and optionally export a flow record that specifies various flow attributes. Netflow
collection supports IP, IPv6 and Layer 2 traffic.
Note This chapter provides Catalyst 4500 switch specific information. For platform independent
configuration and command information refer to the following links
http://www.cisco.com/en/US/partner/docs/ios/fnetflow/configuration/guide/12_4t/fnf_12_4t_book.htm
l
Cisco IOS Flexible NetFlow Command Reference:
http://www.cisco.com/en/US/partner/docs/ios/fnetflow/command/reference/fnf_book.html
!
flow monitor m1
! monitor refers record configuration and optionally exporter
! configuration. It specifies the cache size i.e. how many unique flow
! records to collect
record r1
exporter e1
cache timeout active 60
cache timeout inactive 30
cache entries 1000
8. On a given target monitoring Layer 2 and Layer 3, simultaneous traffic is not supported:
interface channel-group 1
datalink flow monitor m1 input
ip flow monitor m2 input
!
9. Selection of Layer 2 and Layer 3 packet fields in a single flow record definition is not allowed.
However, packet COS and Layer 3 packet field selection is allowed.
10. Only permanent and normal flow cache types are supported.
11. Supervisor 7-E does not support predefined records like traditional routers (record neflow ipv4
original-input).
12. Interface option not supported with Cos,Tos, TTL or Packet length options.
13. The configuration of the flow exporter does not support the option output features.
14. Flow aging in flow cache is controlled through active and in-active timer configuration. The
minimum for active and in-active aging timers is 5 seconds. The timers must be in units of 5 seconds.
Note Flows in the hardware table are deleted after 5 seconds of in-activity irrespective of the active
or in-active timer configuration values. This allows you to create new hardware flows quickly.
• When TTL is configured as a flow field, the following values are reported for a given packet TTL
value. Table 32-1 lists the packet TTL and reported values.
• When packet length is configured as a flow field, the following values are reported for a given packet
length value. Table 32-2 lists the packet length and reported values.
l
Table 32-2 Packet Length Map: Packet Length Configured
The following table lists the options available through FNF and the supported fields.
Table 32-3 Options Available through FNF and the Supported Fields
Table 32-3 Options Available through FNF and the Supported Fields
Table 32-3 Options Available through FNF and the Supported Fields
Setting active cache timeout to a small value may cause the flows to be exported more frequently to the
remote collector. This also causes software to delete flows from the local cache after exporting. So, cache
statistics reported by switch may not display the actual flows being monitored.
This chapter describes how to configure quality of service (QoS) with either automatic QoS (auto-QoS)
commands or standard QoS commands on a switch running Supervisor Engine 7-E. It describes how to
specify QoS configuration on different types of interfaces (access, Layer 2 trunk, Layer 3 routed,
Etherchannel) as well as VLANs. It also describes how to specify different QoS configurations on
different VLANs on a given interface (per-port per-VLAN QoS).
Supervisor Engine 7-E supports a QoS configuration model known as MQC (Modular QoS CLI). Please
refer to the appropriate configuration section for the supervisor engine on which QoS will be configured.
For more information about MQC, see the “Modular Quality of Service Command-Line Interface"
section of the Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.3.
This chapter consists of these sections:
• Overview of QoS on the Catalyst 4500 Series Switch, page 33-1
• Configuring QoS, page 33-11
• Configuring Auto-QoS, page 33-43
Note For complete syntax and usage information for the switch commands used in this chapter, first look at
the Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products//hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it will be found in the larger
Cisco IOS library. Refer to the Cisco IOS Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Prioritization
QoS implementation is based on the DiffServ architecture. This architecture specifies that each packet
is classified upon entry into the network. The classification is carried in the IP packet header, using 6
bits from the deprecated IP type of service (TOS) field to carry the classification (class) information.
Classification can also be carried in the Layer 2 frame. These special bits in the Layer 2 frame or
a Layer 3 packet are described here and shown in Figure 33-1:
• Prioritization values in Layer 2 frames:
Layer 2 Inter-Switch Link (ISL) frame headers have a 1-byte User field that carries an IEEE 802.1p
class of service (CoS) value in the three least-significant bits. On interfaces configured as Layer 2
ISL trunks, all traffic is in ISL frames.
Layer 2 802.1Q frame headers have a 2-byte Tag Control Information field that carries the CoS
value in the three most-significant bits, which are called the User Priority bits. On interfaces
configured as Layer 2 802.1Q trunks, all traffic is in 802.1Q frames except for traffic in the native
VLAN.
Other frame types cannot carry Layer 2 CoS values.
Layer 2 CoS values range from 0 for low priority to 7 for high priority.
• Prioritization bits in Layer 3 packets:
Layer 3 IP packets can carry either an IP precedence value or a Differentiated Services Code Point
(DSCP) value. QoS supports the use of either value because DSCP values are backward-compatible
with IP precedence values.
IP precedence values range from 0 to 7.
DSCP values range from 0 to 63.
Encapsulated Packet
Layer 2
IP header Data
header
68140
length (1 byte)
IP precedence or DSCP
All switches and routers across the Internet rely on the class information to provide the same forwarding
treatment to packets with the same class information and different treatment to packets with different
class information. The class information in the packet can be assigned by end hosts or by switches or
routers along the way, based on a configured policy, detailed examination of the packet, or both.
Detailed examination of the packet is expected to happen closer to the edge of the network so that the
core switches and routers are not overloaded.
Switches and routers along the path can use the class information to limit the amount of resources
allocated per traffic class. The behavior of an individual device when handling traffic in the DiffServ
architecture is called per-hop behavior. If all devices along a path provide a consistent per-hop behavior,
you can construct an end-to-end QoS solution.
Implementing QoS in your network can be a simple or complex task and depends on the QoS features
offered by your internetworking devices, the traffic types and patterns in your network, and the
granularity of control you need over incoming and outgoing traffic.
QoS Terminology
The following terms are used when discussing QoS features:
• 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 Layer 3 packets and Layer 2 frames:
– Layer 2 class of service (CoS) values, which 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 Layer 2 CoS values.
Note On interfaces configured as Layer 2 ISL trunks, all traffic is in ISL frames. On interfaces
configured as Layer 2 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 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) has defined the six most significant bits of the 1-byte IP ToS field as the DSCP.
The per-hop behavior represented by a particular DSCP value is configurable. DSCP values
range between 0 and 63.
Note Layer 3 IP packets can carry either an IP precedence value or a DSCP value. QoS supports
the use of either value, since DSCP values are backwards compatible with IP precedence
values. See Table 33-1.
Port/Queue
Output QoS Output Active Queue Scheduling
Output Policing Packet
203973
Step 1 The incoming packet is classified (based on different packet fields, receive port and/or VLAN) to belong
to a traffic class.
Step 2 Depending on the traffic class, the packet is rate-limited/policed and its priority is optionally marked
(typically at the edge of the network) so that lower priority packets are dropped or marked with lower
priority in the packet fields (DSCP and CoS).
Step 3 After the packet has been marked, it is looked up for forwarding. This action obtains the transmit port
and VLAN to transmit the packet.
Step 4 The packet is classified in the output direction based on the transmit port and/or VLAN. The
classification takes into account any marking of the packet by input QoS.
Step 5 Depending on the output classification, the packet is policed, its priority is optionally (re-)marked, and
the transmit queue for the packet is determined depending on the traffic class.
Step 6 The transmit queue state is dynamically monitored via the AQM (Active Queue Management) algorithm
and drop threshold configuration to determine whether the packet should be dropped or enqueued for
transmission.
Step 7 If eligible for transmission, the packet is enqueued to a transmit queue. The transmit queue is selected
based on output QoS classification criteria. The selected queue provides the desired behavior in terms
of latency and bandwidth.
Classification
Classification is the process of distinguishing one kind of traffic from another by examining the fields
in the packet. Classification is enabled when a QoS policy-map is attached to an interface.
You specify which fields in the frame or packet that you want to use to classify incoming traffic.
For non-IP traffic, you have the following classification options:
• CoS value in the VLAN tag of the incoming frame is used to classify the packet.
• If the frame does not contain a CoS value, the port's default CoS value ("0") is used for the
classification.
Perform the classification based on a configured MAC ACL, which examines the fields in the Layer
2 header.
For IP traffic, you have the following classification options:
• IP DSCP or IP Precedence in the incoming packet is used for classification. DSCP values range from
0 to 63.
• Perform the classification based on a configured IP standard or extended ACL, which examines
various fields in the IP header.
In the 'match' statements, you can specify the fields in the packet to match on, or you can use IP standard
or IP extended ACLs or MAC ACLs. For more information, see the “Classification Based on Class Maps
and Policy Maps” section on page 33-7.
If the class map is configured to match all the match criteria, then a packet must satisfy all the match
statements in the class map before the QoS action is taken. The QoS action for the packet is not taken if
the packet does not match even one match criterion in the class map.
If the class map is configured to match at least one match criterion, then a packet must satisfy at least
one of the match statements in the class map before the QoS action is taken. The QoS action for the
packet is not taken if the packet does not match any match criteria in the class map.
Note When you use the IP standard and IP extended ACLs, the permit and deny ACEs in the ACL have a
slightly different meaning in the QoS context.
• If a packet encounters (and satisfies) an ACE with a “permit,” then the packet “matches” the match
criterion in the QoS classification.
• If a packet encounters (and satisfies) an ACE with a “deny,” then the packet “does not match” the
match criterion in the QoS classification.
• If no match with a permit action is encountered and all the ACEs have been examined, then the
packet “does not match” the criterion in the QoS classification.
Note When creating an access list, remember that, by default, the end of the access list contains an implicit
deny statement for everything if it did not find a match before reaching the end.
After a traffic class has been defined with the class map, you can create a policy that defines the QoS
actions for a traffic class. A policy might contain multiple classes with actions specified for each one of
them. A policy might include commands to classify the class as a particular aggregate (for example,
assign a DSCP) or rate limit the class. This policy is then attached to a particular port on which it
becomes effective.
You implement IP ACLs to classify IP traffic by using the access-list global configuration command.
When a class-map is created with the match-all keyword, you cannot include both IP and MAC ACLs
as match criteria.
You create and name a policy map by using the policy-map global configuration command. When you
enter this command, the switch enters the policy-map configuration mode. In this mode, you specify the
actions to take on a specific traffic class by using the set, police, bandwidth, or shape policy-map
configuration and policy-map class configuration commands. To make the policy map effective, you
attach it to an interface by using the service-policy interface configuration command.
The policy map can also contain commands that define the policer, (the bandwidth limitations of the
traffic) and the action to take if the limits are exceeded. For more information, see the “Policing and
Marking” section on page 33-8.
A policy map also has these characteristics:
• A policy map can contain up to 254 class statements.
• You can have different classes within a policy map.
Traffic Shaping
Traffic Shaping provides the ability to control the rate of outgoing traffic in order to make sure that the
traffic conforms to the maximum rate of transmission contracted for it. Traffic that meets certain profile
can be shaped to meet the downstream traffic rate requirements to handle any data rate mismatches.
Each transmit queue can be configured to transmit a maximum rate using the shape command in the
policy-map class configuration command in class mode
The configuration allows you to specify the maximum rate of traffic. Any traffic that exceeds the
configured shape rate is queued and transmitted at the configured rate. If the burst of traffic exceeds the
size of the queue, packets are dropped to maintain transmission at the configured shape rate.
Packet Modification
A packet is classified, policed, and queued to provide QoS. Packet modifications can occur during this
process:
• For IP packets, classification involves assigning a DSCP to the packet. However, the packet is not
modified at this stage; only an indication of the assigned DSCP is carried along. The reason for this
is that QoS classification and ACL lookup occur in parallel, and it is possible that the ACL specifies
that the packet should be denied and logged. In this situation, the packet is forwarded with its
original DSCP to the CPU, where it is again processed through ACL software.
• For non-IP packets, classification involves assigning an internal DSCP to the packet, but because
there is no DSCP in the non-IP packet, no overwrite occurs. Instead, the internal DSCP is used both
for queueing and scheduling decisions and for writing the CoS priority value in the tag if the packet
is being transmitted on either an ISL or 802.1Q trunk port.
• During policing, IP and non-IP packets can have another DSCP assigned to them (if they are out of
profile and the policer specifies a markdown DSCP). Once again, the DSCP in the packet is not
modified, but an indication of the marked-down value is carried along. For IP packets, the packet
modification occurs at a later stage.
Flow-based QoS
Note Before reading this section, you should be familiar with implementing Flexible Netflow (Chapter 32,
“Configuring Flexible NetFlow”) and QoS implementation in this chapter.
Flow based QoS enables microflow policing and marking capability to dynamically learn traffic flows,
It also rate limits each unique flow to an individual rate. Flow based QoS is available on Supervisor
Engine 7-E with the built-in NetFlow hardware support. It can be applied to ingress traffic on both
switched and routed interfaces with flow masks defined using Flexible Netflow (FNF). It supports up to
100,000 individual flows in hardware and up to 512 unique policer configuration. Flow based QoS is
typically used in environments where per-user, granular rate-limiting required. For example, per-flow
outbound and inbound traffic rate might differ. Flow based QoS is also referred to as User Based Rate
Limiting (UBRL).
A flow is defined as a stream of packets having the same properties as those defined by the key fields in
the FNF flow record. A new flow is created when the value of data in packet’s key fields is unique with
respect to the flow that already exist.
A flow based QoS policy is possesses one or more classmaps matching on a FNF flow record. Such a
classmap must be configured as match-all to match all the match criteria specified in the classmap.
When a flow based QoS policy is attached to a QoS target, ingress traffic on the target is first classified
based on the classification rules specified in the class-map. If the classifier has FNF flow record, the
key fields specified in the FNF flow record are applied on the classified traffic to create flows provided
the flow does not already exist. The corresponding policy actions (policing and marking) are then
applied to these individual flows. Flow-based policers (termed microflow policers) rate limit each
unique flow. Flows are dynamically created and inactive flows are periodically aged out.
Flow based QoS policy can be attached to QoS targets such as port (P), vlan (V), per-port-per-vlan (PV),
and EtherChannel but only in the ingress direction.
For details on now to enable FNF, refer to the “Applying Flow-based QoS Policy” section on page 33-39.
Configuring QoS
Note HQoS is not supported on Supervisor Engine 7-E.
Topics include:
• MQC-based QoS Configuration, page 33-11
• Platform-supported Classification Criteria and QoS Features, page 33-11
• Platform Hardware Capabilities, page 33-12
• Prerequisites for Applying a QoS Service Policy, page 33-13
• Restrictions for Applying a QoS Service Policy, page 33-13
• Classification, page 33-13
• Policing, page 33-14
• Marking Network Traffic, page 33-16
• Shaping, Sharing (Bandwidth), Priority Queuing, Queue-limiting and DBL, page 33-23
• Enabling Per-Port Per-VLAN QoS, page 33-33
• Applying Flow-based QoS Policy, page 33-39
Note The incoming traffic is considered trusted by default. Only when the trusted boundary feature is enabled
on an interface can the port enter untrusted mode. In this mode, the switch marks the DSCP value of an
IP packet and the CoS value of the VLAN tag on the Ethernet frame as “0”.
Classification
Supervisor Engine 7-E supports classification of Layer 2, IP, IPv6 packets, and ARP packets marking
performed on input can be matched in the output direction. The previous table lists the full set of
capabilities. By default, the Supervisor Engine 7-E also supports classification resources sharing.
By default, when the same policy is attached to a port or a VLAN or on per-port per-vlan targets, ACL
entries are shared on the Supervisor Engine 7-E. Even though CAM entries are shared, QoS actions is
unique on each target.
For example:
class-map c1
match ip dscp 50
Policy Map p1
class c1
police rate 1 m burst 200000
If policy-map p1 is applied to interfaces Gig 1/1 and Gig 1/2, 1 CAM entry is used (one ACE that
matches IP packets), but 2 policers are allocated (one per target). So, all IP packets with dscp 50 are
policed to 1 mbps on interface Gig 1/1 and packets on interface Gig 1/2 are policed to 1 mbps.
Note With Cisco IOS Release 12.2(46)SG, you can issue the match protocol arp command. For details, see
the Catalyst 4500 Series Switch Cisco IOS Command Reference.
Classification Statistics
Supervisor 7-E supports only packet based classification statistics.
Supervisor 7-E supports TCAM resource sharing. When a policy-map is applied on multiple targets, the
command show policy-map interface displays the aggregate classification statistics, not those specific
to an interface.
Note To obtain per interface policy-map stats, you should configure a unique policy-map name on each
interface.
When a policy-map is attached to a port-channel member ports, classification statistics are not displayed.
Command Purpose
Switch(config)# [no] policy-map policy_name Creates a policy map with a user-specified name.
Use the no keyword to delete the policy map.
Command Purpose
Switch(config)# interface {vlan vlan_ID | Selects the interface to configure.
{fastethernet | gigabitethernet}
slot/interface | Port-channel number}
Switch(config-if)# [no] service-policy Attaches a policy map to the input direction of the
input policy_map_name interface. Use the no keyword to detach a policy
map from an interface.
Switch(config-if)# end Exits configuration mode.
Switch# show policy-map interface {vlan Verifies the configuration.
vlan_ID | {fastethernet | gigabitethernet}
slot/interface}
Policing
Supervisor Engine 7-E supports policers in the following operation modes:
• Single Rate Policer Two Color Marker
This kind of policer is configured with just the committed rate (CIR) and normal burst and it has
only conform and exceed actions.
This is the only form supported in the Supervisor Engine II-Plus to V-10GE based systems.
• Single Rate Three Color Marker (srTCM) (RFC 2697)
• Two Rate Three Color Marker (trTCM) (RFC 2698)
• Color Blind Mode
Policing accuracy of 0.75% of configured policer rate.
Supervisor Engine 7-E supports 16384 (16 x 1024, 16K) single rate, single burst policers. 16K
policers are organized as 8 banks of 2K policers. The policer banks are dynamically assigned (input
or output policer bank) by the software depending on the QoS configuration. So, the 16K policers
are dynamically partitioned by software as follows:
– 0 Input Policers and 16K Output Policers
– 2K Input Policers and 14K Output Policers
– 4K Input Policers and 12K Output Policers
– 6K Input Policers and 10K Output Policers
– 8K Input Policers and 8K Output Policers
– 10K Input Policers and 6K Output Policers
– 12K Input Policers and 4K Output Policers
– 14K Input Policers and 2K Output Policers
– 16K Input Policers and 0 Output Policers
These numbers represent individual policer entries in the hardware that support a single rate and burst
parameter. Based on this, Supervisor Engines 7-E supports the following number of policers:
• 16K Single Rate Policer with Single Burst (Two Color Marker)
• 8K Single Rate Three Color Marker (srTCM)
• 8K Two Rate Three Color Marker (trTCM)
These policers are partitioned between Input and Output in chunks of 2K policer banks. The different
types of policers can all co-exist in the system. However, a given type of policer (srTCM, trTCM etc.)
is configurable as a block of 128 policers.
http://www.cisco.com/en/US/docs/ios/12_2/qos/configuration/guide/qcfpolsh.html
Platform Restrictions
Platform restrictions include the following:
• Multi-policer actions can be specified (setting CoS and IP DSCP is supported).
• When unconditional marking and policer based marking exists on the same field(cos or dscp or
precedence), policer-based marking is preferred.
• If policer based service-policy is attached to both a port and a VLAN, port-based policed is preferred
by default. To over-ride a specific VLAN policy on a given port, then you must configure a per-port
per-vlan policy.
• You should not delete a port-channel with a per-port, per-VLAN QoS policy.
Workaround: Before deleting the port-channel, do the following:
1. Remove any per-port per-VLAN QoS policies, if any.
2. Remove the VLAN configuration on the port-channel with the no vlan-range command.
Contents
• “Information About Marking Network Traffic” section on page 33-16
• “Marking Action Drivers” section on page 33-19
• “Traffic Marking Procedure Flowchart” section on page 33-19
• “Restrictions for Marking Network Traffic” section on page 33-20
• “Multi-attribute Marking Support” section on page 33-20
• “Hardware Capabilities for Marking” section on page 33-21
• “Configuring the Policy Map Marking Action” section on page 33-21
• “Marking Statistics” section on page 33-22
Traffic marking is used to identify certain traffic types for unique handling, effectively partitioning
network traffic into different categories.
After the network traffic is organized into classes by traffic classification, traffic marking allows you to
mark (that is, set or change) a value (attribute) for the traffic belonging to a specific class. For instance,
you may want to change the class of service (CoS) value from 2 to 1 in one class, or you may want to
change the differentiated services code point (DSCP) value from 3 to 2 in another class. In this module,
these values are referred to as attributes or marking fields.
Attributes that can be set and modified include the following:
• CoS value of a tagged Ethernet frame
• DSCP/Precedence value in the Type of Service (ToS) byte of IPv4.
• QoS group identifier (ID)
• DSCP /Precedence value in the traffic class byte of IPv6
Traffic marking allows you to fine-tune the attributes for traffic on your network. This increased
granularity helps isolate traffic that requires special handling, and thus, helps to achieve optimal
application performance.
Traffic marking allows you to determine how traffic will be treated, based on how the attributes for the
network traffic are set. It allows you to segment network traffic into multiple priority levels or classes
of service based on those attributes, as follows:
• Traffic marking is often used to set the IP precedence or IP DSCP values for traffic entering a
network. Networking devices within your network can then use the newly marked IP precedence
values to determine how traffic should be treated. For example, voice traffic can be marked with a
particular IP precedence or DSCP and strict priority can then be configured to put all packets of that
marking into that queue. In this case, the marking was used to identify traffic for strict priority
queue.
• Traffic marking can be used to identify traffic for any class-based QoS feature (any feature available
in policy map class configuration mode, although some restrictions exist).
• Traffic marking can be used to assign traffic to a QoS group within a switch. The switch can use the
QoS groups to determine how to prioritize traffic for transmission. The QoS group value is usually
used for one of the two following reasons:
– To leverage a large range of traffic classes. The QoS group value has 64 different individual
markings, similar to DSCP.
– If changing the Precedence or DSCP value is undesirable.
Note This section describes Unconditional marking, which differs from Policer-based marking.
Unconditional marking is based solely on classification.
If you are using individual set commands, those set commands are specified in a policy map. The
following is a sample of a policy map configured with one of the set commands listed in Table 33-2.
In this sample configuration, the set cos command has been configured in the policy map (policy1) to
mark the CoS attribute:
enable
configure terminal
policy map p1
class class1
set cos 3
end
For information on configuring a policy map, see the “Creating a Policy Map” section on page 33-14.
The final task is to attach the policy map to the interface. For information on attaching the policy map
to the interface, see the “Attaching a Policy Map to an Interface” section on page 33-14.
Method Two: Unconditional Tablemap-based Marking
You can create a table map that can be used to mark traffic attributes. A table map is a kind of two-way
conversion chart that lists and maps one traffic attribute to another. A table map supports a many-to-one
type of conversion and mapping scheme. The table map establishes a to-from relationship for the traffic
attributes and defines the change to be made to the attribute. That is, an attribute is set to one value that
is taken from another value. The values are based on the specific attribute being changed. For instance,
the Precedence attribute can be a number from 0 to 7, while the DSCP attribute can be a number from 0
to 63.
The following is a sample table map configuration:
table-map table-map1
map from 0 to 1
map from 2 to 3
exit
The following table lists the traffic attributes for which a to-from relationship can be established using
the table map.
Table 33-3 Traffic Attributes for Which a To-From Relationship Can Be Established
The following is an example of a policy map (policy2) configured to use the table map (table-map1)
created earlier:
In this example, a mapping relationship was created between the CoS attribute and the DSCP attribute
as defined in the table map.
For information on configuring a policy map to use a table map, “Configuring a Policy Map” section on
page 33-14.
The final task is to attach the policy map to the interface. For information on attaching the policy map
to the interface, see the “Attaching a Policy Map to an Interface” section on page 33-14.
Start
No Using a Yes
table map? Create a table map
Create
No additional Yes
policy
maps?
Finish
Note When using unconditional explicit marking of multiple fields or policer-based multi-field, multi-region
(conform/exceed/violate) marking the number of tablemaps that can be setup in TOS or COS marking
tables will be less than the maximum supported.
Note On the Supervisor Engine 7-E, the marking action command options have been extended (refer
to Table 33-2 on page 33-18 andTable 33-3 on page 33-18).
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# table-map name Configures a tablemap.
Step 3 Switch(config-tablemap)# map from Creates a map from a from_value to a to_value
from_value to to_value
Step 4 Switch(config-tablemap)# exit Exits table-map configuration mode.
Step 5 Switch(config)# policy-map name Enters policy-map configuration mode.
Command Purpose
Step 6 Switch(config-p)# class name Selects the class for QoS actions.
Step 7 Switch(config-p-c)# set cos | dscp | Selects the marking action based on an implicit or explicit
prec cos | dscp | prec | qos-group table-map.
[table name]
Step 8 Switch(config-p-c)# end Exits configuration mode.
Step 9 Switch# show policy-map name Verifies the configuration of the policy-map.
Step 10 Switch# show table-map name Verifies the configuration of the table-map.
The following example shows how to enable marking action using table-map.
Switch(config)# table-map dscp2Cos
Switch(config-tablemap)# map from 8 to 1
Switch(config-tablemap)# exit
Switch(config)# policy-map p1
Switch(config-pmap)# class ipp5
Switch(config-pmap-c)# set cos dscp table dscp2Cos
Switch(config-pmap-c)# end
Switch# show policy-map p1
Policy Map p1
Class ipp5
set cos dscp table dscp2Qos
To configure policer result-based conditional marking, setup a single rate or dual rate policer. Refer to
the “How to Implement Policing” section on page 33-15.
This example shows how to configure a two rate three-color policer with explicit actions for each policer
region:
Switch# configure terminal
Switch(config-pmap-c)# policer cir percent 20 pir percent 30
Switch(config-pmap-c-policer)# conform-action set-cos-transmit 3 set-dscp-transmit 10
Switch(config-pmap-c-policer)# exceed-action set-cos-transmit 4 set-dscp-transmit 20
Switch(config-pmap-c-policer)# violate action drop
Switch# show policy-map p1
Marking Statistics
The marking statistics indicate the number of packets that are marked.
For unconditional marking, the classification entry points to an entry in the marking action table that in
turn indicates the fields in the packet that are marked. Therefore, the classification statistics by itself
indicates the unconditional marking statistics.
For a conditional marking using policer, provided the policer is a packet rate policer, you cannot
determine the number packets marked because the policer only provides byte statistics for different
policing results.
The Supervisor Engine 7-E hardware supports 8 transmit queues per port. Once the forwarding decision
has been made to forward a packet out a port, the output QoS classification determines the transmit
queue into which the packet needs to be enqueued.
By default, in Supervisor Engine 7-E, without any service policies associated with a port, there are two
queues (a control packet queue and a default queue) with no guarantee as to the bandwidth or kind of
prioritization. The only exception is that system generated control packets are enqueued into control
packet queue so that control traffic receives some minimum link bandwidth.
Queues are assigned when an output policy attached to a port with one or more queuing related actions
for one or more classes of traffic. Because there are only eight queues per port, there can be at most eight
classes of traffic (including the reserved class, class-default) with queuing action(s). Classes of traffic
that do not have any queuing action are referred to as non-queuing classes. Non-queuing class traffic
ends up using the queue corresponding to class class-default.
When a queuing policy (a policy with queuing action) is attached, the control packet queue is deleted
and the control packets are enqueued into respective queue per their classification. Note that this differs
from the way control-traffic was prioritized in the Catalyst 4924, Catalyst 4948, Catalyst 4948-10GE,
and the Supervisor Engines II+, II+10GE, VI, V, and V-10GE. On these platforms, by default, control
traffic was guaranteed 25 per cent of the link bandwidth whether QoS was configured. If this same
behavior is required on Supervisor Engine 7-E, an egress QoS class must be configured to match
IP Precedence 6 and 7 traffic, and a bandwidth guarantee must be configured.
Dynamic resizing of queues (queue limit class-map action) is supported through the use of the
queue-limit command. Based on the chassis and line card type, all eight queues on a port are configured
with equal queue size.
Shaping
Shaping enables you to delay out-of-profile packets in queues so that they conform to a specified profile.
Shaping is distinct from policing. Policing drops packets that exceed a configured threshold, whereas
shaping buffers packets so that traffic remains within a given threshold. Shaping offers greater
smoothness in handling traffic than policing. You enable average-rate traffic shaping on a traffic class
with the policy-map class configuration command.
Supervisor Engine 7-E supports a range of 32kbps to 10 gbps for shaping, with a precision of
approximately +/- 0.75 per cent.
When a queuing class is configured without any explicit shape configuration, the queue shape is set to
the link rate.
To configure class-level shaping in a service policy, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# policy-map Creates a policy map by entering the policy-map name, and enter
policy-map-name policy-map configuration mode.
By default, no policy maps are defined.
Step 3 Switch(config-pmap)# class class-name Specifies the name of the class whose traffic policy you want to
create or change, and enter policy-map class configuration mode.
By default, no traffic classes are defined.
Step 4 Switch(config-pmap-class)# shape Enables average-rate traffic shaping.
average {cir-bps [optional_postfix] |
percent percent} You can specify the shaping rate in absolute value or as a
percentage:
• For cir-bps [optional_postfix], specify the shaping rate in bps.
Range is 32000 to 10000000000 bps. Supply an optional postfix
(K, M, G).
• For percent, specify the percentage of link rate to shape the
class of traffic. The range is 1 to 100.
By default, average-rate traffic shaping is disabled.
Step 5 Switch(config-pmap-class)# exit Returns to policy-map configuration mode.
Step 6 Switch(config-pmap)# exit Returns to global configuration mode.
Step 7 Switch(config)# interface interface-id Specifies a physical port and enter interface configuration mode.
Step 8 Switch(config-interface)# Specifies the policy-map name, and apply it a physical interface.
service-policy output policy-map-name
Step 9 Switch(config-interface)# end Returns to privileged EXEC mode.
Step 10 Switch# show policy-map Verifies your entries.
[policy-map-name [class
class-map-name]]
or
To delete an existing policy map, use the no policy-map policy-map-name global configuration
command. To delete an existing class, use the no class class-name policy-map configuration command.
To disable the average-rate traffic shaping, use the no shape average policy-map class configuration
command.
This example shows how to configure class-level, average-rate shaping. It limits traffic class class1 to a
data transmission rate of 256 kbps:
Switch# configure terminal
Switch(config)# policy-map policy1
This example shows how to configure class-level, average shape percentage to 32% of link bandwidth
for queuing-class traffic:
Switch# configure terminal
Switch(config)# policy-map queuing-policy
Switch(config-pmap)# class queuing-class
Switch(config-pmap-c)# shape average percent 32
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output queuing-policy1
Switch(config-if)# end
Switch #
Sharing(bandwidth)
The bandwidth assigned to a class of traffic is the minimum bandwidth that is guaranteed to the class
during congestion. Transmit Queue Sharing is the process by which output link bandwidth is shared
among multiple queues of a given port.
Supervisor Engine 7-E supports a range of 32 kbps to 10 gbps for sharing, with a precision of
approximately +/- 0.75 per cent. The sum of configured bandwidth across all queuing classes should not
exceed the link bandwidth.
To configure class-level bandwidth action in a service policy, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# policy-map Creates a policy map by entering the policy-map name, and enter
policy-map-name policy-map configuration mode.
By default, no policy maps are defined.
Step 3 Switch(config-pmap)# class class-name Specifies the name of the class whose traffic policy you want to
create or change, and enter policy-map class configuration mode.
By default, no traffic classes are defined.
Command Purpose
Step 4 Switch(config-pmap-class)# bandwidth Specifies the minimum bandwidth provided to a class belonging to
{bandwidth-kbps | percent percent} the policy map when there is traffic congestion in the switch. If the
switch is not congested, the class receives more bandwidth than you
specify with the bandwidth command.
By default, no bandwidth is specified.
You can specify the bandwidth in kbps or as a percentage:
o For bandwidth-kbps, specify the bandwidth amount in kbps
assigned to the class. The range is 32 to 10000000.
o For percent, specify the percentage of available bandwidth
assigned to the class. The range is 1 to 100.
Specify all the class bandwidths in either kbps or in percentages, but
not a mix of both.
Step 5 Switch(config-pmap-class)# exit Returns to policy-map configuration mode.
Step 6 Switch(config-pmap)# exit Returns to global configuration mode.
Step 7 Switch(config)# interface interface-id Specifies a physical port and enter interface configuration mode.
Step 8 Switch(config-interface)# Specifies the policy-map name, and apply it a physical interface.
service-policy output policy-map-name
Step 9 Switch(config-interface)# end Returns to privileged EXEC mode.
Step 10 Switch# show policy-map Verifies your entries.
[policy-map-name [class
class-map-name]]
or
To delete an existing policy map, use the no policy-map policy-map-name global configuration
command. To delete an existing class, use the no class class-name policy-map configuration command.
To return to the default bandwidth, use the no bandwidth policy-map class configuration command.
This example shows how to create a class-level policy map called policy11 for three classes called prec1,
prec2, and prec3. In the policy for these classes, 30 percent of the available bandwidth is assigned to the
queue for the first class, 20 percent is assigned to the queue for the second class, and 10 percent is
assigned to the queue for the third class.
Switch # configure terminal
Switch(config)# policy-map policy11
Switch(config-pmap)# class prec1
Switch(config-pmap-c)# bandwidth percent 30
Switch(config-pmap-c)# exit
Switch(config-pmap)# class prec2
Switch(config-pmap-c)# bandwidth percent 20
Switch(config-pmap-c)# exit
Switch(config-pmap)# class prec3
Switch(config-pmap-c)# bandwidth percent 10
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy11
Switch(config-if)# end
Switch #
This example shows how to create a class-level policy map called policy11 for three classes called prec1,
prec2, and prec3. In the policy for these classes, 300 mbps of the available bandwidth is assigned to the
queue for the first class, 200 mbps is assigned to the queue for the second class, and 100 mbps is assigned
to the queue for the third class.
Switch # configure terminal
Switch(config)# policy-map policy11
Switch(config-pmap)# class prec1
Switch(config-pmap-c)# bandwidth 300000
Switch(config-pmap-c)# exit
Switch(config-pmap)# class prec2
Switch(config-pmap-c)# bandwidth 200000
Switch(config-pmap-c)# exit
Switch(config-pmap)# class prec3
Switch(config-pmap-c)# bandwidth 100000
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy11
Switch(config-if)# end
Switch #
When a queuing class is configured without any explicit share/bandwidth configuration, because the
queue is not guaranteed any minimum bandwidth, the hardware queue is programmed to get a share of
any unallocated bandwidth on the port as shown in the following example.
If there is no bandwidth remaining for the new queue or if the unallocated bandwidth is not sufficient to
meet the minimum configurable rate (32kbps) for all queues which do not have any explicit
share/bandwidth configuration, then the policy association is rejected.
For example, if there are two queues as given below
policy-map queue-policy
class q1
bandwidth percent 10
class q2
bandwidth percent 20
class-default = 70%
Similarly, when another queuing class (say q3) is added without any explicit bandwidth (say, just a shape
command), then the bandwidth allocation is
q1 = 10%
q2 = 20%
q3 = min(35%, q3-shape-rate)
class-default = max(35%, (100 - (q1 + q2 + q3 )))
Priority queuing
On Supervisor Engine 7-E only one transmit queue on a port can be configured as strict priority (termed
Low Latency Queue, or LLQ).
LLQ provides strict-priority queuing for a traffic class. It enables delay-sensitive data, such as voice, to
be sent before packets in other queues. The priority queue is serviced first until it is empty or until it is
under its shape rate. Only one traffic stream can be destined for the priority queue per class-level policy.
You enable the priority queue for a traffic class with the priority policy-map class configuration
command at the class mode.
A LLQ can starve other queues unless it is rate limited. Supervisor Engine 7-E does not support
conditional policing where a 2-parameter policer (rate, burst) becomes effective when the queue is
congested (based on queue length). However, it supports application of an unconditional policer to rate
limit packets enqueued to the strict priority queue.
When a priority queue is configured on one class of a policy map, only bandwidth remaining is accepted
on other classes, guaranteeing a minimum bandwidth for other classes from the remaining bandwidth of
what is left after using the priority queue. When a priority queue is configured with a policer, then either
bandwidth or bandwidth remaining is accepted on other classes.
Note Use bandwidth or bandwidth remaining on all classes. You cannot apply bandwidth on one class and
bandwidth remaining on another class within a policy map.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# policy-map Creates a policy map by entering the policy-map name, and enter
policy-map-name policy-map configuration mode.
By default, no policy maps are defined.
Step 3 Switch(config-pmap)# class class-name Specifies the name of the class whose traffic policy you want to
create or change, and enter policy-map class configuration mode.
By default, no traffic classes are defined.
Step 4 Switch(config-pmap-class)# priority Enables the strict-priority queue, and give priority to a class of
traffic.
By default, strict-priority queueing is disabled.
Step 5 Switch(config-pmap-class)# exit Returns to policy-map configuration mode.
Step 6 Switch(config-pmap)# exit Returns to global configuration mode.
Step 7 Switch(config)# interface interface-id Specifies a physical port and enter interface configuration mode.
Command Purpose
Step 8 Switch(config-interface)# Specifies the policy-map name, and apply it a physical interface.
service-policy output policy-map-name
Step 9 Switch(config-interface)# end Returns to privileged EXEC mode.
Step 10 Switch# show policy-map Verifies your entries.
[policy-map-name [class
class-map-name]]
or
To delete an existing policy map, use the no policy-map policy-map-name global configuration
command. To delete an existing class, use the no class class-name policy-map configuration command.
To disable the priority queue, use the no priority policy-map class configuration command.
This example shows how to configure a class-level policy called policy1. Class 1 is configured as the
priority queue, which is serviced first until it is empty.
Switch# configure terminal
Switch(config)# policy-map policy1
Switch(config-pmap)# class class1
Switch(config-pmap-c)# priority
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy1
Switch(config-if)# end
Switch #
Queue-limiting
When a class-based queue is instantiated on a physical port, it is set up with a default size. This size
represents the number of queue entries in which packets belonging to that class of traffic can be queued.
The scheduler moves packets from the queue that are ready for transmission, based on the queue shape,
bandwidth, and priority configuration.
The queue-limit provides the maximum number of packets that can be in the queue at any given time.
When the queue is full, an attempt to enqueue any further packets results in tail drop. However, if
dynamic buffer limiting (DBL) is enabled on the queue, packets get a probabilistic drop based on the
DBL algorithm, even when the queue is not full.
The queue-limit command can be configured under a class only when queue scheduling, such as
bandwidth, shape, or priority is already configured. The only exception to this requirement is the support
of the stand-alone queue-limit command on the class-default class.
Queue Memory
The number of queue entries that can be allocated has to be a multiple of 8 and can range from 16 to
8184. When a class-based queue is instantiated on a physical port, it is given a default number of entries.
This default queue size is based on the number of slots in the chassis and the number of front-panel ports
in each slot.
Supervisor Engine 7-E has 1M (1,048,576) queue entries of which the system sets aside 100K (102,400)
queue entries in a free reserve pool. Of the remaining queue entries, the drop port is provided 8184
entries, 24576 entries for recirculation ports and the CPU ports are assigned 8656 entries. The remaining
entries are divided equally among the slots in the chassis. In a redundant chassis the two supervisor slots
are treated as one for the purpose of this entries distribution. Within each slot the number of queue entries
are equally divided among the front-panel ports present on the line card in that slot.
When the user configuration for queue entries on an interface exceeds its dedicated quota, the system
attempts to satisfy the configuration from the free reserve pool. The entries from the free reserve pool
are allocated to interfaces on a first-come first-served basis.
When a QoS service-policy with queuing actions is configured, but no explicit queue-limit command is
attached in the egress direction on a physical interface, each of the class-based queues gets the same
number of queue entries from within the dedicated quota for that physical port. When a queue is
explicitly given a size using the queue-limit command, the switch tries to allocate all the entries from
within the dedicated quota for the interface. If the required number of entries is greater than the
dedicated quota for the interface, the switch tries to allocate the entries from the free reserve.
The queue entries associated with a queue always have to be consecutive. This requirement can result in
fragmentation of the 512K of the queue entries that are shared across the switch. For example, an
interface may not have enough entries for a queue in its dedicated quota and thus have to use the free
reserve to set up that queue. In this case, the queue entries from the dedicated quota remain unused
because they cannot be shared with any other port or slot.
When the QoS service-policy associated with an interface is removed, any queue entries taken from the
free reserve are returned to the free reserve pool. The interface queuing configuration reverts to two
queues — class-default and the control-packet queue with default shape, bandwidth, and size. The
control-packet queue is set up with size 16 whereas the default queue is set up with the maximum size
possible based on the dedicated quota for that interface.
The switch might not be able to satisfy the explicit queue size required on one or more queues on an
interface because of fragmentation of queue memory or lack of enough free reserve entries. In this
scenario, the switch logs an error message to notify you of the failure. The QoS service-policy is left
configured on the interface. You can fix the error by removing the QoS service-policy and examining
the current usage of the queue entries from the free reserve by other ports on the switch.
To configure class-level queue-limit in a service policy, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# policy-map Creates a policy map by entering the policy-map name, and enter
policy-map-name policy-map configuration mode.
By default, no policy maps are defined.
Command Purpose
Step 3 Switch(config-pmap)# class class-name Specifies the name of the class whose traffic policy you want to
create or change, and enter policy-map class configuration mode.
By default, no traffic classes are defined.
Step 4 Switch(config-pmap-class)# shape Enables average-rate traffic shaping.
average {cir-bps [optional_postfix] |
percent percent} You can specify the shaping rate in absolute value or as a
percentage:
• For cir-bps [optional_postfix], specify the shaping rate in bps.
Range is 32000 to 10000000000 bps. Supply an optional postfix
(K, M, G).
• For percent, specify the percentage of link rate to shape the
class of traffic. The range is 1 to 100.
By default, average-rate traffic shaping is disabled.
Step 5 Switch(config-pmap-class)# queue-limit Provides an explicit queue size in packets. The size must be a
number-of-packets multiple of 8 and ranging from 16 to 8184.
Step 6 Switch(config-pmap-class)# exit Returns to policy-map configuration mode.
Step 7 Switch(config-pmap)# exit Returns to global configuration mode.
Step 8 Switch(config)# interface interface-id Specifies a physical port and enter interface configuration mode.
Step 9 Switch(config-interface)# Specifies the policy-map name, and apply it a physical interface.
service-policy output policy-map-name
Step 10 Switch(config-interface)# end Returns to privileged EXEC mode.
Step 11 Switch# show policy-map Verifies your entries.
[policy-map-name [class
class-map-name]]
or
To remove the explicit queue size use the no queue-limit command under the class in a policy-map.
This example shows how to configure a class-based queue with an explicit queue-limit command. It
limits traffic class class1 to a queue of size 4048:
Switch# configure terminal
Switch(config)# policy-map policy1
Switch(config-pmap)# class class1
Switch(config-pmap-c)# shape average 256000
Switch(config-pmap-c)# queue-limit 4048
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy1
Switch(config-if)# end
Switch#
Note Supervisor Engine 7-E supports active switch buffer management via DBL.
Except for the default class of traffic (class class-default), you can configure DBL action only when at
least one of the other queuing action is configured.
To configure class-level dbl action along with shaping in a service policy, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# policy-map Creates a policy map by entering the policy-map name, and enter
policy-map-name policy-map configuration mode.
By default, no policy maps are defined.
Step 3 Switch(config-pmap)# class class-name Specifies the name of the class whose traffic policy you want to
create or change, and enter policy-map class configuration mode.
By default, no traffic classes are defined.
Step 4 Switch(config-pmap-class)# shape Enables average-rate traffic shaping.
average cir-bps
Specify the committed information rate, the bit rate that traffic is
shaped to, in bps. The range is 32000 to 10000000000 bps.
By default, average-rate traffic shaping is disabled.
Step 5 Switch(config-pmap-class)# dbl Enables DBL on the queue associated with this class of traffic
Step 6 Switch(config-pmap-class)# exit Returns to policy-map configuration mode.
Step 7 Switch(config-pmap)# exit Returns to global configuration mode.
Step 8 Switch(config)# interface interface-id Specifies a physical port and enter interface configuration mode.
Step 9 Switch(config-interface)# Specifies the policy-map name, and apply it a physical interface.
service-policy output policy-map-name
Step 10 Switch(config-interface)# end Returns to privileged EXEC mode.
Step 11 Switch# show policy-map Verifies your entries.
[policy-map-name [class
class-map-name]]
or
To delete an existing policy map, use the no policy-map policy-map-name global configuration
command. To delete an existing class, use the no class class-name policy-map configuration command.
To disable DBL on the associated queue, use the no dbl policy-map class configuration command.
The following example shows how to configure class-level, DBL action along with average-rate
shaping. It enables DBL on the queue associated with traffic-class class1.
Switch# configure terminal
Switch(config)# policy-map policy1
Switch(config-pmap)# class class1
Switch(config-pmap-c)# shape average 256000
Switch(config-pmap-c)# dbl
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy1
Switch(config-if)# end
Switch#
(total drops) 0
(bytes output) 2104
Command Purpose
Step 1 Switch(config)# interface {fastethernet | gigabitethernet | Selects the interface to configure.
tengigabitethernet} slot/interface | Port-channel number
Example 1
Figure 33-4 displays a sample topology for configuring PVQoS. The trunk port gi3/1 is comprised of
multiple VLANs (101 and 102). Within a port, you can create your own service policy per VLAN. This
policy, performed in hardware, might consist of ingress and egress Policing or giving precedence to
voice packet over data.
Port gi3/1
L2 trunk
VLAN Police1
Police1
101
101 Dscp
Dscp
VLAN
VLAN DSCP
DSCP
102
102 DSCP
DSCP
Port gi3/2
VLAN CoS
103 CoS
VLAN DSCP
104 DSCP
130602
Service Policy/VLAN
Within a port
The following configuration file shows how to perform ingress and egress policing per VLAN using the
policy-map P31_QOS applied to port Gigabit Ethernet 3/1:
ip access-list 101 permit ip host 1.2.2.2 any
ip access-list 103 permit ip any any
Class-map match-all RT
match ip access-group 101
Policy-map P31_QoS
Class RT
Police 200m 16k conform transmit exceed drop
Class PD
Police 100m 16k conform transmit exceed drop
Example 2
Let us assume that interface Gigabit Ethernet 6/1 is a trunk port and belongs to VLANs 20, 300-301, and
400. The following example shows how to apply policy-map p1 for traffic in VLANs 20 and 400 and
policy map p2 to traffic in VLANs 300 through 301:
Switch# configure terminal
Switch(config)# interface gigabitethernet 6/1
Switch(config-if)# vlan-range 20,400
Switch(config-if-vlan-range)# service-policy input p1
Switch(config-if-vlan-range)# exit
Switch(config-if)# vlan-range 300-301
Switch(config-if-vlan-range)# service-policy output p2
Switch(config-if-vlan-range)# end
Switch#
Example 3
The following command shows how to display policy-map statistics on VLAN 20 configured on Gigabit
Ethernet interface 6/1:
Switch# show policy-map interface gigabitEthernet 6/1 vlan 20
GigabitEthernet6/1 vlan 20
Service-policy input: p1
Class-map: c1 (match-all)
0 packets
Match: cos 1
Match: access-group 100
police:
cir 100000000 bps, bc 3125000 bytes
conformed 0 bytes; actions:
transmit
exceeded 0 bytes; actions:
drop
conformed 0000 bps, exceed 0000 bps
Example 4
The following command shows how to display policy-map statistics on all VLANs configured on
Gigabit Ethernet interface 6/1:
Switch# show policy-map interface gigabitEthernet 6/1
GigabitEthernet6/1 vlan 20
Service-policy input: p1
Class-map: c1 (match-all)
0 packets
Match: cos 1
Match: access-group 100
police:
cir 100000000 bps, bc 3125000 bytes
conformed 0 bytes; actions:
transmit
exceeded 0 bytes; actions:
drop
conformed 0000 bps, exceed 0000 bps
Service-policy output: p2
Class-map: c1 (match-all)
0 packets
Match: cos 1
Match: access-group 100
QoS Set
dscp 50
police:
cir 200000000 bps, bc 6250000 bytes
conformed 0 bytes; actions:
transmit
exceeded 0 bytes; actions:
drop
conformed 0000 bps, exceed 0000 bps
Service-policy output: p2
Class-map: c1 (match-all)
0 packets
Match: cos 1
Match: access-group 100
QoS Set
dscp 50
police:
cir 200000000 bps, bc 6250000 bytes
conformed 0 bytes; actions:
transmit
exceeded 0 bytes; actions:
drop
conformed 0000 bps, exceed 0000 bps
Policy Associations
Supervisor Engine 7-E supports per-port, per-VLAN policies. The associated policies are attached to the
interface, VLAN, and a specific VLAN on a given port, respectively.
A policy can be associated with a variety of objects. The following table lists the objects and the actions
allowed.
Object Action
Physical port Policing, marking, and queuing
VLAN Policing and marking
Port and VLAN (PV) Policing and marking
EtherChannel Policing and marking
EtherChannel member port Queuing
• The same actions cannot be performed multiple times in a given direction on different targets. In
other words, it is not possible to police the packets both on port and VLAN in the input direction.
However, the user can police on the input port and on the output VLAN.
• Queuing actions are only allowed in the egress direction and only on the physical port.
• Percentage-based actions like policer cannot be configured on a VLAN, Port and VLAN (PV) and
EtherChannel.
• Port channel or VLAN configuration can only have a policing or a marking action, not a queueing
action.
• If a policy on a port and a VLAN are configured with conflicting actions (such as policing or
marking actions on both a port and VLAN), the port policy is picked.
• If policy on a VLAN on a given port must be over-written, the user can configure PV policy.
Applicable policies are applied to a given packet in given direction. For example, if you configure egress
VLAN-based police and marking, followed by selective queuing on the port, then actions from both
policies will be applied for this packet.
The following policy-map configuration restrictions are imposed on an EtherChannel:
• only policing and marking actions are supported at the EtherChannel level
• only queuing actions are supported at the physical member port level
A packet can be marked (dscp or cos fields) by the EtherChannel policy. If the physical member port
policy uses a classification based on dscp or cos fields, it must be based on the marked (modified) value.
To ensure proper operation, the following restriction is placed on the EtherChannel.
The classification criteria for the policy-map on the physical member ports has to based only on one type
of field:
• dscp
• precedence
• cos
• any non marking field (no dscp or cos based classification)
Classification criteria for the policy-map on the physical member ports cannot be based on a
combination of fields. This restriction ensures that if the EtherChannel policy is marking down dscp or
cos, the marked (modified) value-based classification can be implemented in hardware.
Note Classification criteria for the policy-map on the physical member ports cannot be modified to add a new
type of field.
Auto-QoS is not supported on EtherChannel or its member ports. A physical port configured with
Auto-QoS is not allowed to become a member of a physical port.
Software QoS
At the highest level, there are two types of locally sourced traffic (such as control protocol packets,
pings, and telnets) from the switch: high priority traffic (typically the control protocol packets like OSPF
Hellos and STP) and low priority packets (all other packet types).
The QoS treatment for locally-sourced packets differs for the two types.
Supervisor Engine 7-E provides a way to apply QoS to packets processed in the software path. The
packets that get this QoS treatment in software can be classified into two types: software switched
packets and software generated packets.
On reception, software switched packets are sent to the CPU that in turn sends them out of another
interface. For such packets, input software QoS provides input marking and output software QoS
provides output marking and queue selection.
The software generated packets are the ones locally sourced by the switch. The type of output software
QoS processing applied to these packets is the same as the one applied to software switched packets. The
only difference in the two is that the software switched packets take input marking of the packet into
account for output classification purpose.
• These high priority packets are enqueued to queue on the egress port based on the following criteria:
– If there is no egress queuing policy on the port, the packet is queued to a control packet queue
that is setup separately from the default queue and has 5 percent of the link bandwidth reserved
for it.
– If there is an egress queuing policy on the port, the queue is selected based on the classification
criteria applicable to the packet.
Packets that are not considered high priority (as described previously) are considered unimportant.
These include locally sourced pings, telnet, and other protocol packets. They undergo the same treatment
as any other packet that is transiting the given transmit port including egress classification, marking and
queuing.
Step 1 Create a FNF flow record by specifying the key fields that identify unique flows. You can use any FNF
flow records that are associated with the FNF monitor.
Step 2 Create a class-map to specify the set of match criteria. Include the FNF flow record from Step 1 in the
class-map match criteria using the match flow record command. Then, configure the class-map to
match all the match criteria with class-map match-all class_name.
Step 3 Create a policy-map and define actions associated with class-map from Step 2.
Step 4 Attach the policy to one or more QoS targets.
Examples
The following examples illustrate how to configure Flow based QoS policy and apply microflow
policers on individual flows.
Example 1
This example assumes there are multiple users (identified by source IP address) on the subnet
192.168.10.*. The configuration below shows how to configure a flow based QoS policy that uses micro
policing to limit the per-user traffic with the source address in the range of 192.168.10.*. The microflow
policer is configured with a CIR of 1Mbps, “conform action” as transmit, and “exceed action” as drop.
Step 1: Define an ACL to match traffic with specified source address.
Switch(config)# ip access-list extended UserGroup1
Switch(config-ext-nacl)# permit ip 192.168.10.0 0.0.0.255 any
Switch(config-ext-nacl)# exit
Switch(config)#
Step 2: Define a flow record to create flows with source address as key.
Switch(config)# flow record r1
Switch(config-flow-record)# match ipv4 source address
Switch(config-flow-record)# exit
Switch(config)#
Step 3: Configure classmap to match on the UserGroup1 and specify flow record definition for flow
creation.
Switch(config)# class-map match-all c1
Switch(config-cmap)# match access-group name UserGroup1
Switch(config-cmap)# match flow record r1
Switch(config-cmap)# exit
Switch(config)#
Step 4: Configure flow based QoS policy-map with microflow policing action for the matching traffic.
Switch(config)# policy-map p1
Switch(config-pmap)# class c1
Switch(config-pmap-c)# police cir 1m
Switch(config-pmap-c-police)# conform-action transmit
Switch(config-pmap-c-police)# exceed-action drop
Switch(config-pmap-c-police)# exit
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Use the show commands (described in the policy and marking sections of this chapter) to display the
policy-map configuration and interface specific policy-map statistics.
Example 2.
This example assumes there are multiple users (identified by source IP address) on subnets 192.168.10.*
and 172.20.55.*. The first requirement is to police with a CIR of 500Kbps and a PIR of 650Kbps on any
TCP traffic originating from 192 network to any destination at any given time. The exceed action
keyword marks down the dscp value to 32. The second requirement is to police per-user traffic
originating from 172 network to CIR of 2Mbps and unconditionally mark the traffic with dscp 10.
Step 1: Define an ACL to match traffic with specified source address.
Switch(config)# ip access-list extended UserGroup1
Switch(config-ext-nacl)# permit ip 19 2.168.10.0 0.0.0.255 any
Switch(config-ext-nacl)# exit
Switch(config)# ip access-list extended UserGroup2
Switch(config-ext-nacl)# permit ip 172.20.55.0 0.0.0.255 any
Switch(config-ext-nacl)# exit
Switch(config)#
Step 2: Define a flow record to create flows with source address as key.
Switch(config)# flow record r1
Switch(config-flow-record)# match ipv4 source address
Switch(config-flow-record)# match ipv4 destination address
Switch(config-flow-record)# match transport tcp source-port
Switch(config-flow-record)# match transport tcp destination-port
Switch(config-flow-record)# exit
Switch(config)# flow record r2
Step 3: Configure classmap to match on the UserGroup1 and specify flow record definition for flow
creation.
Switch(config)# class-map match-all c1
Switch(config-cmap)# match access-group name UserGroup1
Switch(config-cmap)# match flow record r1
Switch(config-cmap)# exit
Switch(config)# class-map match-all c2
Switch(config-cmap)# match access-group name UserGroup2
Switch(config-cmap)# match flow record r2
Switch(config-cmap)# exit
Switch(config)#
Step 4: Configure flow based QoS policy-map with microflow policing action for the matching traffic.
Switch(config)# policy-map p1
Switch(config-pmap)# class c1
Switch(config-pmap-c)# police cir 500k pir 650k
Switch(config-pmap-c-police)# conform-action transmit
Switch(config-pmap-c-police)# exceed-action set-dscp-transmit 32
Switch(config-pmap-c-police)# violate-action drop
Switch(config-pmap-c-police)# exit
Switch(config-pmap-c)# exit
Switch(config-pmap)# class c2
Switch(config-pmap-c)# set dscp 10
Switch(config-pmap-c)# police cir 2m
Switch(config-pmap-c-police)# conform-action transmit
Switch(config-pmap-c-police)# exceed-action drop
Switch(config-pmap-c-police)# exit
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Use the show commands described in the QoS section to display the policy-map configuration and
interface specific policy-map statistics.
Example 3
Assume that there are two active flows on FastEthernet interface 6/1:
Table 33-2
With the following configuration, each flow is policed to 1000000 bps with an allowed 9000 burst value.
Switch(config)# flow record r1
Switch(config-flow-record)# match ipv4 source address
Switch(config-flow-record)# match ipv4 destination address
Configuration Guidelines
The general guidelines for creating, configuring, modifying, deleting a flow based QoS policy and
attaching (and detaching) a flow based QoS policy to a supported target is the same as described in the
QoS section. The following description and restriction applies to Flow based QoS policy:
• A classmap can have multiple match statements but only one FNF flow record can be specified in a
class-map.
• A flow record must have at least one key field before it can be used in a classmap. Non-key fields
can be present in the flow record. However, all the non-key fields are ignored by microflow QoS.
Only key-fields are used for flow creation.
• If a FNF flow record is referenced in any class-map, the flow record cannot be modified. Remove
the flow record from all classmaps before modifying it.
• A classmap with a FNF flow record must be configured as match-all; traffic hitting the class-map
must satisfy all match criteria in the class-map.
• A policy can contain multiple classes and each class-map may contain the same or different FNF
flow record.
• Flow based QoS policy and FNF monitor both cannot be applied on the same target at the same time.
• When the interface mode changes from switchport to routed port and vice versa, any Flow QoS
policy attached to the port remains applied after the mode change.
• There are 3 types of FNF flow records: ipv4, ipv6, and datalink. The datalink flow record is mutually
exclusive with the ipv4 and ipv6 flow records; a classmap with the datalink flow record cannot
co-exist with classmap having a ipv4 or ipv6 flow record in the same policy and vice-versa.
• Classmap class-default is not editable; it cannot be configured with the match flow record. Instead,
you can configure the policy with a class-map that uses a match any filter and the flow record.
• Traffic is classified in the same order in which class-map is defined in a policy. Hence, if a FNF
flow record is the only match statement in a class-map, the classifier matches all packets of the type
identified by the flow record. This means that any subsequent class-map in the same policy matching
on the same traffic type will be redundant and will never be hit.
• Policers associated with classmap having flow record are called microflow policers. The CIR and
PIR rates for microflow policers cannot be configured using the percent keyword.
• Flow records within the same policy must include appropriate key fields to ensure flows created
from different classmaps are unique and distinct. Otherwise, the resulting flows from different
classmap cannot be distinguished. In such cases, policy actions corresponding to the classmap which
created the first flow in hardware will apply and results will not be always be as expected.
• Flows from traffic received on different QoS targets are distinct even if the same policy is applied
to those targets.
• A flow is aged out if the it is inactive for more than 5 seconds; there is no traffic matching the flow
for a period longer than 5 sec.
• When a flow is aged out, policer state information associated with the flow is also deleted. When a
new flow is created, the policer instance for the flow is re-initialized.
• Flows created by flow based QoS policy exist in hardware only and cannot be exported (as with FNF
monitor).
• Per-flow statistics are not available for flows created by flow based QoS policy.
• Class-map statistics indicate the number of packets matching the classifier. It does not represent
individual flow stats.
• Policer statistics show the aggregate policer statistics of individual flow.
• Information about the flows created by hardware are not available and not displayed in the show
commands associated with QoS policy-map. Only class-map and policer statistics are displayed in
the output of the show policy-map commands.
Configuring Auto-QoS
Note Auto-QoS cannot be applied to EtherChannel interfaces or VLANs.
Unlike auto-QoS on Supervisor Engines II-Plus to V-10GE, auto-QoS on Supervisor Engine 7-E
employs the MQC model. This means that instead of using certain global configurations (like qos and
qos dbl), auto-QoS applied to any interface on a switch with Supervisor Engine 7-E configures several
global class-maps and policy-maps.
Auto-QoS matches traffic and assigns each matched packet to qos-groups. This allows the output policy
map to put specific qos-groups into specific queues, including into the priority queue.
We need QoS in both directions, both on inbound and outbound. Inbound, the switch port needs to trust
the DSCP in the packet (done by default). Outbound, the switch port needs to give voice packets "front
of line" priority. If voice is delayed too long by waiting behind other packets in the outbound queue, the
end host drops the packet because it arrives outside of the receive window for that packet.
Note QoS is a two way street. So, it might work in one direction and not in the other.
There are three policy maps that must be defined (2 inbound and 1 outbound):
• One the trusts COS inbound
• One that trusts DSCP inbound
• A generalized one that puts voice packets in the priority queue outbound
You only want to use the following:
The class maps are intended to identify control and data (bearer) voice traffic for either an Layer 2 or
Layer 3 interface.
The 2 Input policy maps, one for matching DSCP and one for matching COS, where DSCP and COS are
set to an assigned qos-group used in outbound policy-maps are as follows:
policy-map AutoQos-VoIP-Input-Dscp-Policy
class AutoQos-VoIP-Bearer-Dscp
set qos-group 46
class AutoQos-VoIP-Control-Dscp26
set qos-group 26
class AutoQos-VoIP-Control-Dscp24
set qos-group 24
! Note: For COS, Control traffic only has a single COS value of 3 (versus DSCP which has 2
values to match). So, only 2 class-maps instead of 3 like above.
policy-map AutoQos-VoIP-Input-Cos-Policy
class AutoQos-VoIP-Bearer-Cos
set qos-group 46
class AutoQos-VoIP-Control-Cos
set qos-group 24
! Note: Any other traffic not matched on input and assigned to a qos-group goes into the
class-default queue
! Note: in this example, the outbound policy map drops voice packets when the priority
queue exceeds 33% utilization of the link. Each deployment must establish their own upper
bound for voice packets.
policy-map AutoQos-VoIP-Output-Policy
class AutoQos-VoIP-Bearer-QosGroup
set dscp ef
set cos 5
priority
police cir percent 33
class AutoQos-VoIP-Control-QosGroup26
set dscp af31
set cos 3
bandwidth remaining percent 5
class AutoQos-VoIP-Control-QosGroup24
set dscp cs3
set cos 3
bandwidth remaining percent 5
class class-default
dbl
Note There are no default cos-to-dscp or dscp-to-cos mappings on the. Values must be explicitly set
for trunks.
OR
AND
service-policy output AutoQos-VoIP-Output-Policy
The selection of the input policy depends on whether the port is Layer 2 or Layer 3. For Layer 2, the
policy trusts the Cos setting in the received packets. For Layer 3 ports, it relies on the DSCP value
contained in the packets.
For phone connected ports, the [no] auto qos voice cisco-phone command is used to apply the following
service policy to the port:
qos trust device cisco-phone
AND
service-policy output AutoQos-VoIP-Output-Policy
It establishes a trusted boundary that recognizes Cisco IP Phones and trusts the Cos setting of the packets
from the phone. If a Cisco IP Phone is not detected, the Cos field is ignored and the packets are not
classified as voice traffic. Upon detecting a Cisco phone, the ingress packets are marked based on the
Cos value in the packets. This marking is used on egress for proper traffic classification and handling.
This chapter describes how to configure voice interfaces for the Catalyst 4500 series switches.
This chapter includes the following major sections:
• About Voice Interfaces, page 34-1
• Configuring a Port to Connect to a Cisco 7960 IP Phone, page 34-3
• Configuring Voice Ports for Voice and Data Traffic, page 34-3
• Overriding the CoS Priority of Incoming Frames, page 34-5
• Configuring Power, page 34-5
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
The Cisco 7960 IP phone contains an integrated three-port 10/100 switch. The ports are dedicated
connections as described below:
• Port 1 connects to the Catalyst 4500 series switch or other device that supports voice-over-IP.
• Port 2 is an internal 10/100 interface that carries the phone traffic.
• Port 3 connects to a PC or other device.
Figure 34-1 shows one way to configure a Cisco 7960 IP phone.
Figure 34-1 Cisco 7960 IP Phone Connected to a Catalyst 4500 Series Switch
PC
Catalyst 4500 Series Switch IP Phone
105247
IP
Note In all configurations, the voice traffic carries a Layer 3 IP precedence value (the default is 5 for voice
traffic and 3 for voice control traffic).
Note Untagged traffic from the device attached to the Cisco IP Phone passes through the phone unchanged,
regardless of the trust state of the access port on the phone.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# interface {fastethernet | Specifies the interface to configure.
gigabitethernet} slot/port
Step 3 Switch(config-if)# switchport voice vlan dot1p Instructs the switch to use 802.1p priority tagging for voice
traffic and to use VLAN 1 (default native VLAN) to carry
all traffic.
Step 4 Switch(config-if)# end Returns to privileged EXEC mode.
Step 5 Switch# show interface {fastethernet | Verifies the port configuration.
gigabitethernet} slot/port switchport
Note For information on configuring sticky port security on voice VLANs, see the Configuring Port Security
on Voice Ports, page 38-22.
Note For information on using 802.1X with voice VLANs, see the “Using 802.1X with Voice VLAN Ports”
section on page 36-19.
To configure a port to receive voice and data traffic from a Cisco IP Phone on different VLANs, perform
this task:
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# interface {fastethernet | Specifies the interface to configure.
gigabitethernet} slot/port
Command Purpose
Step 3 Switch(config-if)# switchport mode access Configures the interface as an access port.
The voice VLAN is active only on access ports.
Step 4 Switch(config-if)# switchport voice vlan Instructs the Cisco IP phone to forward all voice traffic
vlan_num through a specified VLAN. The Cisco IP phone forwards
the traffic with an 802.1p priority of 5.
Step 5 Switch(config-if)# switchport access vlan Configures the access VLAN (the data VLAN) on the port
data_vlan_num
Step 6 Switch(config-if)# end Returns to privileged EXEC mode.
Step 7 Switch# show interface {fastethernet | Verifies the configuration.
gigabitethernet} slot/port switchport
In the following example, VLAN 1 carries data traffic, and VLAN 2 carries voice traffic. In this
configuration, you must connect all Cisco IP phones and other voice-related devices to switch ports that
belong to VLAN 2.
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastEthernet 3/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport voice vlan 2
Switch(config-if)# switchport access vlan 3
Switch(config-if)# end
Switch# show interfaces fastEthernet 3/1 switchport
Name: Fa3/1
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 3 (VLAN0003)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: 2 (VLAN0002)
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk Native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk private VLANs: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Unknown unicast blocked: disabled
Unknown multicast blocked: disabled
Appliance trust: none
Switch#
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# interface {fastethernet | Specifies the interface to configure.
gigabitethernet} slot/port
Step 3 Switch(config-if)# [no] qos trust extend cos 3 Sets the phone port to override the priority received from
the PC or the attached device and forward the received data
with a priority of 3.
Use the no keyword to return the port to its default setting.
Step 4 Switch(config-if)# end Returns to privileged EXEC mode.
Step 5 Switch# show interface {fastethernet | Verifies the change.
gigabitethernet} slot/port switchport
Configuring Power
The Catalyst 4500 series switch senses if it is connected to a Cisco 7960 IP phone. The Catalyst 4500
series switch can supply Power over Ethernet (PoE) to the Cisco 7960 IP phone if there is no power on
the circuit. The Cisco 7960 IP phone can also be connected to an AC power source and supply its own
power to the voice circuit. If there is power on the circuit, the switch does not supply it.
You can configure the switch not to supply power to the Cisco 7960 IP phone and to disable the detection
mechanism. For information on the CLI commands that you can use to supply PoE to a Cisco 7960 IP
phone, see Chapter 11, “Configuring Power over Ethernet.”
This chapter describes how to implement private VLANs (PVLANs) on Catalyst 4500 series switches.
It also provides restrictions, procedures, and configuration examples.
This chapter includes the following major sections:
• Command List, page 35-1
• Private VLANs, page 35-2
• Configuring PVLANs, page 35-10
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Command List
This table lists the commands most commonly used with PVLANs.
switchport private-vlan trunk native Configures a VLAN to which Configuring a Layer 2 Interface as an
vlan vlan_id untagged packets (as in IEEE 802.1Q Isolated PVLAN Trunk Port,
tagging) are assigned on a PVLAN page 35-18
trunk port.
Private VLANs
The private VLAN feature addresses two problems that service providers face when using VLANs:
• The switch supports up to 1005 active VLANs. If a service provider assigns one VLAN per
customer, this limits the numbers of customers the service provider can support.
• To enable IP routing, each VLAN is assigned a subnet address space or a block of addresses, which
can result in wasting the unused IP addresses, and cause IP address management problems.
Using private VLANs provides scalability and IP address management benefits for service providers and
Layer 2 security for customers. Private VLANs partition a regular VLAN domain into subdomains. A
subdomain is represented by a pair of VLANs: a primary VLAN and a secondary VLAN. A private
VLAN can have multiple VLAN pairs, one pair for each subdomain. All VLAN pairs in a private VLAN
share the same primary VLAN. The secondary VLAN ID differentiates one subdomain from another.
See Figure 35-1.
Primary
VLAN
Private
VLAN
domain
Subdomain Subdomain
Secondary Secondary
community VLAN isolated VLAN
116083
• Reduce VLAN and IP subnet consumption; you can prevent traffic between end stations even
though they are in the same VLAN and IP subnet.
With a promiscuous port, you can connect a wide range of devices as access points to a PVLAN.
For example, you can connect a promiscuous port to the server port of a LocalDirector to connect
an isolated VLAN or a number of community VLANs to the server. LocalDirector can load balance
the servers present in the isolated or community VLANs, or use a promiscuous port to monitor or
back up all the PVLAN servers from an administration workstation.
This section includes the following topics:
• Definition Table, page 35-4
• Private VLANs across Multiple Switches, page 35-5
• Private-VLAN Interaction with Other Features, page 35-8
Definition Table
Term Definition
Private VLANs Private VLANs are sets of VLAN pairs that share a common
primary identifier and provide a mechanism for achieving
layer-2 separation between ports while sharing a single
layer-3 router port and IP subnet.
Secondary VLAN A type of VLAN used to implement private VLANs.
Secondary VLANs are associated with a primary VLAN,
and are used to carry traffic from hosts to other allowed
hosts or to routers.
Community Port A community port is a host port that belongs to a community
secondary VLAN. Community ports communicate with
other ports in the same community VLAN and with
promiscuous ports. These interfaces are isolated at Layer 2
from all other interfaces in other communities and from
isolated ports within their private VLAN.
Community VLAN Community VLAN—A community VLAN is a secondary
VLAN that carries upstream traffic from the community
ports to the promiscuous port gateways and to other host
ports in the same community. You can configure multiple
community VLANs in a private VLAN.
Isolated Port An isolated port is a host port that belongs to an isolated
secondary VLAN. It has complete Layer 2 separation from
other ports within the same private VLAN, except for the
promiscuous ports. Private VLANs block all traffic to
isolated ports except traffic from promiscuous ports. Traffic
received from an isolated port is forwarded only to
promiscuous ports.
Isolated VLAN Isolated VLAN —A private VLAN has only one isolated
VLAN. An isolated VLAN is a secondary VLAN that
carries unidirectional traffic upstream from the hosts toward
the promiscuous ports and the gateway.
Term Definition
Primary VLAN Primary VLAN—A private VLAN has only one primary
VLAN. Every port in a private VLAN is a member of the
primary VLAN. The primary VLAN carries unidirectional
traffic downstream from the promiscuous ports to the
(isolated and community) host ports and to other
promiscuous ports.
Private VLAN Trunk Port A PVLAN trunk port can carry multiple secondary (isolated
only) and non-PVLANs. Packets are received and
transmitted with secondary or regular VLAN tags on the
PVLAN trunk ports.
Note Only IEEE 802.1q encapsulation is supported.
Promiscuous Port A promiscuous port belongs to the primary VLAN and can
communicate with all interfaces, including the community
and isolated host ports and private VLAN trunk ports that
belong to the secondary VLANs associated with the primary
VLAN.
Promiscuous Trunk Port A promiscuous trunk port can carry multiple primary and
normal VLANs. Packets are received and transmitted with
primary or regular VLAN tags. Other than that, the port
behaves just like a promiscuous access port.
Note Only IEEE 802.1q encapsulation is supported.
Note Trunk ports carry traffic from regular VLANs and also from primary, isolated, and community VLANs.
Note You should use standard trunk ports if both switches undergoing trunking support PVLANs.
Trunk ports
116084
Carries VLAN 100,
201, and 202 traffic
Because VTP does not support private VLANs, you must manually configure private VLANs on all
switches in the Layer 2 network. If you do not configure the primary and secondary VLAN association
in some switches in the network, the Layer 2 databases in these switches are not merged. This can result
in unnecessary flooding of private-VLAN traffic on those switches.
Catalyst 7200
router
Primary VLAN = VLAN10
Isolated VLAN = VLAN11
Catalyst
4500 switch
Non-PVLAN
switch (2950)
Access ports
on VLAN11
204202
In this illustration, a Catalyst 4500 switch is being used to connect a downstream switch that does not
support PVLANs.
Traffic being sent in the downstream direction towards host1 from the router is received by the
Catalyst 4500 series switch on the promiscuous port and in the primary VLAN (VLAN 10). The packets
are then switched out of the isolated PVLAN trunk, but rather than being tagged with the primary VLAN
(VLAN 10) they are instead transmitted with the isolated VLAN’s tag (VLAN 11). In this way, when
the packets arrive on the non-PVLAN switch, they can be bridged to the destination host's access port.
Traffic in the upstream direction is sent by host1 to the non-PVLAN switch, arriving in VLAN 11. The
packets are then transmitted to the Catalyst 4500 series switch tagged with that VLAN’s tag (VLAN 11)
over the trunk port. On the Catalyst 4500 series switch, VLAN 11 is configured as the isolated vlan, and
the traffic is forwarded as if it came from an isolated host port.
Note When an isolated trunk is used in this fashion, the Catalyst 4500 series switch provides isolation between
the isolated trunk and directly connected hosts (such as host3), but not between hosts connected to the
non-PVLAN switch (such as host1 and host2). Isolation between these hosts must be provided by the
non-PVLAN switch, using a feature such as protected ports on a Catalyst 2950.
Catalyst
7200 router
Primary VLAN = VLAN10
Isolated VLAN = VLAN11
Community VLAN = VLAN12
Catalyst
4500 switch
Community Isolated
port, VLAN12 port, VLAN11
204201
In this illustration, a Catalyst 4500 series switch is being used to connect a PVLAN domain to an
upstream router which does not support PVLANs. Traffic being sent upstream by host1 arrives on the
Catalyst 4500 series switch in the community VLAN (VLAN 12). When this traffic is bridged onto the
promiscuous PVLAN trunk towards the router, it is tagged with the primary VLAN (VLAN 10), so that
it can be routed via the correct subinterface configured on the router.
Traffic in the downstream direction is received on the promiscuous PVLAN trunk port by the
Catalyst 4500 switch in the primary VLAN (VLAN 10), just as if it had been received on a promiscous
host port. It can then be bridged to the destination host as in any PVLAN domain.
PVLAN promiscuous trunks interact with VLAN QoS. Refer to the section “PVLANs and VLAN
ACL/QoS” section on page 35-9.
Configuring PVLANs
These sections describe how to configure PVLANs:
• Tasks for Configuring Private VLANs, page 35-11
• Default Private-VLAN Configuration, page 35-11
• PVLAN Configuration Guidelines and Restrictions, page 35-11
• Configuring a VLAN as a PVLAN, page 35-13
• Associating a Secondary VLAN with a Primary VLAN, page 35-14
• Configuring a Layer 2 Interface as a PVLAN Promiscuous Port, page 35-16
• Configuring a Layer 2 Interface as a PVLAN Host Port, page 35-17
• Configuring a Layer 2 Interface as an Isolated PVLAN Trunk Port, page 35-18
• Configuring a Layer 2 Interface as a Promiscuous PVLAN Trunk Port, page 35-19
• Permitting Routing of Secondary VLAN Ingress Traffic, page 35-21
Step 1 Set VTP mode to transparent. See the “VLAN Trunking Protocol” section on page 12-7.
Step 2 Create the secondary VLANs. See the “Configuring a VLAN as a PVLAN” section on page 35-13.
Step 3 Create the primary VLAN. See the “Configuring a VLAN as a PVLAN” section on page 35-13.
Step 4 Associate the secondary VLAN to the primary VLAN. See the “Associating a Secondary VLAN with a
Primary VLAN” section on page 35-14.
Note Only one isolated VLAN can be mapped to a primary VLAN, but more than one community
VLAN can be mapped to a primary VLAN.
Step 5 Configure an interface as an isolated or community host or trunk port. See the “Configuring a Layer 2
Interface as a PVLAN Host Port” section on page 35-17 and “Configuring a Layer 2 Interface as an
Isolated PVLAN Trunk Port” section on page 35-18.
Step 6 Associate the isolated port or community port to the primary-secondary VLAN pair. See the
“Associating a Secondary VLAN with a Primary VLAN” section on page 35-14.
Step 7 Configure an interface as a promiscuous port. See the “Configuring a Layer 2 Interface as a PVLAN
Promiscuous Port” section on page 35-16.
Step 8 Map the promiscuous port to the primary-secondary VLAN pair. See the “Configuring a Layer 2
Interface as a PVLAN Promiscuous Port” section on page 35-16.
Step 9 If you plan to use inter-VLAN routing, configure the primary SVI, and map secondary VLANs to the
primary. See the “Permitting Routing of Secondary VLAN Ingress Traffic” section on page 35-21.
Step 10 Verify private-VLAN configuration. See the “Switch#” section on page 35-22.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# vlan vlan_ID Enters VLAN configuration mode.
Command Purpose
Step 3 Switch(config-vlan)# private-vlan {community | Configures a VLAN as a PVLAN.
isolated | primary}
• This command does not take effect until you exit
VLAN configuration submode.
You can use the no keyword to clear PVLAN status.
Step 4 Switch(config-vlan)# end Exits VLAN configuration mode.
Step 5 Switch# show vlan private-vlan [type] Verifies the configuration.
This example shows how to configure VLAN 202 as a primary VLAN and verify the configuration:
Switch# configure terminal
Switch(config)# vlan 202
Switch(config-vlan)# private-vlan primary
Switch(config-vlan)# end
Switch# show vlan private-vlan
Primary Secondary Type Interfaces
------- --------- ----------------- ------------------------------------------
202 primary
This example shows how to configure VLAN 303 as a community VLAN and verify the configuration:
Switch# configure terminal
Switch(config)# vlan 303
Switch(config-vlan)# private-vlan community
Switch(config-vlan)# end
Switch# show vlan private-vlan
This example shows how to configure VLAN 440 as an isolated VLAN and verify the configuration:
Switch# configure terminal
Switch(config)# vlan 440
Switch(config-vlan)# private-vlan isolated
Switch(config-vlan)# end
Switch# show vlan private-vlan
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# vlan primary_vlan_ID Enters VLAN configuration mode for the primary
VLAN.
Command Purpose
Step 3 Switch(config-vlan)# private-vlan association Associates the secondary VLAN with the primary
{secondary_vlan_list | add secondary_vlan_list | VLAN. The list can contain only one isolated VLAN ID;
remove secondary_vlan_list}
it can also contain multiple community VLAN IDs.
You can use the no keyword to clear all secondary
associations.
Step 4 Switch(config-vlan)# end Exits VLAN configuration mode.
Step 5 Switch# show vlan private-vlan [type] Verifies the configuration.
When you associate secondary VLANs with a primary VLAN, note the following:
• The secondary_vlan_list parameter cannot contain spaces. It can contain multiple comma-separated
items. Each item can be a single private VLAN ID or a hyphenated range of private VLAN IDs.
• The secondary_vlan_list parameter can contain multiple community VLAN IDs.
• The secondary_vlan_list parameter can contain only one isolated VLAN ID.
• Enter a secondary_vlan_list or use the add keyword with a secondary_vlan_list to associate
secondary VLANs with a primary VLAN.
• Use the remove keyword with a secondary_vlan_list to clear the association between secondary
VLANs and a primary VLAN.
• The command does not take effect until you exit VLAN configuration submode.
This example shows how to associate community VLANs 303 through 307 and 309 and isolated VLAN
440 with primary VLAN 202 and verify the configuration:
Switch# configure terminal
Switch(config)# vlan 202
Switch(config-vlan)# private-vlan association 303-307,309,440
Switch(config-vlan)# end
Switch# show vlan private-vlan
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface {fastethernet | Specifies the LAN interface to configure.
gigabitethernet | tengigabitethernet} slot/port
Step 3 Switch(config-if)# switchport mode private-vlan Configures a Layer 2 interface as a PVLAN promiscuous
{host | promiscuous | trunk promiscuous | trunk port.
[secondary]}
Step 4 Switch(config-if)# [no] switchport private-vlan Maps the PVLAN promiscuous port to a primary VLAN
mapping [trunk] primary_vlan_ID and to selected secondary VLANs.
{secondary_vlan_list | add secondary_vlan_list |
remove secondary_vlan_list}
Step 5 Switch(config-if)# end Exits configuration mode.
Step 6 Switch# show interfaces {fastethernet | Verifies the configuration.
gigabitethernet | tengigabitethernet} slot/port
switchport
Note The maximum number of unique PVLAN pairs supported by the switchport private-vlan mapping
command is 1000.
When you configure a Layer 2 interface as a PVLAN promiscuous port, note the following:
• The secondary_vlan_list parameter cannot contain spaces. It can contain multiple comma-separated
items. Each item can be a single PVLAN ID or a hyphenated range of PVLAN IDs.
• Enter a secondary_vlan_list or use the add keyword with a secondary_vlan_list to map the
secondary VLANs to the PVLAN promiscuous port.
• Use the remove keyword with a secondary_vlan_list to clear the mapping between secondary
VLANs and the PVLAN promiscuous port.
This example shows how to configure interface FastEthernet 5/2 as a PVLAN promiscuous port, map it
to a PVLAN, and verify the configuration:
Switch# configure terminal
Switch(config)# interface fastethernet 5/2
Switch(config-if)# switchport mode private-vlan promiscuous
Switch(config-if)# switchport private-vlan mapping 200 2
Switch(config-if)# end
Switch# show interfaces fastethernet 5/2 switchport
Name:Fa5/2
Switchport:Enabled
Administrative Mode:private-vlan promiscuous
Operational Mode:private-vlan promiscuous
Administrative Trunking Encapsulation:negotiate
Operational Trunking Encapsulation:native
Negotiation of Trunking:Off
Access Mode VLAN:1 (default)
Trunking Native Mode VLAN:1 (default)
Voice VLAN:none
Administrative Private VLAN Host Association:none
Administrative Private VLAN Promiscuous Mapping:200 (VLAN0200) 2 (VLAN0002)
Private VLAN Trunk Native VLAN:none
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# interface {fastethernet | Specifies the LAN port to configure.
gigabitethernet | tengigabitethernet} slot/port
Step 3 Switch(config-if)# switchport mode private-vlan Configures a Layer 2 interface as a PVLAN host port.
{host | promiscuous | trunk promiscuous | trunk
[secondary]}
Step 4 Switch(config-if)# [no] switchport private-vlan Associates the Layer 2 interface with a PVLAN.
host-association primary_vlan_ID
secondary_vlan_ID You can use the no keyword to delete all associations
from the primary VLAN.
Step 5 Switch(config-if)# end Exits configuration mode.
Step 6 Switch# show interfaces {fastethernet | Verifies the configuration.
gigabitethernet | tengigabitethernet} slot/port
switchport
This example shows how to configure interface FastEthernet 5/1 as a PVLAN host port and verify the
configuration:
Switch# configure terminal
Switch(config)# interface fastethernet 5/1
Switch(config-if)# switchport mode private-vlan host
Switch(config-if)# switchport private-vlan host-association 202 440
Switch(config-if)# end
Switch# show interfaces fastethernet 5/1 switchport
Name: Fa5/1
Switchport: Enabled
Administrative Mode: private-vlan host
Operational Mode: private-vlan host
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Voice VLAN: none
Appliance trust: none
Administrative Private Vlan
Host Association: 202 (VLAN0202) 440 (VLAN0440)
Promiscuous Mapping: none
Trunk encapsulation : dot1q
Trunk vlans:
Operational private-vlan(s):
202 (VLAN0202) 440 (VLAN0440)
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
This example shows how to configure interface FastEthernet 5/2 as a secondary trunk port, and verify
the configuration:
Switch# configure terminal
Switch(config)# interface fastethernet 5/2
Switch(config-if)# switchport mode private-vlan trunk secondary
Switch(config-if)# switchport private-vlan trunk native vlan 10
Switch(config-if)# switchport private-vlan trunk allowed vlan 10. 3-4
Switch(config-if)# switchport private-vlan association trunk 3 301
Switch(config-if)# end
Switch# show interfaces fastethernet 5/2 switchport
Name: Fa5/2
Switchport: Enabled
Administrative Mode: private-vlan trunk secondary
Operational Mode: private-vlan trunk secondary
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none A
dministrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: 10
Administrative private-vlan trunk Native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk associations:
3 (VLAN0003) 301 (VLAN0301)
Administrative private-vlan trunk mappings: none
Operational private-vlan: none
Operational Normal VLANs: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled Capture VLANs Allowed: ALL
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface {fastethernet | Specifies the LAN interface to configure.
gigabitethernet | tengigabitethernet} slot/port
Step 3 Switch(config-if)# switchport mode private-vlan {host Configures a Layer 2 interface as a PVLAN
| promiscuous | trunk promiscuous | trunk [secondary]} promiscuous trunk port.
Step 4 Switch(config-if)# [no] switchport private-vlan Maps the promiscuous PVLAN port to a primary
mapping [trunk] primary_vlan_ID {secondary_vlan_list | VLAN and to selected secondary VLANs.
add secondary_vlan_list | remove secondary_vlan_list}
This command offers 3 levels of removal. See the
examples that follow this table.
Command Purpose
Step 5 Switch(config-if)# end Exits configuration mode.
Step 6 Switch# show interfaces {fastethernet | Verifies the configuration.
gigabitethernet | tengigabitethernet} slot/port
switchport
Note By default, when you configure the mode to private VLAN trunk promiscuous, the native VLAN is set
to 1.
The [no] switchport private-vlan mapping command provides the following three levels of removal:
• Remove one or more secondary VLANs from the list. For example:
Switch(config-if)# switchport private-vlan mapping trunk 2 remove 222
• Remove the entire mapping of PVLAN promiscuous trunk port to the specified primary VLAN (and
all of its selected secondary VLANs). For example:
Switch(config-if)# no switchport private-vlan mapping trunk 2
• Remove the mapping of a PVLAN promiscuous trunk port to all previously configured primary
VLANs (and all of their selected secondary VLANs). For example:
Switch(config-if)# no switchport private-vlan mapping trunk
When you configure a Layer 2 interface as a PVLAN promiscuous port, note the following:
• Multiple private VLAN pairs can be specified using the switchport private-vlan mapping trunk
command so that a promiscuous trunk port can carry multiple primary VLANs.
• The secondary_vlan_list parameter cannot contain spaces. It can contain multiple comma-separated
items. Each item can be a single PVLAN ID or a hyphenated range of PVLAN IDs.
• Enter a secondary_vlan_list or use the add keyword with a secondary_vlan_list to map the
secondary VLANs to the PVLAN promiscuous port.
• Use the remove keyword with a secondary_vlan_list to clear the mapping between secondary
VLANs and the PVLAN promiscuous port.
This example shows how to configure interface FastEthernet 5/2 as a promiscuous trunk port and to
verify the configuration:
Switch# configure terminal
Switch(config)# interface fastethernet 5/2
Switch(config-if)# switchport mode private-vlan trunk promiscuous
Switch(config-if)# switchport private-vlan trunk native vlan 10
Switch(config-if)# switchport private-vlan trunk allowed vlan 10, 3-4
Switch(config-if)# switchport private-vlan mapping trunk 3 301, 302
Switch(config-if)# end
Note Isolated and community VLANs are both called secondary VLANs.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface vlan primary_vlan_ID Enters interface configuration mode for the primary
VLAN.
Step 3 Switch(config-if)# [no] private-vlan mapping To permit routing on the secondary VLAN ingress traffic,
primary_vlan_ID {secondary_vlan_list | add map the secondary VLAN to the primary VLAN.
secondary_vlan_list | remove secondary_vlan_list}
You can use the no keyword to delete all associations
from the primary VLAN.
Step 4 Switch(config-if)# end Exits configuration mode.
Step 5 Switch# show interface private-vlan mapping Verifies the configuration.
When you permit routing on the secondary VLAN ingress traffic, note the following:
• The private-vlan mapping interface configuration command only affects private VLAN ingress
traffic that is Layer 3 switched.
• The secondary_vlan_list parameter cannot contain spaces. It can contain multiple comma-separated
items. Each item can be a single private VLAN ID or a hyphenated range of private VLAN IDs.
• Enter a secondary_vlan_list parameter or use the add keyword with a secondary_vlan_list
parameter to map the secondary VLANs to the primary VLAN.
• Use the remove keyword with a secondary_vlan_list parameter to clear the mapping between
secondary VLANs and the primary VLAN.
This example shows how to permit routing of secondary VLAN ingress traffic from private VLANs 303
through 307, 309, and 440 and verify the configuration:
Switch# configure terminal
Switch(config)# interface vlan 202
Switch(config-if)# private-vlan mapping add 303-307,309,440
Switch(config-if)# end
Switch# show interfaces private-vlan mapping
Interface Secondary VLAN Type
--------- -------------- -----------------
vlan202 303 community
vlan202 304 community
vlan202 305 community
vlan202 306 community
vlan202 307 community
vlan202 309 community
vlan202 440 isolated
Switch#
This chapter describes how to configure IEEE 802.1X port-based authentication on the Catalyst 4500
series switch to prevent unauthorized client devices from gaining access to the network.
This chapter includes the following major sections:
• About 802.1X Port-Based Authentication, page 36-1
• Configuring 802.1X Port-Based Authentication, page 36-22
• Displaying 802.1X Statistics and Status, page 36-67
• Displaying Authentication Details, page 36-67
• -Cisco IOS Security Features in Cisco IOS XE 3.1.0 SG Release, page 36-71
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Note 802.1X support requires an authentication server that is configured for Remote Authentication Dial-In
User Service (RADIUS). 802.1X authentication does not work unless the network access switch can
route packets to the configured RADIUS server. To verify that the switch can route packets, you must
ping the server from the switch.
Until a client is authenticated, only Extensible Authentication Protocol over LAN (EAPOL) traffic is
allowed through the port to which the client is connected. After authentication succeeds, normal traffic
can pass through the port.
To configure 802.1X port-based authentication, you need to understand the concepts in these sections:
• Device Roles, page 36-2
• 802.1X and Network Access Control, page 36-3
• Authentication Initiation and Message Exchange, page 36-3
• Ports in Authorized and Unauthorized States, page 36-4
• 802.1X Host Mode, page 36-6
• Using 802.1X with VLAN Assignment, page 36-9
• Using 802.1X for Guest VLANs, page 36-10
• Using 802.1X with MAC Authentication Bypass, page 36-11
• Using 802.1X with Web-Based Authentication, page 36-13
• Using 802.1X with Inaccessible Authentication Bypass, page 36-13
• Using 802.1X with Unidirectional Controlled Port, page 36-14
• Using 802.1X with Authentication Failed VLAN Assignment, page 36-14
• Using 802.1X with Port Security, page 36-16
• Using 802.1X Authentication with ACL Assignments and Redirect URLs, page 36-17
• Using 802.1X with RADIUS-Provided Session Timeouts, page 36-18
• Using 802.1X with Voice VLAN Ports, page 36-19
• Using Multiple Domain Authentication and Multiple Authentication, page 36-20
• How 802.1X Fails on a Port, page 36-21
• Supported Topologies, page 36-21
Device Roles
With 802.1X port-based authentication, network devices have specific roles. Figure 36-1 shows the role
of each device, which is described below.
Client
Workstations Catalyst 4500 Network
Access Switch RADIUS
server
• Client—The workstation that requests access to the LAN, and responds to requests from the switch.
The workstation must be running 802.1X-compliant client software.
• Authenticator—Controls physical access to the network based on the authentication status of the
client. The Catalyst 4500 series switch acts as an intermediary between the client and the
authentication server, requesting identity information from the client, verifying that information
with the authentication server, and relaying a response to the client. The switch encapsulates and
decapsulates the Extensible Authentication Protocol (EAP) frames and interacts with the RADIUS
authentication server.
When the switch receives EAPOL frames and relays them to the authentication server, the Ethernet
header is stripped and the remaining EAP frame is reencapsulated in the RADIUS format. The EAP
frames are not modified or examined during encapsulation, and the authentication server must
support EAP within the native frame format. When the switch receives frames from the
authentication server, the frame header is removed from the server, leaving the EAP frame, which
is then encapsulated for Ethernet and sent to the client.
Note The Catalyst 4500 series switches must be running software that supports the RADIUS client
and 802.1X.
• Authentication server—Performs the actual authentication of the client. The authentication server
validates the identity of the client and notifies the switch that the client is authorized to access the
LAN and switch services. (The only supported authentication server is the RADIUS authentication
server with EAP extensions; it is available in Cisco Secure Access Control Server version 3.2 and
later.)
http://www.cisco.com/en/US/products/ps6128/index.html
However, if during bootup, the client does not receive an EAP-request/identity frame from the switch,
the client can initiate authentication by sending an EAPOL-start frame, which prompts the switch to
request the client’s identity.
If 802.1X is not enabled or supported on the network access switch, any EAPOL frames from the client
are dropped. If the client does not receive an EAP-request/identity frame after three attempts to start
authentication, the client transmits frames as if the port is in the authorized state. A port in the authorized
state means that the client has been successfully authenticated. When the client supplies its identity, the
switch begins its role as the intermediary, passing EAP frames between the client and the authentication
server until authentication succeeds or fails. If the authentication succeeds, the switch port becomes
authorized.
The specific exchange of EAP frames depends on the authentication method being used. Figure 36-2
shows a message exchange that is initiated by the client using the One-Time Password (OTP)
authentication method with an authentication server.
Client
Workstation Catalyst 4500 Network
Access Switch RADIUS
EAPOL-Start
EAP-Request/Identity
EAP-Response/Identity RADIUS Access-Request
EAP-Request/OTP RADIUS Access-Challenge
EAP-Response/OTP RADIUS Access-Request
EAP-Success RADIUS Access-Accept
Port Authorized
EAPOL-Logoff
Port Unauthorized
94159
In contrast, when an 802.1X-enabled client connects to a port that is not running the 802.1X protocol,
the client initiates the authentication process by sending the EAPOL-start frame. When no response is
received, the client sends the request a fixed number of times. Because no response is received, the client
begins sending frames as if the port is in the authorized state.
You can control the port authorization state with the authentication port-control interface
configuration command and these keywords:
• force-authorized—Disables 802.1X authentication and causes the port to transition to the
authorized state without requiring authentication exchange. The port transmits and receives normal
traffic without 802.1X-based authentication of the client. This setting is the default.
• force-unauthorized—Causes the port to remain in the unauthorized state, ignoring all attempts by
the client to authenticate. The switch cannot provide authentication services to the client through the
interface.
• auto—Enables 802.1X authentication and causes the port to begin in the unauthorized state,
allowing only EAPOL frames to be sent and received through the port. The authentication process
begins when the link state of the port transitions from down to up or when an EAPOL-start frame is
received. The switch requests the identity of the client and begins relaying authentication messages
between the client and the authentication server. The switch can uniquely identify each client
attempting to access the network by the client’s MAC address.
If the client is successfully authenticated (receives an Accept frame from the authentication server), the
port state changes to authorized, and all frames from the authenticated client are allowed through the
port. If authentication fails, the port remains in the unauthorized state, but authentication can be retried.
If the authentication server cannot be reached, the switch can retransmit the request. If no response is
received from the server after the specified number of attempts, authentication fails and network access
is not granted.
If the link state of a port transitions from up to down, or if an EAPOL-logoff frame is received by the
port, the port returns to the unauthorized state.
Figure 36-3 shows the authentication process.
If Multidomain Authentication (MDA) is enabled on a port, this flow can be used with some exceptions
that are applicable to voice authorization. For more information on MDA, see the
“Using Multiple Domain Authentication and Multiple Authentication” section on page 36-20.
Start
133835
Authentication All authentication All authentication
servers are up. servers are down. servers are down.
Assign port to
critically authorized
VLAN
Done
1 = This occurs if the switch does not detect EAPOL packets from the client.
Single-Host Mode
You can configure an 802.1X port for single-host or multiple-hosts mode. In single-host mode (see
Figure 36-1 on page 36-2), only one client can be connected to the 802.1X-enabled switch port. The
switch detects the client by sending an EAPOL frame when the port link state changes to the up state. If
a client leaves or is replaced with another client, the switch changes the port link state to down, and the
port returns to the unauthorized state.
Multiple-Hosts Mode
In multiple-hosts mode, you can attach multiple hosts to a single 802.1X-enabled port. Figure 36-4 on
page 36-7 shows 802.1X port-based authentication in a wireless LAN. In this mode, only one of the
attached clients must be authorized for all clients to be granted network access. If the port becomes
unauthorized (re-authentication fails or an EAPOL-logoff message is received), the switch denies
network access to all of the attached clients. In this topology, the wireless access point is responsible for
authenticating the clients attached to it, and it also acts as a client to the switch.
With multiple-hosts mode enabled, use 802.1X authentication to authenticate the port and port security
to manage network access for all MAC addresses, including that of the client.
Authentication
server
Access point (RADIUS)
Wireless clients
101227
Authentication
server
Client IP phone Switch (RADIUS)
187640
IP
Figure 36-5 shows a typical MDA application with a single host behind an IP phone connected to the
802.1X-enabled port. Because the client is not directly connected to the switch, the switch cannot detect
a loss of port link if the client is disconnected. To prevent another device from using the established
authentication of the disconnected client later, Cisco IP phones send a Cisco Discovery Protocol (CDP)
host presence type length value (TLV) to notify the switch of changes in the attached client’s port link
state.
For details on how to configure MDA, see the “Using Multiple Domain Authentication and Multiple
Authentication” section on page 36-20.
Multiauthentication Mode
Available starting in Cisco IOS Release 12.2(50)SG, multiauthentication mode allows one client on the
voice VLAN and multiple authenticated clients on the data VLAN. When a hub or access point is
connected to an 802.1X port, multiauthentication mode provides enhanced security over multiple-hosts
mode by requiring authentication of each connected client. For non-802.1X devices, use MAB or
web-based authentication as the fallback method for individual host authentications, allowing you to
authenticate different hosts through different methods on a single port.
Multiauthentication also supports MDA functionality on the voice VLAN by assigning authenticated
devices to either a data or voice VLAN depending on the VSAs received from the authentication server.
Note When a port is in multiauthentication mode, all VLAN assignment features including RADIUS server
supplied VLAN assignment, Guest VLAN, Inaccessible Authentication Bypass, and Authentication
Failed VLAN does not activate for data devices. However, RADIUS server supplied VLAN assignment
is possible for voice devices.
Note If you change the access VLAN or PVLAN host VLAN mapping on a port that is already authorized in
a RADIUS assigned VLAN, the port remains in the RADIUS assigned VLAN.
• Enable 802.1X. (The VLAN assignment feature is automatically enabled when you configure
802.1X on an access port.)
• Assign vendor-specific tunnel attributes in the RADIUS server. To ensure proper VLAN assignment,
the RADIUS server must return these attributes to the switch:
– Tunnel-Type = VLAN
– Tunnel-Medium-Type = 802
– Tunnel-Private-Group-ID = VLAN NAME
Usage Guidelines for Using 802.1X Authentication with Guest VLANs on Windows-XP Hosts
The usage guidelines for using 802.1X authentication with guest VLANs on Windows-XP hosts are as
follows:
• If the host fails to respond to the authenticator, the port attempts to connect three times (with a 30
second timeout between each attempt). After this time, the login/password window does not appear
on the host, so you must unplug and reconnect the network interface cable.
• Hosts responding with an incorrect login/password fail authentication. Hosts failing authentication
are not put in the guest VLAN. The first time that a host fails authentication, the quiet-period timer
starts, and no activity occurs for the duration of the quiet-period timer. When the quiet-period timer
expires, the host is presented with the login/password window. If the host fails authentication for the
second time, the quiet-period timer starts again, and no activity occurs for the duration of the
quiet-period timer. The host is presented with the login/password window a third time. If the host
fails authentication the third time, the port is placed in the unauthorized state, and you must
disconnect and reconnect the network interface cable.
Feature Interaction
This section lists feature interactions and restrictions when MAB is enabled. If a feature is not listed,
assume that it interacts seamlessly with MAB (such as Unidirectional Controlled Port).
• MAB can only be enabled if 802.1X is configured on a port. MAB functions as a fall back
mechanism for authorizing MACs. If you configure both MAB and 802.1X on a port, the port
attempts to authenticate using 802.1X. If the host fails to respond to EAPOL requests and MAB is
configured, the 802.1X port is opened up to listen to packets and to grab a MAC address, rather than
attempt to authenticate endlessly.
Based on the default 802.1X timer values, the transition between mechanisms takes approximately
90 seconds. You can shorten the time by reducing the value of the transmission period time, which
affects the frequency of EAPOL transmission. A smaller timer value results in EAPOLs sent during
a shorter period of time. With MAB enabled, after 802.1X performs one full set of EAPOLs, the
learned MAC address is forwarded to the authentication server for processing.
The MAB module performs authorization for the first MAC address detected on the wire. The port
is considered authorized once a valid MAC address is received that RADIUS approves of.
802.1X authentication can re-start if an EAPOL packet is received on a port that was initially
authorized as a result of MAB.
Figure 36-6 shows the message exchange during MAB.
Client
Workstation Catalyst 4500
Network Access Switch RADIUS
EAPOL-Request/Identity
EAPOL-Request/Identity
EAPOL-Request/Identity
Packet
(Device MAC)
RADIUS Access-Request
(Device MAC)
RADIUS Access-Request
RADIUS Access-Request
181377
RADIUS Accept
Port
Authorized
• The authentication-failed VLAN is used only with dot1x-authentication-failed users. MAB is not
attempted with dot1x-authentication-failed users. If 802.1X authentication fails, a port moves to the
authentication-failed VLAN (if configured) whether MAB is configured or not.
• When both MAB and guest VLAN are configured and no EAPOL packets are received on a port, the
802.1X state-machine is moved to a MAB state where it opens the port to listen to traffic and grab
MAC addresses. The port remains in this state forever waiting to see a MAC on the port. A detected
MAC address that fails authorization causes the port to be moved to the guest VLAN if configured.
While in a guest VLAN, a port is open to all traffic on the specified guest VLAN. Therefore,
non-802.1X supplicants that normally would be authorized but are in guest VLAN due to the earlier
detection of a device that failed authorization, would remain in the guest VLAN indefinitely.
However, loss of link or the detection of an EAPOL on the wire causes a transition out of the guest
VLAN and back to the default 802.1X mode.
• Once a new MAC has been authenticated by MAB, the responsibility to limit access falls upon the
802.1X Authenticator (or port security) to secure the port. The 802.1X default host parameter is
defined only for a single host. If the port is changed to multi-user host, port security must be
employed to enforce the number of MAC addresses allowed thru this port.
• Catalyst 4500 series switch supports MAB with VVID, with the restriction that the MAC address
appears on a port data VLAN only. All IP phone MACs learned via CDP are allowed on voice
VLANs.
• MAB and VMPS are mutually exclusive because their functionality overlaps.
For details on how to configure Inaccessible Authentication Bypass, see the “Configuring 802.1X with
Inaccessible Authentication Bypass” section on page 36-50.
Note Unidirectional Controlled Port only works when Spanning Tree Portfast is enabled on the port.
For details on how to configure 802.1X with Unidirectional Controlled Port, see the “Configuring
802.1X with Unidirectional Controlled Port” section on page 36-52
Unidirectional State
A unidirectional controlled port is typically configured when a connected host might enter a sleeping
mode or power-down state. When either occurs, the host does not exchange traffic with other devices in
the network. A host connected to the unidirectional port cannot send traffic to the network; it can only
receive traffic from other devices in the network.
When you configure a port as unidirectional (with the authentication control-direction in interface
configuration command), the port will receive traffic in VLANs on that port, but it is not put into a
spanning-tree forwarding state. If a VLAN contains only unauthenticated ports, any SVI on that VLAN
will be in a down state, during which packets will not be routed into the VLAN. For the SVI to be up,
and so enable packets to be routed into the VLAN, at least one port in the VLAN must either be
authenticated or in the spanning-tree forwarding state..
Bidirectional State
When you configure a port as bidirectional with the authentication control-direction both interface
configuration command (or the dot1x control-direction both interface configuration command for
Cisco IOS Release 12.2(46) or earlier), the port is access-controlled in both directions. In this state,
except for EAPOL packets, a switch port does not receive or send packets.
If a user fails the authentication process, that port is placed in the authentication-failed VLAN. The port
remains in the authentication-failed VLAN until the reauthentication timer expires. When the
reauthentication timer expires the switch starts sending the port re-authentication requests. If the port
fails reauthentication it remains in the authentication-failed VLAN. If the port is successfully
reauthenticated, the port is moved either to the VLAN sent by RADIUS server or to the newly
authenticated ports configured VLAN; the location depends on whether RADIUS is configured to send
VLAN information.
Note When enabling periodic reauthentication (see the “Enabling Periodic Reauthentication” section on
page 36-61), only local reauthentication timer values are allowed. You cannot use a RADIUS server to
assign the reauthentication timer value.
You can set the maximum number of authentication attempts that the authenticator sends before moving
a port into the authentication-failed VLAN. The authenticator keeps a count of the failed authentication
attempts for each port. A failed authentication attempt is either an empty response or an EAP failure.
The authenticator tracks any mix of failed authentication attempts towards the authentication attempt
count. After the maximum number of attempts is reached the port is placed in the authentication-failed
VLAN until the reauthentication timer expires again.
Note RADIUS may send a response without an EAP packet in it when it does not support EAP, and sometimes
third party RADIUS servers also send empty responses. When this happens, the authentication attempt
counter is incremented.
For details on how to configure Authentication Failed VLAN Assignment, see the “Configuring 802.1X
with Authentication Failed” section on page 36-53.
• When an authentication failed port is moved to an unauthorized state the authentication process is
restarted. If you should fail the authentication process again the authenticator waits in the held state.
After you have correctly reauthenticated all 802.1X ports are reinitialized and treated as normal
802.1X ports.
• When you reconfigure an authentication-failed VLAN to a different VLAN, any authentication
failed ports are also moved and the ports stay in their current authorized state.
• When you shut down or remove an authentication-failed VLAN from the VLAN database, any
authentication failed ports are immediately moved to an unauthorized state and the authentication
process is restarted. The authenticator does not wait in a held state because the authentication-failed
VLAN configuration still exists. While the authentication-failed VLAN is inactive, all
authentication attempts are counted, and as soon as the VLAN becomes active the port is placed in
the authentication-failed VLAN.
• If you reconfigure the maximum number of authentication failures allowed by the VLAN, the
change takes affect after the reauthentication timer expires.
• Internal VLANs that are used for Layer 3 ports cannot be configured as authentication-failed
VLANs.
• The authentication-failed VLAN is supported only in single-host mode (the default port mode).
• When a port is placed in an authentication-failed VLAN the user’s MAC address is added to the
mac-address-table. If a new MAC address appears on the port, it is treated as a security violation.
• When an authentication failed port is moved to an authentication-failed VLAN, the Catalyst 4500
series switch does not transmit a RADIUS-Account Start Message like it does for regular 802.1X
authentication.
The following describes when port security and 802.1X security violations occur:
– In single host mode, after the port is authorized, any MAC address received other than the
client’s causes a 802.1X security violation.
– In single host mode, if installation of an 802.1X client’s MAC address fails because port
security has already reached its limit (due to a configured secure MAC addresses), a port
security violation is triggered.
– In multi host mode, once the port is authorized, any additional MAC addresses that cannot be
installed because the port security has reached its limit triggers a port security violation.
• When an 802.1X client logs off, the port transitions back to an unauthenticated state, and all
dynamic entries in the secure host table are cleared, including the entry for the client. Normal
authentication then ensues.
• If you administratively shut down the port, the port becomes unauthenticated, and all dynamic
entries are removed from the secure host table.
• Only 802.1X can remove the client’s MAC address from the port security table. Note that in multi
host mode, with the exception of the client’s MAC address, all MAC addresses that are learned by
port security can be deleted using port security CLIs.
• Whenever port security ages out a 802.1X client’s MAC address, 802.1X attempts to reauthenticate
the client. Only if the reauthentication succeeds is the client’s MAC address be retained in the port
security table.
• All of the 802.1X client’s MAC addresses are tagged with (dot1x) when you display the port security
table by using CLI.
CiscoSecure-Defined-ACL specifies the names of the DACLs on the Cisco Secure ACS. The switch
receives the ACL name through the CiscoSecure-Defined-ACL AV pair in the format:
#ACL#-IP-name-number
name is the ACL name. number is the version number (like 3f783768).
The Auth-Manager code verifies whether the access control entries (ACEs) of the specified
downloadable ACL were previously downloaded. If not, the Auth-Manager code sends an AAA request
with the downloadable ACL name as the username so that the ACEs are downloaded. The downloadable
ACL is then created as a named ACL on the switch. This ACL has ACEs with a source address of any
and does not have an implicit deny statement at the end. When the downloadable ACL is applied to an
interface after authentication completes, the source address changes from any to the host source IP
address depending on the host mode of the interface. The ACEs are prepended to the downloadable ACL
applied to the switch interface to which the endpoint device is connected. If traffic matches the
CiscoSecure-Defined-ACL ACEs, the appropriate actions are taken.
url-redirect and url-redirect-acl specify the local URL policy on the switch. The switches use these
cisco-av-pair VSAs as follows:
– url-redirect = <HTTP or HTTPS URL>
– url-redirect-acl = switch ACL name or number
These AV pairs enable the switch to intercept an HTTP or HTTPS request from the endpoint device and
forward the client web browser to the specified redirect address from which the latest antivirus files can
be downloaded. The url-redirect AV pair on the Cisco Secure ACS contains the URL to which the web
browser is redirected. The url-redirect-acl AV pair contains the name or number of an ACL that specifies
the HTTP or HTTPS traffic to be redirected. Traffic that matches a permit entry in the redirect ACL is
redirected.
ACLs
If downloadable ACL is configured for a particular client on the authentication server, you must
configure a default port ACL on a client-facing switch port.
If the default ACL is configured on the switch and the Cisco Secure ACS sends a host access policy to
the switch, it applies the policy to traffic from the host connected to a switch port. If the policy does not
apply, the switch applies the default ACL. If the Cisco Secure ACS sends the switch a downloadable
ACL, this ACL takes precedence over the default ACL already configured on the switch port. However,
if the switch receives a host access policy from the Cisco Secure ACS, but the default ACL is not
configured, the authorization failure is declared.
For details on how to configure a downloadable policy, refer to the “Configuring a Downloadable Policy”
section on page 36-37.
If the switch is configured to use the RADIUS-provided timeout, it scans the RADIUS Access-Accept
message for the Session-Timeout and optional Termination-Action attributes. The switch uses the value
of the Session-Timeout attribute to determine the duration of the session, and it uses the value of the
Termination-Action attribute to determine the switch action when the session's timer expires.
If the Termination-Action attribute is present and its value is RADIUS-Request, the switch
reauthenticates the host. If the Termination-Action attribute is not present, or its value is Default, the
switch terminates the session.
Note The supplicant on the port detects that its session has been terminated and attempts to initiate a new
session. Unless the authentication server treats this new session differently, the client may see only a
brief interruption in network connectivity as the switch sets up a new session.
If the switch is configured to use the RADIUS-supplied timeout, but the Access-Accept message does
not include a Session-Timeout attribute, the switch never reauthenticates the supplicant. This behavior
is consistent with Cisco's wireless access points.
For details on how to configure RADIUS-provided session timeouts, see the “Configuring
RADIUS-Provided Session Timeouts” section on page 36-45.
Note The same guidelines also apply for Multiple Authentication when voice VLAN is configured.
• It is highly recommended that you enable CoPP on an MDA-enabled port to protect against a DoS
attack. Refer to Chapter 39, “Configuring Control Plane Policing.”
• To configure a switch port for MDA or Multiple Authentication, see the “Configuring Multiple
Domain Authentication and Multiple Authorization” section on page 36-29.
• You must configure the voice VLAN for the IP phone when the host mode is set to multidomain. For
more information, see Chapter 34, “Configuring Voice Interfaces.”
• To authorize a voice device, the AAA server must be configured to send a Cisco Attribute-Value
(AV) pair attribute with a value of device-traffic-class=voice. Without this value, the switch
treats the voice device as a data device.
• The guest VLAN and restricted VLAN features only apply to the data devices on an MDA-enabled
port. The switch treats a voice device that fails authorization as a data device.
• If more than one device attempts authorization on either the voice or the data domain of a port, it is
error disabled.
• Until a device is authorized, the port drops its traffic. Non-Cisco IP phones or voice devices are
allowed into both the data and voice VLANs. The data VLAN allows the voice device to contact a
DHCP server to obtain an IP address and acquire the voice VLAN information. After the voice
device starts sending on the voice VLAN, its access to the data VLAN is blocked. A security
violation may occur in MDA if the voice device continues to send traffic on the data VLAN.
• MDA can use MAC authentication bypass as a fallback mechanism to allow the switch port to
connect to devices that do not support 802.1X authentication. This is especially useful for 3rd-party
phones without 802.1X supplicant. For more information, see the “Using 802.1X with MAC
Authentication Bypass” section on page 36-11.
• When a data or a voice device is detected on a port, its MAC address is blocked until authorization
succeeds. If the authorization fails, the MAC address remains blocked for 5 minutes.
• If more than one device is detected on the data VLAN or more than one voice device is detected on
the voice VLAN while a port is unauthorized, the port is error disabled.
• When a port host mode is changed from single- or multihost to multidomain mode, an authorized
data device remains authorized on the port. However, a Cisco IP phone that has been allowed on the
port in the voice VLAN is automatically removed and must be reauthenticated on that port.
• Active fallback mechanisms such as guest VLAN and restricted VLAN remain configured after a
port changes from single- or multihost mode to multidomain mode.
• Switching a port host mode from multidomain to single- or multihost mode removes all authorized
devices from the port.
• If a data domain is authorized first and placed in the guest VLAN, non-802.1X-capable voice
devices need to tag their packets on the voice VLAN to trigger authentication.
• We do not recommend per-user ACLs with an MDA-enabled port. An authorized device with a
per-user ACL policy might impact traffic on both the voice and data VLANs of the port. If used,
only one device on the port should enforce per-user ACLs.
Supported Topologies
The 802.1X port-based authentication supports two topologies:
• Point-to-point
• Wireless LAN
In a point-to-point configuration (see Figure 36-1 on page 36-2), only one client can be connected to the
802.1X-enabled switch port when the multi-host mode is not enabled (the default). The switch detects
the client when the port link state changes to the up state. If a client leaves or is replaced with another
client, the switch changes the port link state to down, and the port returns to the unauthorized state.
For 802.1X port-based authentication in a wireless LAN (Figure 36-7), you must configure the 802.1X
port as a multiple-host port that is authorized as a wireless access point once the client is authenticated.
(See the “Resetting the 802.1X Configuration to the Default Values” section on page 36-66.) When the
port is authorized, all other hosts that are indirectly attached to the port are granted access to the network.
If the port becomes unauthorized (reauthentication fails or an EAPOL-logoff message is received), the
switch denies access to the network for all wireless access point-attached clients. In this topology, the
wireless access point is responsible for authenticating clients attached to it, and the wireless access point
acts as a client to the switch.
Wireless Wireless
Catalyst 4500 Network
clients access point RADIUS
Access Switch
94160
Supplicants Authenticator Authentication server
Step 1 Enable 802.1X authentication. See the “Enabling 802.1X Authentication” section on page 36-24.
Step 2 Configure switch to RADIUS server communication. See the “Configuring Switch-to-RADIUS-Server
Communication” section on page 36-27.
Step 3 Adjust the 802.1X timer values. See the “Changing the Quiet Period” section on page 36-63.
Step 4 Configure optional features. See the “Configuring RADIUS-Provided Session Timeouts” section on
page 36-45.
The software uses the first method listed in the method list to authenticate users; if that method fails to
respond, the software selects the next authentication method in the list. This process continues until there
is successful communication with a listed authentication method or until all defined methods are
exhausted. If authentication fails at any point in this cycle, the authentication process stops, and no other
authentication methods are attempted.
Note To allow VLAN assignment, you must enable AAA authorization to configure the switch for all
network-related service requests.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# Enables 802.1X on your switch.
dot1x system-auth-control
To disable 802.1X globally on the switch, use the
no dot1x system-auth-control command.
Step 3 Switch(config)# aaa new-model Enables AAA.
To disable AAA, use the no aaa new-model command.
Step 4 Switch(config)# aaa authentication Creates an 802.1X AAA authentication method list.
dot1x {default} method1 [method2...]
To create a default list that is used when a named list is not specified in
the authentication command, use the default keyword followed by the
methods that are to be used in default situations. The default method list
is automatically applied to all interfaces.
Enter at least one of these keywords:
• group radius—Use the list of all RADIUS servers for authentication.
• none—Use no authentication. The client is automatically
authenticated by the switch without using the information supplied by
the client.
To disable 802.1X AAA authentication, use the
no aaa authentication dot1x {default | list-name} method1 [method2...]
global configuration command.
Step 5 Switch(config)# aaa authorization (Optional) Configures the switch for user RADIUS authorization for all
network {default} group radius network-related service requests, such as VLAN assignment.
Step 6 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for 802.1X authentication.
Step 7 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
Step 8 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 9 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
Step 10 Switch(config-if)# end Returns to privileged EXEC mode.
Command Purpose
Step 11 Switch # show dot1x interface Verifies your entries.
interface-id details
Check the PortControl row in the 802.1X port summary section of this
display. The PortControl value is set to auto.
Step 12 Switch# show running-config Verifies your entries.
Step 13 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Note Enabling Spanning Tree PortFast ensures that a port comes up immediately after authorization.
Note Whenever you configure any 802.1X parameter on a port, a dot1x authenticator is automatically created
on the port. As a result dot1x pae authenticator appears in the configuration. This is to ensure that
dot1x authentication still works on legacy configurations without manual intervention. This is likely to
change in future releases.
This example shows how to enable 802.1X and AAA on Fast Ethernet port 2/1, and how to verify the
configuration:
Switch# configure terminal
Switch(config)# dot1x system-auth-control
Switch(config)# aaa new-model
Switch(config)# aaa authentication dot1x default group radius
Switch(config)# interface fastethernet2/1
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication port-control auto
Switch(config-if)# end
Domain: DATA
Oper host mode: single-host
Oper control dir: both
Session timeout: N/A
Idle timeout: N/A
Common Session ID: 0A053F0F00000004041E6B0C
Acct Session ID: 0x00000021
Handle: 0x2C000004
To configure the RADIUS server parameters on the switch, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# radius-server host Configures the RADIUS server parameters on the switch.
{hostname | ip-address} auth-port
port-number [acct-port port-number] For hostname | ip-address, specify the hostname or IP address of the
[test username name] remote RADIUS server.
[ignore-auth-port] [ignore-acct-port]
[idle-time min] key string To delete the specified RADIUS server, use the no radius-server host
{hostname | ip-address} global configuration command.
The auth-port port-number specifies the UDP destination port for
authentication requests. The default is 1645.
The acct-port port-number specifies the UDP destination port for
accounting requests. The default is 1646.
Use test username name to enable automated RADIUS server testing,
and to detect the RADIUS server going up and down. The name
parameter is the username used in the test access request sent to the
RADIUS server; it does not need to be a valid user configured on the
server. The ignore-auth-port and ignore-acct-port options disable
testing on the authentication and accounting ports respectively.
The idle-time min parameter specifies the number of minutes before
an idle RADIUS server is tested to verify that it is still up. The default
is 60 minutes.
The key string specifies the authentication and encryption key used
between the switch and the RADIUS daemon running on the RADIUS
server. The key is a text string that must match the encryption key used
on the RADIUS server.
Note Always configure the key as the last item in the
radius-server host command syntax because leading spaces
are ignored, but spaces within and at the end of the key are
used. If you use spaces in the key, do not enclose the key in
quotation marks unless the quotation marks are part of the key.
This key must match the encryption used on the RADIUS
daemon.
Command Purpose
Step 5 Switch(config-if)# ip radius Establishes the IP address to be used as the source address for all
source-interface m/p outgoing RADIUS packets.
Step 6 Switch(config)# end Returns to privileged EXEC mode.
Step 7 Switch# show running-config Verifies your entries.
Step 8 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to specify the server with IP address 172.120.39.46 as the RADIUS server. The
first command specifies port 1612 as the authorization port, sets the encryption key to rad123.
The second command dictates that key matches are performed on the RADIUS server:
Switch# configure terminal
Switch(config)# radius-server host 172.l20.39.46 auth-port 1612 key rad123
Switch(config)# ip radius source-interface g3/2
Switch(config)# end
Switch#
You can globally configure the timeout, retransmission, and encryption key values for all RADIUS
servers by using the radius-server host global configuration command. If you want to configure these
options on a per-server basis, use the radius-server timeout, radius-server retransmit, and the
radius-server key global configuration commands.
You also need to create a AAA client setting on the RADIUS server. These settings include the IP
address of the switch and the key string to be shared by both the server and the switch.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# radius-server vsa Configures the network access server to recognize and use
send authentication vendor-specific attributes (VSAs).
Step 3 Switch(config)# interface Specifies the port to which multiple hosts are indirectly attached, and
interface-id enters interface configuration mode.
Command Purpose
Step 4 Switch(config-if)# [no] The keywords allow the following:
authentication host-mode
{single-host | multi-host | • single-host–Single host (client) on an IEEE 802.1X-authorized port.
multi-domain} | multi-auth}
• multi-host–Multiple hosts on an 802.1X-authorized port after a
authenticating a single host.
• multi-domain–Both a host and a voice device (like an IP phone,
Cisco or non-Cisco), to authenticate on an IEEE 802.1X-authorized
port.
Note You must configure a voice VLAN for an IP phone when the host
mode is set to multi-domain. For more information, see
Chapter 34, “Configuring Voice Interfaces.”
This example shows how to enable 802.1X authentication and to allow multiple hosts:
Switch(config)# interface gigabitethernet2/1
Switch(config-if)# authentication port-control auto
Switch(config-if)# authentication host-mode multi-host
Switch(config-if)# end
This example shows how to enable MDA and to allow both a host and a 802.1X voice device (a Cisco or
third-party phone with 802.1X supplicant) on the port:
Switch# conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface FastEthernet3/1
Switch(config-if)# shut
Switch(config-if)# switchport access vlan 12
Switch(config-if)# switchport mode access
Switch(config-if)# switchport voice vlan 10
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication port-control auto
Switch(config-if)# authentication host-mode multi-domain
Switch(config-if)# no shut
Switch(config-if)# end
This example shows how to enable MDA and to allow both a host and a non-802.1X voice device on the
port:
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface FastEthernet3/1
Switch(config-if)# shut
Switch(config-if)# switchport access vlan 12
Switch(config-if)# switchport mode access
Switch(config-if)# switchport voice vlan 10
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication port-control auto
Switch(config-if)# authentication host-mode multi-domain
Switch(config-if)# mab eap
Switch(config-if)# no shut
Switch(config-if)# end
This example shows how to verify the dot1x MDA settings on interface FastEthernet3/1:
Switch# show dot1x interface FastEthernet3/1 detail
Domain = VOICE
Supplicant = 0060.b057.4687
Auth SM State = AUTHENTICATED
Auth BEND SM Stat = IDLE
Port Status = AUTHORIZED
Authentication Method = Dot1x
Authorized By = Authentication Server
Switch#
This example shows how to enable MDA and to authentication of multiple hosts and a voice device on
an IEEE 802.1x-authorized port:
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Downloadable ACL
The Downloadable ACL feature enables you to download device specific authorization policies from the
authentication server. These policies activate after authentication succeeds for the respective client and
the client's IP address has been populated in the IP device tracking table. (Downloadable ACL is applied
on the port, once the port is authenticated and the IP device tracking table has the host IP address entry).
The following sections illustrates the configuration needed to complement the related authentication
(802.1X or MAB) configuration. (No unique configuration is required on the switch. All of the
configuration is on the ACS.) After authentication succeeds, enter the show ip access-list command to
display the downloadable ACLs.
Switch Configuration
switchport
switchport access vlan 29
switchport mode access
switchport voice vlan 1234
access-group mode prefer port
ip access-group pacl-4 in
speed 100
duplex full
authentication event fail action authorize vlan 111
authentication event server dead action authorize vlan 333
authentication event server alive action reinitialize
authentication host-mode multi-auth
authentication order dot1x
authentication port-control auto
authentication timer restart 100
authentication timer reauthenticate 20
authentication timer inactivity 200
mab eap
dot1x pae authenticator
end
Switch#
Switch# show ip access-list pacl-4
10 permit ip host 1.1.1.1 host 2.2.2.2
20 permit icmp host 1.1.1.1 host 2.2.2.2
Switch#
The IP device tracking table contains the host IP address learned through ARP or DHCP.
The following commands displays the constraints on the IP device tracking table:
Switch# show ip device tracking all
IP Device Tracking = Enabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 30
--------------------------------------------------------------
IP Address MAC Address Interface STATE
--------------------------------------------------------------
50.0.0.12 0015.60a4.5e84 GigabitEthernet2/9 ACTIVE
The following command shows that the EPM (Policy Enforced Module) session contains the DACL
downloaded from ACS:
Switch# show epm session ip 50.0.0.12
Admission feature : DOT1X
AAA Policies :
ACS ACL : xACSACLx-IP-auth-48b79b6e
Follow these steps to ensure correct functioning of the ACS configuration required for DACL:
Step 1 Configure a downloadable IP ACL on the window that appears when you select
Radius Shared Profile > Downloadable IP ACL Content:
Step 2 Attach this DACL with the USER on the window that appears when you select User > DACLs:
URL-Redirect
This configuration consists of two configurations: one on ACS, and one on the switch.
ACS configuration
To configure two Cisco-AV pairs, add the following statements under the user or group Cisco IOS/PIX
6x RADIUS attributes:
url-redirect-acl=urlacl
url-redirect=http://www.cisco.com
Switch configuration
Switch#
The show epm session ip command displays the EPM session table for a particular host. Observe the
URL- redirect-acl and URL-redirect URL information that downloads from the ACS.
Switch# show epm session ip 50.0.0.12
Admission feature : DOT1X
AAA Policies :
URL Redirect ACL : urlacl
URL Redirect : http://www.cisco.com
For more information about AV pairs that are supported by Cisco IOS software, see the
ACS configuration and command reference documentation about the software releases running on the
AAA clients.
For downloadable ACL or URL redirect, the ACL source must be ANY
(permit TCP ANY host 1.1.1.1 eq 80 or permit TCP ANY host 1.1.1.1 eq 443).
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# access-list Defines the default port ACL through a source address and wildcard.
access-list-number {deny | permit}
source [source-wildcard] [log] The access-list-number is a decimal from 1 to 99 or 1300 to 1999.
Enter deny or permit to specify whether to deny or permit access if
conditions match.
source is the address of the network or host from which the packet is sent,
specified as follows:
• The 32-bit quantity in dotted-decimal format
• The keyword any as an abbreviation for source and source-wildcard
value of 0.0.0.0 255.255.255.255
You do not need a source-wildcard value.
• The keyword host as an abbreviation for source and source-wildcard
of source 0.0.0.0.
(Optional) Applies the source-wildcard wildcard bits to the source.
(Optional) Enters log to cause an informational logging message about the
packet that matches the entry to be sent to the console.
Step 3 Switch(config-if)# interface Enters interface configuration mode.
interface-id
Step 4 Switch(config-if)# ip access-group Controls access to the specified interface.
{access-list-number | name} in
This step is mandatory for a functioning downloaded policy.
Step 5 Switch(config)# exit Returns to global configuration mode.
Step 6 Switch(config)# aaa new-model Enables AAA.
Step 7 Switch(config)# aaa authorization Sets the authorization method to local. To remove the authorization
network default local method, use the no aaa authorization network default local command.
Step 8 Switch(config)# ip device tracking Enables the IP device tracking table.
To disable the IP device tracking table, use the no ip device tracking
global configuration commands.
Step 9 Switch(config)# ip device tracking (Optional) Configures these parameters for the IP device tracking table:
[probe {count count | interval
interval}] • count - Number of times that the switch sends the ARP probe. The
range is 1 to 5. The default is 3.
• interval - Number of seconds that the switch waits for a response
before resending the ARP probe. The range is 30 to 300 seconds. The
default is 30 seconds.
Step 10 Switch(config)# radius-server vsa Configures the network access server to recognize and use vendor-specific
send authentication attributes.
Note The downloadable ACL must be operational.
Step 11 Switch(config)# end Returns to privileged EXEC mode.
Command Purpose
Step 12 Switch# show ip device tracking Displays information about the entries in the IP device tracking table.
{all | interface interface-id | ip
ip-address | mac mac-address}
Step 13 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
The following example illustrates how to configure a switch for downloadable policy:
Switch# config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# aaa new-model
Switch(config)# aaa authorization network default local
Switch(config)# ip device tracking
Switch(config)# ip access-list extended default_acl
Switch(config-ext-nacl)# permit ip any any
Switch(config-ext-nacl)# exit
Switch(config)# radius-server vsa send authentication
Switch(config)# int fastEthernet 2/13
Switch(config-if)# ip access-group default_acl in
Switch(config-if)# exit
Note The Radius Vendor-specific attributes (VSAs) allow vendors to support their own proprietary
RADIUS attributes that are not included in standard radius attributes.
Switch Configuration
Switch#
Switch# show ip access-list pacl-4
10 permit ip host 1.1.1.1 host 2.2.2.2
20 permit icmp host 1.1.1.1 host 2.2.2.2
Switch#
In the Group/User Setting page, scroll down to the Cisco IOS/PIX 6.x RADIUS Attributes section.
Select the box next to [009\001 cisco-av-pair] and enter the elements of the per-user ACL. Per-user
ACLS take this format:
<protocol>:inacl#<sequence number>=<ACE>
<protocol> can be either "ip" for IP-based ACLs or "mac" for MAC-based ACLs.
In the following example, members of the group you are configuring are denied all access to the
10.100.60.0 subnet, denied http access to the server at 10.100.10.116, and permitted everywhere else.
In the Group/User Setting page, scroll down to the " IETF RADIUS Attributes" section. Select the box
next to [011] Filter-Id and enter the ACL to apply for members of this group (Figure 36-11).
The Filter-Id takes this format:
<ACL>.in
<ACL> is the number of the ACL that was configured on the switch in the previous step
The IP device tracking table contains the host IP address learned through ARP or DHCP. The following
command displays the constraints on the IP device tracking table:
Switch# show ip device tracking all
IP Device Tracking = Enabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 30
--------------------------------------------------------------
IP Address MAC Address Interface STATE
--------------------------------------------------------------
50.0.0.12 0015.60a4.5e84 GigabitEthernet2/9 ACTIVE
The following command shows that the EPM (Policy Enforced Module) session contains the per-user-acl
from ACS:
Switch# show epm session ip 50.0.0.12
Admission feature : DOT1X
AAA Policies :
Per-User ACL : deny ip any host 20.20.10.10
The following command reveals the contents of the per-user-acl (note that per-user-acl are shown above
the default port ACL configured on the interface, 151 is the default port ACL in the following example):
Switch# show access-list
Extended IP access list 151
The following commands reveals the number of sessions and the corresponding client ip addresses,
Switch# show epm session summary
EPM Session Information
-----------------------
Session IP Address :
-------------------
50.0.0.12
The following command shows that the EPM (Policy Enforced Module) session contains the
per-user-acl(both ip and mac acl from ACS):
Switch# show epm session ip 50.0.0.12
Admission feature : DOT1X
AAA Policies :
Per-User ACL : deny ip any host 20.20.10.10
Per-User ACL : deny any host 0000.AAAA.AAAA
The following command reveals the contents of the per-user-acl (note that per-user-acl are shown above
the default port acl configured on the interface, 151 is the default port acl in the example below):
Switch# show access-list
Extended IP access list 151
The following command shows that the EPM (Policy Enforced Module) session contains the Filter-Id
155 from ACS:
Note The 156 IP extended acl is to be pre-configured on the switch, so that the policy enforcement
can happen.
The following command reveals the contents of the Filter-Id applied on the interface:
Switch# show ip access-list int <gi6/3>
For Per-User-ACL and Filter-ID ACL, the ACL source must be ANY
(permit TCP ANY host 1.1.1.1 eq 80 or permit TCP ANY host 1.1.1.1 eq 443).
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# access-list Defines the default port ACL through a source address and wildcard.
access-list-number {deny | permit}
source [source-wildcard] [log] The access-list-number is a decimal from 1 to 99 or 1300 to 1999.
Enter deny or permit to specify whether to deny or permit access if
conditions match.
source is the address of the network or host from which the packet is sent,
specified as follows:
• The 32-bit quantity in dotted-decimal format
• The keyword any as an abbreviation for source and source-wildcard
value of 0.0.0.0 255.255.255.255
You do not need a source-wildcard value.
• The keyword host as an abbreviation for source and source-wildcard
of source 0.0.0.0.
(Optional) Applies the source-wildcard wildcard bits to the source.
(Optional) Enters log to cause an informational logging message about the
packet that matches the entry to be sent to the console.
Step 3 Switch(config-if)# interface Enters interface configuration mode.
interface-id
Step 4 Switch(config-if)# ip access-group Controls access to the specified interface.
{access-list-number | name} in
This step is mandatory for a functioning downloaded policy.
Step 5 Switch(config)# exit Returns to global configuration mode.
Step 6 Switch(config)# aaa new-model Enables AAA.
Step 7 Switch(config)# aaa authorization Sets the authorization method to local. To remove the authorization
network default local method, use the no aaa authorization network default local command.
Step 8 Switch(config)# ip device tracking Enables the IP device tracking table.
To disable the IP device tracking table, use the no ip device tracking
global configuration commands.
Step 9 Switch(config)# ip device tracking (Optional) Configures these parameters for the IP device tracking table:
[probe {count count | interval
interval}] • count - Number of times that the switch sends the ARP probe. The
range is 1 to 5. The default is 3.
• interval - Number of seconds that the switch waits for a response
before resending the ARP probe. The range is 30 to 300 seconds. The
default is 30 seconds.
Step 10 Switch(config)# end Returns to privileged EXEC mode.
Command Purpose
Step 11 Switch# show ip device tracking Displays information about the entries in the IP device tracking table.
{all | interface interface-id | ip
ip-address | mac mac-address}
Step 12 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
The following example illustrates how to configure a switch for downloadable policy:
Switch# config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# aaa new-model
Switch(config)# aaa authorization network default local
Switch(config)# ip device tracking
Switch(config)# ip access-list extended default_acl
Switch(config-ext-nacl)# permit ip any any
Switch(config-ext-nacl)# exit
Switch(config)# int fastEthernet 2/13
Switch(config-if)# ip access-group default_acl in
Switch(config-if)# exit
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode.
interface-id
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
Step 4 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 5 Switch(config-if)# authentication Sets the re-authentication period (seconds).
timer reauthenticate {interface |
server}
Step 6 Switch(config-if)# end Returns to privileged EXEC mode.
Step 7 Switch# show dot1x interface Verifies your entries.
interface-id details
Step 8 Switch # copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to configure a switch to derive the re-authentication period from the server and
to verify the configuration:
Switch# configure terminal
Switch(config)# interface f7/1
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication timer reauthenticate server
Switch(config-if)# end
Switch#
Note When a port is put into a guest VLAN, it is automatically placed into multihost mode, and an unlimited
number of hosts can connect through the port. Changing the multihost configuration does not effect a
port in a guest VLAN.
Note Except for an RSPAN VLAN or a voice VLAN, you can configure any active VLAN as an 802.1X guest
VLAN.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for 802.1X authentication.
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
or
Switch(config-if)# switchport mode Specifies that the ports with a valid PVLAN trunk association become active
private-vlan host host PVLAN trunk ports.
Step 4 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 5 Switch(config-if)# authentication Enables a guest VLAN on a particular interface.
event no-response action authorize
vlan vlan-id To disable the guest VLAN feature on a particular port, use the
no authentication event no-response action authorize vlan interface
configuration command (for earlier releases, use the no dot1x guest-vlan
interface configuration command).
Step 6 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
Step 7 Switch(config-if)# end Returns to configuration mode.
Step 8 Switch(config)# end Returns to privileged EXEC mode.
This example shows how to enable regular VLAN 50 on Fast Ethernet 4/3 as a guest VLAN on a static
access port:
Switch# configure terminal
Switch(config)# interface fa4/3
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication event no-response action authorize vlan 50
Switch(config-if)# authentication port-control auto
Switch(config-if)# end
Switch#
This example shows how to enable a secondary PVLAN 100 as a guest VLAN on a PVLAN host port:
Switch# configure terminal
Switch(config)# interface fa4/3
Switch(config-if)# switchport mode private-vlan host
Switch(config-if)# authentication port-control auto
Switch(config-if)# authentication event no-response action authorize vlan 100
Switch(config-if)# end
Switch#
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch# dot1x guest-vlan supplicant (Optional) Enables supplicants to be allowed into the guest VLANs
globally on the switch.
To disable the supplicant guest VLAN feature on a switch, use the
no dot1x guest-vlan supplicant global configuration command.
Step 3 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for 802.1X authentication.
Step 4 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
or
Switch(config-if)# switchport mode Specifies that the ports with a valid PVLAN trunk association become active
private-vlan host host PVLAN trunk ports.
Step 5 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 6 Switch(config-if)# dot1x guest-vlan Specifies an active VLAN as an 802.1X guest VLAN. The range is 1 to
vlan-id 4094.
Step 7 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
Step 8 Switch(config-if)# end Returns to privileged EXEC mode.
Step 9 Switch# show dot1x interface Verifies your entries.
interface-id
Step 10 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to enable the guest VLAN feature and to specify VLAN 5 as a guest VLAN:
Switch# configure terminal
Switch(config)# dot1x guest-vlan supplicant
Switch(config)# interface gigabitethernet5/9
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication event no-response action authorize vlan 5
Switch(config-if)# authentication port-control auto
Switch(config-if)# end
Switch#
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Specifies the port to be configured, and enters interface configuration
interface-id mode.
Command Purpose
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
or
Switch(config-if)# switchport mode Specifies that the ports with a valid PVLAN trunk association become active
private-vlan host host PVLAN trunk ports.
Step 4 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 5 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
Step 6 Switch(config-if)# mab [eap] Enables MAB on a switch.
The eap option specifies that a complete EAP conversation should be
used, as opposed to standard RADIUS Access-Request, Access-Accept
conversation. By default, the eap option is not enabled for MAB.
Step 7 Switch(config)# end Returns to privileged EXEC mode.
Step 8 Switch# show mab interface (Optional) Verifies your entries.
interface-id details
Step 9 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Note Removing a 802.1X MAB configuration from a port does not impact the authorized or authenticated
state of the port. If the port is in an unauthenticated state, it remains in that state. If the port is in an
authenticated state because of MAB, the switch reverts to the 802.1X Authenticator. If the port was
already authorized with a MAC address and the MAB configuration was removed, the port remains in
an authorized state until re-authentication occurs. At that time, if an 802.1X supplicant is detected on
the wire, the MAC address is removed.
This example shows how to enable MAB on Gigabit Ethernet interface 3/3 and to verify the
configuration:
Switch# configure terminal
Switch(config)# interface gigabitethernet3/3
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication port-control auto
Switch(config-if)# mab
Switch(config-if)# end
Switch# show mab int g3/3 details
MAB details for GigabitEthernet3/3
-------------------------------------
Mac-Auth-Bypass = Enabled
Caution You must configure the switch to monitor the state of the RADIUS server as described in the section
Configuring Switch-to-RADIUS-Server Communication, page 36-27 for Inaccessible Authentication
Bypass to work properly. Specifically, you must configure the RADIUS test username, idle-time,
deadtime and dead-criteria. Failure to do so results in the switch failing to detect that the RADIUS server
has gone down, or prematurely marking a dead RADIUS server as alive again.
To configure a port as a critical port and to enable the Inaccessible Authentication Bypass feature,
perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# authentication (Optional) Configures whether to send an EAPOL-Success packet when
critical eapol a port is critically authorized partway through an EAP exchange.
Note Some supplicants require this.
Command Purpose
Step 11 Switch# show dot1x interface (Optional) Verifies your entries.
interface-id details
Step 12 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
The following example shows a full configuration of 802.1X with Inaccessible Authentication Bypass,
including required AAA and RADIUS configuration as specified in the “Enabling 802.1X
Authentication” section on page 36-24and “Configuring Switch-to-RADIUS-Server Communication”
section on page 36-27.
The RADIUS server configured is at IP address 10.1.2.3, using port 1645 for authentication and 1646
for accounting. The RADIUS secret key is mykey. The username used for the test server probes is
randomuser. The test probes for both living and dead servers are generated once per minute. The
interface FastEthernet 3/1 is configured to critically authenticate into VLAN 17 when AAA becomes
unresponsive, and to reinitialize automatically when AAA becomes available again.
Switch# configure terminal
Switch(config)# aaa new-model
Switch(config)# aaa authentication dot1x default group radius
Switch(config)# dot1x system-auth-control
Switch(config)# radius-server host 10.1.2.3 auth-port 1645 acct-port 1646 test username
randomuser idle-time 1 key mykey
Switch(config)# radius deadtime 1
Switch(config)# radius dead-criteria time 15 tries 3
Switch(config)# interface f3/1
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication port-control auto
Switch(config-if)# authentication event server dead action authorize vlan 17
Switch(config-if)# end
Switch# show dot1x int fastethernet 3/1 details
Switch#
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Specifies the port to be configured and enters interface configuration
interface-id mode.
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
or
Switch(config-if)# switchport mode Specifies that the ports with a valid PVLAN trunk association become active
private-vlan host host PVLAN trunk ports.
Step 4 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 5 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
Step 6 Switch(config-if)# authentication Enables unidirectional port control on each port.
control-direction {in | both}
Step 7 Switch(config)# end Returns to privileged EXEC mode.
Step 8 Switch# show dot1x interface (Optional) Verifies your entries.
interface-id details
Step 9 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Note Unidirectional Controlled Port only works when Spanning Tree Portfast is enabled on the port.
Unidirectional Controlled Port and Spanning Tree Portfast should be configured on a switch port that
connects to a host. If two such ports are connected together with an Ethernet cable, high CPU utilization
may result because host learning is flapping between the two ports.
ReAuthentication = Disabled
QuietPeriod = 60
ServerTimeout = 30
SuppTimeout = 30
ReAuthPeriod = 3600 (Locally configured)
ReAuthMax = 2
MaxReq = 2
TxPeriod = 30
RateLimitPeriod = 0
Switch#
Note Use the authentication-failed VLAN assignment with other security features, such as Dynamic ARP
Inspection (DAI), Dynamic Host Configuration Protocol (DHCP) snooping, and IP Source Guard. Each
of these features can be enabled and disabled independently on the authentication-failed VLAN.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for 802.1X authentication.
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
Step 4 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
This example shows how to enable a regular VLAN 40 on Fast Ethernet 4/3 as a authentication-failed
VLAN on a static access port:
Switch# configure terminal
Switch(config)# interface gigabitEthernet3/1
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication port-control auto
Switch(config-if)# authentication event fail retry 5 action authorize vlan 40
Switch(config-if)# end
Switch# show dot1x all
Sysauthcontrol Enabled
Dot1x Protocol Version 2
Note You cannot configure an authentication-failed VLAN and a voice VLAN on the same port. When you
try to configure these two features on the same port, a syslog message appears.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode.
interface-id
Step 3 Switch(config-if)# switchport Sets the VLAN for a switched interface in access mode.
access vlan vlan-id
Step 4 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
Step 5 Switch(config-if)# switchport voice Sets the voice VLAN for the interface.
vlan vlan-id
Step 6 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 7 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
Command Purpose
Step 8 Switch(config-if)# end Returns to configuration mode.
Step 9 Switch(config)# end Returns to privileged EXEC mode.
Step 10 Switch# show dot1x interface (Optional) Verifies your entries.
interface-id details
Step 11 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to enable 802.1X with voice VLAN feature on Fast Ethernet interface 5/9:
Switch# configure terminal
Switch(config)# interface fastethernet5/9
Switch(config-if)# switchport access vlan 2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport voice vlan 10
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication port-control auto
Switch(config-if)# end
Switch(config# end
Switch#
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode.
interface-id
Step 3 Switch(config-if)# switchport Sets the VLAN for a switched interface in access mode.
access vlan-id
Step 4 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
Step 5 Switch(config-if)# switchport voice Sets the voice VLAN for the interface.
vlan vlan-id
Step 6 Switch(config-if)# authentication Enables MDA on the interface.
host-mode multi-domain
Step 7 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
Step 8 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 9 Switch(config)# end Returns to privileged EXEC mode.
Command Purpose
Step 10 Switch# show dot1x interface (Optional) Verifies your entries.
interface-id details
Step 11 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
The following example shows how to configure MDA on an interface and 802.1X as the authentication
mechanism:
Note You must configure VLAN assignment in the ACS server. No configuration changes are required
on the switch.
Note The procedure is the same for voice devices except that the AAA server must be configured to send a
Cisco Attribute-Value (AV) pair attribute with a value of device-traffic-class=voice.
Note When Webauth and other authentication methods are configured on an MDA or multiauthentication port,
downloadable ACL policies must be configured for all devices attached to that port.
Command Purpose
Step 1 Switch(config)# ip admission name rule-name proxy Configures an authentication rule for web-based
http authentication.
Step 2 Switch(config)# fallback profile profile-name Creates a fallback profile for web-based authentication.
Step 3 Switch(config-fallback-profile)# ip access-group Specifies the default ACL to apply to network traffic
rule-name in before web-based authentication.
Step 4 Switch(config-fallback-profile)# ip admission Associates an IP admission rule with the profile and
name rule-name specifies that a client connecting by web-based
authentication uses this rule.
Step 5 Switch(config-fallback-profile)# exit Returns to global configuration mode.
Step 6 Switch(config)# interface type slot/port Specifies the port to be configured and enters interface
configuration mode.
type = fastethernet, gigabitethernet, or
tengigabitethernet
Step 7 Switch(config-if)# authentication port-control Enables authentication on the port.
auto
Step 8 Switch(config-if)# authentication order method1 (Optional) Specifies the fallback order of authentication
[method2] [method3] methods to be used. The three values of method, in the
default order, are dot1x, mab, and webauth. The
specified order also determines the relative priority of the
methods for reauthentication (highest to lowest).
Step 9 Switch(config-if)# authentication priority (Optional) Overrides the relative priority of
method1 [method2] [method3] authentication methods to be used. The three values of
method, in the default order of priority, are dot1x, mab,
and webauth.
Command Purpose
Step 10 Switch(config-if)# authentication event fail Specifies that the next configured authentication method
action next-method be applied if authentication fails.
Step 11 Switch(config-if)# mab [eap] Enables MAC authentication bypass. The optional eap
keyword specifies that the EAP extension be used during
RADIUS authentication.
Step 12 Switch(config-if)# authentication fallback Enables web-based authentication using the specified
profile-name profile.
Step 13 Switch(config-if)# authentication violation (Optional) Configures the disposition of the port if a
[shutdown | restrict] security violation occurs. The default action is to shut
down the port. If the restrict keyword is configured, the
port does not shutdown, but trap entries are installed for
the violating MAC address, and traffic from that MAC
address is dropped.
Step 14 Switch(config-if)# authentication timer (Optional) Configures the inactivity timeout value for
inactivity {seconds | server} MAB and 802.1X. By default, inactivity aging is disabled
for a port.
• seconds—Specifies inactivity timeout period. The
range is from 1 to 65535 seconds.
• server—Specifies that the inactivity timeout period
value be obtained from the authentication server.
Step 15 Switch(config-if)# authentication timer restart (Optional) Specifies a period after which the
seconds authentication process restarts in an attempt to
authenticate an unauthorized port.
• seconds—Specifies the restart period. The range is
from 1 to 65535 seconds.
Step 16 Switch(config-if)# exit Returns to global configuration mode.
Step 17 Switch(config)# ip device tracking Enables the IP device tracking table, which is required for
web-based authentication.
Step 18 Switch(config)# exit Returns to privileged EXEC mode.
Step 19 Switch# show dot1x interface type slot/port Verifies your entries.
This example shows how to enable 802.1X fallback to MAB, and then to enable web-based
authentication, on an 802.1X-enabled port:
Switch(config)# ip admission name rule1 proxy http
Switch(config)# fallback profile fallback1
Switch(config-fallback-profile)# ip access-group default-policy in
Switch(config-fallback-profile)# ip admission rule1
Switch(config-fallback-profile)# exit
Switch(config)# interface gigabit5/9
Switch(config-if)# switchport mode access
Switch(config-if)# authentication port-control auto
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication order dot1x mab webauth
Switch(config-if)# mab eap
Switch(config-if)# authentication fallback fallback1
Switch(config-if)# exit
Switch(config)# ip device tracking
Switch(config)# exit
To determine if a host has been authenticated using 802.1X when fallback authentication is configured
on the port, enter the following commands:
Switch# show authentication sessions interface g7/2
Interface: GigabitEthernet7/2
MAC Address: 0060.b057.4687
IP Address: Unknown
User-Name: test2
Status: Authz Success
Domain: DATA
Oper host mode: multi-auth
Oper control dir: both
Authorized By: Authentication Server
Vlan Policy: N/A
Session timeout: N/A
Idle timeout: N/A
Common Session ID: C0A8013F0000000901BAB560
Acct Session ID: 0x0000000B
Handle: 0xE8000009
To determine if a host has been authenticated using MAB when fallback authentication is configured on
the port, enter the following commands:
Switch# show authentication sessions interface g7/2
Interface: GigabitEthernet7/2
MAC Address: 0060.b057.4687
IP Address: 192.168.22.22
User-Name: 0060b0574687
Status: Authz Success
Domain: DATA
To determine if a host has been authenticated using web authentication when fallback authentication is
configured on the port, enter the following commands:
Switch# show authentication sessions interface G4/3
Interface: GigabitEthernet4/3
MAC Address: 0015.e981.0531
IP Address: 10.5.63.13
Status: Authz Success
Domain: DATA
Oper host mode: single-host
Oper control dir: both
Authorized By: Authentication Server
Vlan Policy: N/A
Session timeout: N/A
Idle timeout: N/A
Common Session ID: 0A053F0F0000000200112FFC
Acct Session ID: 0x00000003
Handle: 0x09000002
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for periodic reauthentication.
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
Step 4 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 5 Switch(config-if)# authentication Enables periodic reauthentication of the client, which is disabled by
periodic default.
To disable periodic reauthentication, use the no authentication periodic
interface configuration command (for earlier releases, use the
no dot1x reauthentication interface configuration command).
Step 6 Switch(config-if)# authentication Specifies the number of seconds between reauthentication attempts or
timer reauthenticate {seconds | have the switch use a RADIUS-provided session timeout.
server}
The range is 1 to 65,535; the default is 3600 seconds.
To return to the default number of seconds between reauthentication
attempts, use the no authentication timer reauthenticate global
configuration command (for earlier releases, use the
dot1x timeout reauth-attempts command).
This command affects the behavior of the switch only if periodic
reauthentication is enabled.
Step 7 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
Step 8 Switch(config-if)# end Returns to privileged EXEC mode.
This example shows how to enable periodic reauthentication and set the number of seconds between
reauthentication attempts to 4000:
Switch# configure terminal
Switch(config)# interface fastethernet5/9
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication periodic
Switch(config-if)# authentication timer reauthenticate 4000
Switch(config-if)# authentication port-control auto
Switch(config-if)# end
Switch#
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to which
interface-id multiple hosts are indirectly attached.
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
Step 4 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 5 Switch(config-if)# authentication Allows multiple hosts (clients) on an 802.1X-authorized port.
host-mode multi-host
Note Ensure that the dot1x port-control interface configuration
command set is set to auto for the specified interface.
This example shows how to enable 802.1X on Fast Ethernet interface 5/9 and to allow multiple hosts:
Switch# configure terminal
Switch(config)# interface fastethernet5/9
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# authentication host-mode multi-host
Switch(config-if)# authentication port-control auto
Switch(config-if)# end
Switch#
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for timeout quiet-period.
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
Step 4 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 5 Switch(config-if)# dot1x timeout Sets the number of seconds that the switch remains in the quiet-period
quiet-period seconds following a failed authentication exchange with the client.
To return to the default quiet-period, use the
no dot1x timeout quiet-period configuration command.
The range is 0 to 65,535 seconds; the default is 60.
Step 6 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
This example shows how to set the quiet period on the switch to 30 seconds:
Switch# configure terminal
Switch(config)# interface fastethernet4/1
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# dot1x timeout quiet-period 30
Switch(config-if)# authentication port-control auto
Switch(config-if)# end
Switch#
Note You should change the default value of this command only to adjust for unusual circumstances, such as
unreliable links or specific behavioral problems with certain clients and authentication servers.
To change the amount of time that the switch waits for client notification, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for timeout tx-period.
Step 3 Switch(config-if)# switchport mode Specifies a nontrunking, nontagged single VLAN Layer 2 interface.
access
Step 4 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 5 Switch(config-if)# dot1x timeout Sets the number of seconds that the switch waits for a response to an
tx-period seconds EAP-request/identity frame from the client before retransmitting the
request.
The range is 1 to 65,535 seconds; the default is 30.
To return to the default retransmission time, use the
no dot1x timeout tx-period interface configuration command.
Step 6 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
Step 7 Switch(config-if)# end Returns to privileged EXEC mode.
Step 8 Switch# show dot1x all Verifies your entries.
Step 9 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Note You should change the default values of these commands only to adjust for unusual circumstances such
as unreliable links or specific behavioral problems with certain clients and authentication servers.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and specifies the interface to be
interface-id enabled for max-reauth-req and/or max-req.
Step 3 Switch(config-if)# switchport mode Specifies a non-trunking, nontagged single VLAN Layer 2 interface.
access
Step 4 Switch(config-if)# dot1x pae Enables 802.1X authentication on the port with default parameters.
authenticator
Refer to the “Default 802.1X Configuration” section on page 36-23.
Step 5 Switch(config-if)# dot1x max-req Specifies the number of times EAPOL DATA packets are re-transmitted
count (if lost or not replied to). For example, if you have a supplicant in the
midst of authenticating and it experiences a problem, the authenticator
or
re-transmits requests for data three times before abandoning the
authentication request. The range for count is 1 to 10; the default is 2.
Switch(config-if)#
dot1x max-reauth-req count Specifies the timer for EAPOL-Identity-Request frames (only). If you
plug in a device incapable of 802.1X, three EAPOL-Id-Req frames are
sent before the state machine resets. Alternatively, if you have configured
Guest-VLAN, three frames are sent before the port is enabled. This
parameter has a default value of 2.
To return to the default retransmission number, use the no dot1x max-req
and no dot1x max-reauth-req global configuration command.
Step 6 Switch(config-if)# authentication Enables 802.1X authentication on the interface.
port-control auto
This example shows how to set 5 as the number of times that the switch retransmits an
EAP-request/identity request before restarting the authentication process:
Switch# configure terminal
Switch(config)# interface fastethernet5/9
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x pae authenticator
Switch(config-if)# dot1x max-reauth-req 5
Switch(config-if)# authentication port-control auto
Switch(config-if)# end
Switch#
This example shows how to restart the authentication process on all ports of the switch:
Switch# dot1x initialize
This example shows how to remove 802.1X client information on all ports of the switch:
Switch# clear dot1x all
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# dot1x default Resets the configurable 802.1X parameters to the default values.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show dot1x all Verifies your entries.
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
The individual output could be further refined with the handle, interface, MAC, session-id, or method
keywords:
Switch# show authentication sessions mac 000f.23c4.a401
Interface: GigabitEthernet1/5
MAC Address: 000f.23c4.a401
IP Address: Unknown
User-Name: 000f23c4a401
Status: Authz Success
Domain: DATA
Oper host mode: multi-auth
Oper control dir: both
Authorized By: Authentication Server
Vlan Policy: N/A
Session timeout: N/A
Idle timeout: N/A
Common Session ID: 0A3462B10000000D24F80B58
Acct Session ID: 0x0000000F
Handle: 0x2400000D
Runnable methods list:
Method State
dot1x Failed over
mab Authc Success
EPM Logging
EPM logging enables you to display EPM logging messages with the epm logging command in global
configuration mode. To disable EPM logging, enter no epm logging.
Logging messages are displayed during the following events:
POLICY_APP_SUCCESS - Policy application success events on Named ACLs, Proxy ACLs, and
service policies, URL redirect policies.
POLICY_APP_FAILURE - Policy application failure conditions like unconfigured policies, wrong
policies, download request failures and download failures from AAA.
IPEVENT - IP assignment, IP release and IP wait events for clients.
AAA - AAA events (like download requests, or download successes from AAA)
Example 1
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# epm logging
Switch# clear dot1x all
Switch#
*May 15 08:31:26.561: %EPM-6-POLICY_REQ: IP=100.0.0.222| MAC=0000.0000.0001|
AUDITSESID=0A050B2C000000030004956C| AUTHTYPE=DOT1X|
EVENT=REMOVE
*May 15 08:31:26.581: %AUTHMGR-5-START: Starting 'dot1x' for client (0000.0000.0001) on
Interface Fa9/25
*May 15 08:31:26.681: %DOT1X-5-SUCCESS: Authentication successful for client
(0000.0000.0001) on Interface Fa9/25
*May 15 08:31:26.681: %AUTHMGR-7-RESULT: Authentication result 'success' from 'dot1x' for
client (0000.0000.0001) on Interface Fa9/25
Example 2
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# epm logging
Switch(config)# int f9/25
Switch(config-if)# shut
Switch(config-if)# no shut
*May 15 08:41:56.329: %EPM-6-IPEVENT: IP=100.0.0.222| MAC=0000.0000.0001|
AUDITSESID=0A050B2C0000026108FB7924| AUTHTYPE=DOT1X|
EVENT=IP-RELEASE
*May 15 08:41:56.333: %EPM-6-IPEVENT: IP=100.0.0.222| MAC=0000.0000.0001|
AUDITSESID=0A050B2C0000026108FB7924| AUTHTYPE=DOT1X|
EVENT=IP-WAIT
http://www.cisco.com/en/US/docs/ios/sec_user_services/configuration/guide/sec_role_base_cli.html
http://www.cisco.com/en/US/docs/ios/sec_user_services/configuration/guide/sec_cfg_authen_prxy.htm
l
http://www.cisco.com/en/US/docs/ios/sec_user_services/configuration/guide/sec_cfg_sec_4cli.html
http://www.cisco.com/en/US/docs/ios/sec_user_services/configuration/guide/sec_cfg_authen_prxy.htm
l
Image Verification
http://www.cisco.com/en/US/docs/ios/sec_user_services/configuration/guide/sec_image_verifctn.html
http://www.cisco.com/en/US/docs/ios/sec_secure_connectivity/configuration/guide/sec_cert_enroll_pk
i.html
http://www.cisco.com/en/US/docs/ios/sec_secure_connectivity/configuration/guide/sec_pre_frag_vpns
.html
http://www.cisco.com/en/US/docs/ios/12_3t/12_3t4/feature/guide/gtaudlog.html
http://www.cisco.com/en/US/docs/ios/12_1t/12_1t1/feature/guide/dtrustrt.html
This chapter describes how to configure web-based authentication. It consists of these sections:
• About Web-Based Authentication, page 37-1
• Configuring Web-Based Authentication, page 37-5
• Displaying Web-Based Authentication Status, page 37-13
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Device Roles
With web-based authentication, the devices in the network have specific role (Figure 37-1).
Authentication
Catalyst switch server
or
Cisco Router (RADIUS)
Workstations
(clients)
79549
The roles are as follows:
• Client—The device (workstation) that requests access to the LAN and switch services and responds
to requests from the switch. The workstation must be running an HTML browser with Java Script
enabled.
• Authentication server—Performs the actual authentication of the client. The authentication server
validates the identity of the client and notifies the switch that the client is authorized to access the
LAN and switch services or that the client is denied.
• Switch—Controls the physical access to the network based on the authentication status of the client.
The switch acts as an intermediary (proxy) between the client and the authentication server,
requesting identity information from the client, verifying that information with the authentication
server, and relaying a response to the client.
Host Detection
The switch maintains an IP device tracking table to store information about detected hosts.
Note By default, the IP device tracking feature is disabled on a switch. You must enable the IP device tracking
feature to use web-based authentication.
For Layer 3 interfaces, web-based authentication sets an HTTP intercept ACL when the feature is
configured on the interface (or when the interface is put in service).
For Layer 2 interfaces, web-based authentication detects IP hosts using the following mechanisms:
• ARP based trigger—ARP redirect ACL allows web-based authentication to detect hosts with static
IP address or dynamically acquired IP address.
• Dynamic ARP Inspection
• DHCP snooping—Web-based authentication is notified when the switch creates a DHCP binding
entry for the host.
Session Creation
When web-based authentication detects a new host, it creates a session as follows:
• Checks for Auth bypass
If the host IP is not on the exception list, web-based authentication sends a nonresponsive host
(NRH) request to the server.
If the server response is Access Accepted, authorization is bypassed for this host. The session is
established.
• Sets up the HTTP Intercept ACL
If the server response to the NRH request is Access Rejected, the HTTP intercept ACL is activated
and the session waits for HTTP traffic from the host.
Authentication Process
When you enable web-based authentication, the following events occur:
• The user initiates an HTTP session.
• The HTTP traffic is intercepted, and authorization is initiated. The switch sends the login page to
the user. The user enters a username and password on the login page, and the switch sends the entries
to the authentication server.
• If the client identity is valid and the authentication succeeds, the switch downloads and activates the
user’s access policy from the authentication server. The login success page is sent to the user.
• If the authentication fails, the switch sends the login fail page. The user retries the login. If the
maximum number of attempts fails, the switch sends the login expired page and the host is placed
in a watch list. After the watch list times out, the user can retry the authentication process.
• If the authentication server does not respond to the switch, and if an AAA fail policy is configured,
the switch applies the failure access policy to the host. The login success page is sent to the user.
(See the “Customization of the Authentication Proxy Web Pages” section on page 37-4.)
• The switch reauthenticates a client when the host does not respond to an ARP probe on a Layer 2
interface, or the host does not send any traffic within the idle timeout on a Layer 3 interface.
• The feature applies the downloaded timeout or the locally configured session timeout.
• If the terminate action is RADIUS, the feature sends a nonresponsive host (NRH) request to the
server. The terminate action is included in the response from the server.
• If the terminate action is default, the session is dismantled and the applied policy is removed.
Port Security
You can configure web-based authentication and port security on the same port. (You configure port
security on the port with the switchport port-security interface configuration command.) When you
enable port security and web-based authentication on a port, web-based authentication authenticates the
port, and port security manages network access for all MAC addresses, including that of the client. You
can then limit the number or group of clients that can access the network through the port.
For more information about enabling port security, see Chapter 38, “Configuring Port Security.”
LAN Port IP
You can configure LAN port IP (LPIP) and Layer 2 web-based authentication on the same port. The host
is authenticated using web-based authentication first, followed by LPIP posture validation. The LPIP
host policy overrides the web-based authentication host policy.
If the web-based authentication idle timer expires, the NAC policy is removed. The host is authenticated
and posture is validated again.
ACLs
If you configure a VLAN ACL or Cisco IOS ACL on an interface, the ACL is applied to the host traffic
only after the web-based authentication host policy is applied.
For Layer 2 web-based authentication, you must configure a port ACL (PACL) as the default access
policy for ingress traffic from hosts connected to the port. After authentication, the web-based
authentication host policy overrides the PACL.
You cannot configure a MAC ACL and web-based authentication on the same interface.
You cannot configure web-based authentication on a port whose access VLAN is configured for VACL
capture.
802.1X Authentication
You cannot configure web-based authentication on the same port as 802.1X authentication except as a
fallback authentication method.
EtherChannel
You can configure web-based authentication on a Layer 2 EtherChannel interface. The web-based
authentication configuration applies to all member channels.
Switchover
On Catalyst 4500 series switches with redundant supervisor engines in RPR mode, information about
currently authenticated hosts is maintained during a switchover. You do not need to reauthenticate.
Note The proxyacl entry determines the type of allowed network access.
• Hosts that are more than one hop away may experience traffic disruption if an STP topology change
results in the host traffic arriving on a different port. This is because ARP and DHCP updates may
not be sent after a Layer 2 (STP) topology change.
• Web-based authentication does not support VLAN assignment as a downloadable host policy.
• Starting with Cisco IOS Release 12.2(50)SG , you can apply downloadable ACLs (DACLs) from
the RADIUS server.
• Web-based authentication is not supported for IPv6 traffic.
Command Purpose
Step 1 Switch(config)# ip admission name name proxy http Configures an authentication rule for web-based
authorization.
Switch(config)# no ip admission name name Removes the authentication rule.
Step 2 Switch(config)# interface type slot/port Enters interface configuration mode and specifies the
ingress Layer 2 or Layer 3 interface to be enabled for
web-based authentication.
type can be fastethernet, gigabit ethernet, or
tengigabitethernet
Step 3 Switch(config-if)# ip access-group name Applies the default ACL.
Step 4 Switch(config-if)# ip admission name Configures web-based authentication on the specified
interface.
Step 5 Switch(config-if)# exit Returns to configuration mode.
Step 6 Switch(config)# ip device tracking Enables the IP device tracking table.
Step 7 Switch(config)# end Returns to privileged EXEC mode.
Step 8 Switch# show ip admission configuration Displays the configuration.
This example shows how to enable web-based authentication on Fast Ethernet port 5/1:
Switch(config)# ip admission name webauth1 proxy http
Switch(config)# interface fastethernet 5/1
Command Purpose
Step 1 Switch(config)# aaa new-model Enables AAA functionality.
Switch(config)# no aaa new-model Disables AAA functionality.
Step 2 Switch(config)# aaa authentication login default Defines the list of authentication methods at login.
group {tacacs+ | radius}
Step 3 Switch(config)# aaa authorization auth-proxy Creates an authorization method list for web-based
default group {tacacs+ | radius} authorization.
Switch(config)# no aaa authorization auth-proxy Clears the configured method list.
default group {tacacs+ | radius}
Step 4 Switch(config)# tacacs-server host {hostname | Specifies an AAA server. For RADIUS servers, see the
ip_address} section “Configuring Switch-to-RADIUS-Server
Communication” section on page 37-8.
Step 5 Switch(config)# tacacs-server key {key-data} Configures the authorization and encryption key used
between the switch and the TACACS server.
Command Purpose
Step 1 Switch(config)# ip radius source-interface Specifies that the RADIUS packets have the IP address of
interface_name the indicated interface.
Switch(config)# no ip radius source-interface Prevents the RADIUS packets from having the IP address
of the previously indicated interface.
Step 2 Switch(config)# radius-server host {hostname | Specifies the host name or IP address of the remote
ip-address} test username username RADIUS server.
The test username username option enables automated
testing of the RADIUS server connection. The specified
username does not need to be a valid user name.
The key option specifies an authentication and encryption
key to be used between the switch and the RADIUS
server.
To use multiple RADIUS servers, reenter this command.
Switch(config)# no radius-server host {hostname | Deletes the specified RADIUS server.
ip-address}
Step 3 Switch(config)# radius-server key string Configures the authorization and encryption key used
between the switch and the RADIUS daemon running on
the RADIUS server.
Step 4 Switch(config)# radius-server vsa send Enables downloading of an ACL from the RADIUS
authentication server.
This feature was introduced in Cisco IOS Release
12.2(50)SG.
Step 5 Switch(config)# radius-server dead-criteria tries Specifies the number of unanswered transmits to a
num-tries RADIUS server before considering the server to be
inactive. The range of num-tries is 1 to 100.
radius-server key global configuration commands. For more information, see the
Cisco IOS Security Configuration Guide, Release 12.2, publication and the
Cisco IOS Security Command Reference, Release 12.2, publication at this URL:
http://www.cisco.com/en/US/docs/ios/12_2/security/command/reference/fsecur_r.html
Note You need to configure some settings on the RADIUS server, including: the IP address of the switch, the
key string to be shared by both the server and the switch, and the downloadable ACL (DACL). (Starting
with Cisco IOS Release 12.2(50)SG, Catalyst 4500 series switches support DACLs.) For more
information, see the RADIUS server documentation.
This example shows how to configure the RADIUS server parameters on a switch:
Switch(config)# ip radius source-interface Vlan80
Switch(config)# radius-server host 172.l20.39.46 test username user1
Switch(config)# radius-server key rad123
Switch(config)# radius-server dead-criteria tries 2
Command Purpose
Switch(config)# ip http server Enables the HTTP server. The web-based authentication
feature uses the HTTP server to communicate with the
hosts for user authentication.
Switch(config)# ip http secure-server Enables HTTPS.
Starting with Cisco IOS Release 12.2(50)SG, you can optionally configure custom authentication proxy
web pages or specify a redirection URL for successful login, as described in the following sections:
• Customizing the Authentication Proxy Web Pages
• Specifying a Redirection URL for Successful Login
Command Purpose
Step 1 Switch(config)# ip admission proxy http login Specifies the location in the switch memory file system
page file device:login-filename of the custom HTML file to use in place of the default
login page. The device: is either disk or flash memory,
such as disk0:.
Step 2 Switch(config)# ip admission proxy http success Specifies the location of the custom HTML file to use in
page file device:success-filename place of the default login success page.
Step 3 Switch(config)# ip admission proxy http failure Specifies the location of the custom HTML file to use in
page file device:fail-filename place of the default login failure page.
Step 4 Switch(config)# ip admission proxy http login Specifies the location of the custom HTML file to use in
expired page file device:expired-filename place of the default login expired page.
When configuring customized authentication proxy web pages, observe the following guidelines:
• To enable the custom web pages feature, specify all four custom HTML files. If you specify fewer
than four files, the internal default HTML pages are used.
• The four custom HTML files must be present on the disk or flash of the switch. The maximum size
of each HTML file is 8 KB.
• Any images on the custom pages must be located on an accessible HTTP server. An intercept ACL
must be configured within the admission rule to allow access to the HTTP server.
• Any external link from a custom page requires configuration of an intercept ACL within the
admission rule.
• Any name resolution required for external links or images requires configuration of an intercept
ACL within the admission rule to access a valid DNS server.
• If the custom web pages feature is enabled, a configured auth-proxy-banner is not used.
• If the custom web pages feature is enabled, the redirection URL for successful login feature is not
available.
• To remove the specification of a custom file, use the no form of the command.
Because the custom login page is a public web form, consider the following guidelines for this page:
• The login form must accept user input for the username and password and must POST the data as
uname and pwd.
• The custom login page should follow best practices for a web form, such as page timeout, hidden
password, and prevention of redundant submissions.
The following example shows how to configure custom authentication proxy web pages:
Switch(config)# ip admission proxy http login page file disk1:login.htm
Switch(config)# ip admission proxy http success page file disk1:success.htm
Switch(config)# ip admission proxy http fail page file disk1:fail.htm
Switch(config)# ip admission proxy http login expired page file disk1:expired.htm
The following example shows how to verify the configuration of custom authentication proxy web
pages:
Switch# show ip admission configuration
Command Purpose
Switch(config)# ip admission proxy http success Specifies a URL for redirection of the user in place of the
redirect url-string default login success page.
When configuring a redirection URL for successful login, consider the following guidelines:
• If the custom authentication proxy web pages feature is enabled, the redirection URL feature is
disabled and is not available in the CLI. You can perform redirection in the custom login success
page.
• If the redirection URL feature is enabled, a configured auth-proxy-banner is not used.
• To remove the specification of a redirection URL, use the no form of the command.
The following example shows how to configure a redirection URL for successful login:
Switch(config)# ip admission proxy http success redirect www.cisco.com
The following example shows how to verify the redirection URL for successful login:
Switch# show ip admission configuration
Command Purpose
Step 1 Switch(config)# ip admission max-login-attempts Sets the maximum number of failed login attempts. The
number range is 1 to 2147483647 attempts; the default is 5.
Step 2 Switch(config)# end Returns to privileged EXEC mode.
Step 3 Switch# show ip admission configuration Displays the authentication proxy configuration.
Step 4 Switch# show ip admission cache Displays the list of authentication entries.
This example shows how to set the maximum number of failed login attempts to 10:
Switch(config)# ip admission max-login-attempts 10
Command Purpose
Switch# clear ip auth-proxy cache {* | host ip Deletes authentication proxy entries. Use an asterisk to
address} delete all cache entries. Enter a specific IP address to
delete the entry for a single host.
Switch# clear ip admission cache {* | host ip Deletes authentication proxy entries. Use an asterisk to
address} delete all cache entries. Enter a specific IP address to
delete the entry for a single host.
This example shows how to remove the web-based authentication session for the client at IP address
209.165.201.1:
Switch# clear ip auth-proxy cache 209.165.201.1
Command Purpose
Step 1 Switch# show authentication sessions Displays the web-based authentication settings.
[interface type slot/port]
type = fastethernet, gigabitethernet, or tengigabitethernet
(Optional) Use the interface keyword to display the
web-based authentication settings for a specific interface.
This example shows how to view only the global web-based authentication status:
Switch# show authentication sessions
This example shows how to view the web-based authentication settings for interface Gi 3/27:
Switch# show authentication sessions interface gigabitethernet 3/27
This chapter describes how to configure port security on the Catalyst 4500 series switch. It provides an
overview of port security on the Catalyst 4500 series switch and details the configuration on various
types of ports such as access, voice, trunk and private VLAN (PVLAN).
This chapter consists of these sections:
• Command List, page 38-1
• Port Security, page 38-3
• Configuring Port Security on Access Ports, page 38-7
• Configuring Port Security on PVLAN Ports, page 38-14
• Configuring Port Security on Trunk Ports, page 38-17
• Configuring Port Security on Voice Ports, page 38-22
• Displaying Port Security Settings, page 38-27
• Configuring Port Security with Other Features/Environments, page 38-31
• Guidelines and Restrictions, page 38-33
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Command List
This table lists the commands most commonly used with Port Security.
Port Security
Port security enables you to restrict the number of MAC addresses (termed secure MAC addresses) on
a port, allowing you to prevent access by unauthorized MAC addresses. It also allows you to configure
a maximum number of secure MAC addresses on a given port (and optionally for a VLAN for trunk
ports). When a secure port exceeds the maximum, a security violation is triggered, and a violation action
is performed based on the violation action mode configured on the port.
If you configure the maximum number of secure MAC addresses as 1 on the port, the device attached to
the secure port is assured sole access to the port.
If a secure MAC address is secured on a port, that MAC address is not allowed to enter on any other port
off that VLAN. If it does, the packet is dropped unnoticed in the hardware. Other than through the
interface or port counters, you do not receive a log message reflecting this fact. Be aware that this
condition does not trigger a violation. Dropping these packets in the hardware is more efficient and can
be done without putting additional load on the CPU.
Port Security has the following characteristics:
• It allows you to age out secure MAC addresses. Two types of aging are supported: inactivity and
absolute.
• It supports a sticky feature whereby the secure MAC addresses on a port are retained through switch
reboots and link flaps.
• It can be configured on various types of ports such as access, voice, trunk, and private VLAN ports.
This overview contains the following topics:
• Secure MAC Addresses, page 38-3
• Maximum Number of Secure MAC Addresses, page 38-4
• Aging Secure MAC Addresses, page 38-5
• Sticky Addresses on a Port, page 38-5
• Violation Actions, page 38-6
• Static or Configured—Static secure MAC addresses are configured by the user through CLI or
SNMP. You might want to use this type if your MAC address remains fixed (PC).
• Sticky—Sticky addresses are learned like dynamic secure MAC addresses, but persist through
switch reboots and link flaps like static secure MAC addresses. You might want to use this type if
a large number of fixed MAC addresses exist and you do not want to configure MAC addresses
manually (100 PCs secured on their own ports).
If a port has reached its maximum number of secure MAC addresses and you try to configure a static
secure MAC address, your configuration is rejected and an error message displays. If a port has reached
its maximum number of secure MAC addresses and a new dynamic secure MAC address is added, a
violation action is triggered.
You can clear dynamic secure MAC addresses with the clear port-security command. You can clear
sticky and static secure MAC addresses one at a time with the no form of the
switchport port-security mac-address command.
Note If a port’s link goes down, all dynamically secured addresses on that port are no longer secure.
• You can configure MAC addresses to be sticky. These can be dynamically learned or manually
configured, stored in the address table, and added to the running configuration. After these addresses
are saved in the configuration file, the interface does not need to dynamically relearn them when the
switch restarts. Although you can manually configure sticky secure addresses, this action is not
recommended.
Note On a trunk port, a maximum number of secure MAC addresses can be configured on both the port and
port VLAN. The port’s maximum value can be greater than or equal to the port VLAN maximum(s) but
not less than the port VLAN maximum(s). If the port’s maximum value is less than at least one of the
port VLAN’s maximum (for example, if we have max set to 3 on VLAN 10 while no “sw port max” is
set (defaults to 1)), the port shuts down when dynamic adds reaches 2 on VLAN 10 (see “Guidelines and
Restrictions” on page 33). The port VLAN maximum enforces the maximum allowed on a given port on
a given VLAN. If the maximum is exceeded on a given VLAN but the port’s maximum is not exceeded,
the port still shuts down. The entire port is shut down even if one of the VLANs on the port has actually
caused the violation.
By default, port security does not age out the secure MAC addresses. After learned, the MAC addresses
remain on the port until either the switch reboots or the link goes down (unless the sticky feature is
enabled). However, port security does allow you to configure aging based on the absolute or inactivity
mode and aging interval (in minutes, from 1 to n).
• Absolute mode: ages between n and n+1
• Inactivity mode: ages between n+1 and n+2
Use this feature to remove and add PCs on a secure port without manually deleting the existing secure
MAC addresses, while still limiting the number of secure addresses on a port.
Unless static aging is explicitly configured with the switchport port-security aging static command,
static addresses are not aged even if aging is configured on the port.
Note If you use a different chassis, you might need another MAC address.
To enable sticky port security, enter the switchport port-security mac-address sticky command. When
you enter this command, the interface converts all the dynamic secure MAC addresses, including those
that were dynamically learned before sticky learning was enabled, to sticky secure MAC addresses.
The sticky secure MAC addresses do not automatically become part of the configuration file, which is
the startup configuration used each time the switch restarts. If you save the running config file to the
configuration file, the interface does not need to relearn these addresses when the switch restarts. If you
do not save the configuration, they are lost.
If sticky port security is disabled, the sticky secure MAC addresses are converted to dynamic secure
addresses and are removed from the running configuration.
After the maximum number of secure MAC addresses is configured, they are stored in an address table.
To ensure that an attached device has sole access of the port, configure the MAC address of the attached
device and set the maximum number of addresses to one, which is the default.
A security violation occurs if the maximum number of secure MAC addresses to a port has been added
to the address table and a workstation whose MAC address is not in the address table attempts to access
the interface.
Violation Actions
A security violation is triggered when the number of secure MAC addresses on the port exceeds the
maximum number of secure MAC addresses allowed on the port.
Note A secure violation is not triggered if the host secured on one port shows up on another port. The Catalyst
4500 series switch drops such packets on the new port silently in the hardware and does not overload the
CPU.
You can configure the interface for one of following violation modes, which are based on the response
to the violation:
• Restrict—A port security violation restricts data (that is, packets are dropped in software), causes
the SecurityViolation counter to increment, and causes an SNMP Notification to be generated. You
might want to configure this mode in order to provide uninterrupted service/access on a secure port.
The rate at which SNMP traps are generated can be controlled by the
snmp-server enable traps port-security trap-rate command. The default value (“0”) causes an
SNMP trap to be generated for every security violation.
• Shutdown—A port security violation causes the interface to shut down immediately. You might
want to configure this mode in a highly secure environment, where you do not want unsecured MAC
addresses to be denied in software and service interruption is not an issue.
• Shutdown VLAN—Use to set the security violation mode for each VLAN. In this mode, the
offending VLAN is error disabled instead of the entire port when a violation occurs.
When a secure port is in the error-disabled state, you can bring it out of this state automatically by
configuring the errdisable recovery cause psecure-violation global configuration command or you
can manually reenable it by entering the shutdown and no shut down interface configuration
commands. This is the default mode. If a port is in per-VLAN errdisable mode, you can also use
clear errdisable interface name vlan range command to re-enable the VLAN on the port.
You can also customize the time to recover from the specified error disable cause (default is 300
seconds) by entering the errdisable recovery interval interval command.
Note Port security can be enabled on a Layer 2 port channel interface configured in access mode. The port
security configuration on an EtherChannel is kept independent of the configuration of any physical
member ports.
Command Purpose
Step 1 Switch(config)# interface interface_id Enters interface configuration mode and specifies the
interface port-channel port_channel_number interface to configure.
Note The interface can be a Layer 2 port channel
logical interface.
Step 2 Switch(config-if)# switchport mode access Sets the interface mode.
Note An interface in the default mode (dynamic auto)
cannot be configured as a secure port.
Step 3 Switch(config-if)# [no] switchport port-security Enables port security on the interface.
To return the interface to the default condition as
nonsecure port, use the no switchport port-security
command.
Step 4 Switch(config-if)# [no] switchport port-security (Optional) Sets the maximum number of secure MAC
maximum value addresses for the interface. The range is 1 to 3072; the
default is 1.
To return the interface to the default number of secure
MAC addresses, use the no
switchport port-security maximum value.
Note To clear dynamically learned port security MAC addresses in the CAM table, use the
clear port-security dynamic command. The address keyword enables you to clear a secure MAC
addresses. The interface keyword enables you to clear all secure addresses on any interface (including
any port channel interface). The VLAN keyword allows you to clear port security MACs on a per-VLAN
per-port basis.
Examples
The following examples are provided:
• Example 1: Setting Maximum Number of Secure Addresses, page 38-11
• Example 2: Setting a Violation Mode, page 38-11
• Example 3: Setting the Aging Timer, page 38-11
• Example 4: Setting the Aging Timer Type, page 38-12
• Example 5: Configuring a Secure MAC Address, page 38-12
• Example 6: Configuring Sticky Port Security, page 38-13
• Example 7: Setting a Rate Limit for Bad Packets, page 38-13
• Example 8: Clearing Dynamic Secure MAC Addresses, page 38-14
SNMP traps can be enabled with a rate-limit to detect port-security violations due to restrict mode. The
following example shows how to enable traps for port-security with a rate of 5 traps per second:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# snmp-server enable traps port-security trap-rate 5
Switch(config)# end
Switch#
You can verify the previous commands with the show port-security interface command.
------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port) : 2
Max Addresses limit in System (excluding one mac per port) : 3072
Note Sending traffic to the ports causes the system to configure the port with sticky secure addresses.
Switch#
The following example shows how to configure rate limit for invalid source packets on Fast Ethernet
interface 5/1:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 5/1
Switch(config-if)# switchport port-security limit rate invalid-source-mac none
Switch(config-if)# end
Switch#
The following example shows how to clear all dynamic secure MAC addresses on Fast Ethernet interface
2/1:
Switch# clear port-security dynamic interface fa2/1
The following example shows how to clear all dynamic secure MAC addresses in the system:
Switch# clear port-security dynamic
Note This section follows the same configuration model that was presented for access ports.
These sections describe how to configure trunk port security on host and promiscuous ports:
• Configuring Port Security on an Isolated Private VLAN Host Port, page 38-14
• Example of Port Security on an Isolated Private VLAN Host Port, page 38-16
• Configuring Port Security on a Private VLAN Promiscous Port, page 38-16
• Example of Port Security on a Private VLAN Promiscous Port, page 38-17
Router
Layer 2 switch Promiscuous port
a b
X
Port security
implemented on
140973
isolated VLAN
PC PC host ports a and b
Note Dynamic addresses secured on an isolated private VLAN host port on private VLANs are secured on the
secondary VLANs, and not primary VLANs.
To configure port security on an isolated private VLAN host port, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enter global configuration mode.
Step 2 Switch(config)# vlan sec_vlan_id Specifies a secondary VLAN.
Step 3 Switch(config-vlan)# private-vlan isolated Sets the private VLAN mode to isolated.
Step 4 Switch(config-vlan)# exit Returns to global configuration mode.
Step 5 Switch(config)# vlan pri_vlan_id Specifies a primary VLAN.
Step 6 Switch(config-vlan)# private-vlan primary Specifies the VLAN as the primary private VLAN.
Step 7 Switch(config-vlan)# private-vlan association Creates an association between a secondary VLAN and a
add sec_vlan_id primary VLAN.
Step 8 Switch(config-vlan)# exit Returns to global configuration mode.
Step 9 Switch(config)# interface interface_id Enters interface configuration mode and specifies the
physical interface to configure.
Step 10 Switch(config-if)# switchport mode private-vlan Specifies that the ports with a valid private VLAN trunk
host association become active host private VLAN trunk ports.
Step 11 Switch(config-if)# switchport private-vlan Establishes a host association on an isolated host port.
host-association primary_vlan secondary_vlan
Step 12 Switch(config-if)# [no] switchport port-security Enables port security on the interface.
Step 13 Switch(config-if)# end Returns to privileged EXEC mode.
Step 14 Switch# show port-security address Verifies your entries.
interface interface_id
Switch# show port-security address
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# vlan sec_vlan_id Specifies the VLAN.
Step 3 Switch(config-vlan)# private-vlan isolated Sets the private VLAN mode to isolated.
Step 4 Switch(config-vlan)# exit Returns to global configuration mode.
Step 5 Switch(config)# vlan pri_vlan_id Specifies the VLAN.
Step 6 Switch(config-vlan)# private-vlan primary Designates the VLAN as the primary private VLAN.
Step 7 Switch(config-vlan)# private-vlan association Creates an association between a secondary VLAN and a
add sec_vlan_id primary VLAN.
Step 8 Switch(config-vlan)# exit Returns to global configuration mode.
Step 9 Switch(config)# interface interface_id Enters interface configuration mode and specifies the
physical interface to configure.
Step 10 Switch(config-if)# switchport mode private-vlan Specifies that the ports with a valid PVLAN mapping
promiscuous become active promiscuous ports.
Step 11 Switch(config-if)# switchport private-vlan Configures a private VLAN for the promiscuous ports
mapping primary_vlan secondary_vlan
Step 12 Switch(config-if)# switchport port-security Enables port security on the interface.
Step 13 Switch(config-if)# end Returns to privileged EXEC mode.
Step 14 Switch# show port-security address Verifies your entries.
interface interface_id
Switch# show port-security address
Note Port security can be enabled on a Layer 2 port channel interface configured in mode. The port security
configuration on an EtherChannel is kept independent of the configuration of any physical member
ports.
SVI 2 SV1 3
ISL or
dot1q trunk
Metro
Layer 2 switch
130601
Access port in VLAN 2 Access port in VLAN 3
You can configure various port security related parameters on a per-port per-VLAN basis.
Note The steps involved in configuring port security parameters is similar to those for access ports. In addition
to those steps, the following per-port per-VLAN configuration steps are supported for trunk ports.
To configure port security related parameters on a per-VLAN per-port basis, perform this task:
Command Purpose
Step 1 Switch(config)# interface interface_id Enters interface configuration mode and specifies the
interface port-channel port_channel_number interface to configure.
Note The interface can be a Layer 2 port channel
logical interface.
Step 2 Switch(config-if)# switchport trunk encapsulation Sets the trunk encapsulation format to 802.1Q.
dot1q
Step 3 Switch(config-if)# switchport mode trunk Sets the interface mode.
Note An interface in the default mode (dynamic auto)
cannot be configured as a secure port.
Example 1: Configuring a Maximum Limit of Secure MAC Addresses for all VLANs
This example shows how to configure a secure MAC-address and a maximum limit of secure MAC
addresses on Gigabit Ethernet interface 1/1 for all VLANs:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface g1/1
Switch(config-if)# sw mode trunk
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 3
5 3 0
6 3 0
Switch#
Example 2: Configuring a Maximum Limit of Secure MAC Addresses for Specific VLANs
This example shows how to configure a secure MAC-address on interface g1/1 in a specific VLAN or
range of VLANs:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface g1/1
Switch(config-if)# sw mode trunk
Switch(config-if)# switchport port-security
Switch(config-if)# vlan-range 2-6
Switch(config-if-vlan-range)# port-security maximum 3
Switch(config-if)# exit
Switch#
Note For a regular or private VLAN trunk port, if the VLAN is removed from the allowed VLAN list, all the
addresses associated with that VLAN are removed.
For example, when the mode changes from access to private VLAN trunk, all the static or sticky
addresses configured on the access VLAN of the access port are moved to the private VLAN native
VLAN of the private VLAN trunk port. All other addresses are removed.
Similarly, when the mode changes from private VLAN trunk to access mode, all the static or sticky
addresses configured on the private VLAN native VLAN are moved to the access VLAN of the access
port. All other addresses are removed.
When a port is changed from trunk to private VLAN trunk, addresses associated with a VLAN on the
trunk are retained if that VLAN is present in the allowed list of private VLAN trunk or the secondary
VLAN of an association on the private VLAN trunk. If the VLAN is not present in either of them, the
address is removed from the running configuration.
When a port is changed from private VLAN trunk to trunk, a static or sticky address is retained if the
VLAN associated with the address is present in the allowed VLAN list of the trunk. If the VLAN is not
present in the allowed list, the address is removed from running configuration.
Command Purpose
Step 1 Switch(config)# interface interface_id Enters interface configuration mode and specifies the
physical interface to configure.
Step 2 Switch(config-if)# switchport mode access Sets the interface mode.
Note An interface in the default mode (dynamic auto)
cannot be configured as a secure port.
Step 3 Switch(config-if)# [no] switchport port-security Enables port security on the interface.
To return the interface to the default condition as
nonsecure port, use the no switchport port-security
command.
Step 4 Switch(config-if)# [no] switchport port-security (Optional) Sets the violation mode, the action to be taken
violation {restrict | shutdown} when a security violation is detected, as one of these:
• restrict—A port security violation restricts data and
causes the SecurityViolation counter to increment
and send an SNMP trap notification.
• shutdown—The interface is error-disabled when a
security violation occurs.
Note When a secure port is in the error-disabled state,
you can bring it out of this state by entering the
errdisable recovery cause psecure-violation
global configuration command or you can
manually reenable it by entering the shutdown
and no shut down interface configuration
commands.
Note To clear dynamically learned port security MAC addresses in the CAM table, use the
clear port-security dynamic command. The address keyword enables you to clear a secure MAC
addresses. The interface keyword enables you to clear all secure addresses on an interface (including
any port channel interface). The VLAN keyword allows you to clear port security MACs on a per-VLAN
per-port basis.
Note Each port-security configured interface accepts one mac-address by default. With port-security port
level port-security configuration takes precedence over VLAN level port-security configuration. So, to
allow one mac-address each for voice and data VLAN, configure the port for a maximum of greater than
or equal to two addresses.
Example 1: Configuring Maximum MAC Addresses for Voice and Data VLANs
This example shows how to designate a maximum of one MAC address for a voice VLAN (for a Cisco
IP Phone, let’s say) and one MAC address for the data VLAN (for a PC, let’s say) on Fast Ethernet
interface 5/1 and to verify the configuration:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fa5/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 2
Switch(config-if)# switchport port-security mac-address sticky
Switch(config-if)# switchport port-security maximum 1 vlan voice
Switch(config-if)# switchport port-security maximum 1 vlan access
Switch(config-if)# end
Note Sending traffic to the ports causes the system to configure the port with sticky secure addresses.
Switch#
Example 2: Configuring Sticky MAC Addresses for Voice and Data VLANs
This example shows how to configure sticky MAC addresses for voice and data VLANs on Fast Ethernet
interface 5/1 and to verify the configuration:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fa5/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 3072
Switch(config-if)# switchport port-security mac-address sticky 0000.0000.obob vlan voice
Switch(config-if)# switchport port-security mac-address sticky 0000.0000.0005 vlan access
Switch(config-if)# end
Note Sending traffic to the ports causes the system to configure the port with sticky secure addresses.
Switch#
Command Purpose
Switch# show interface status err-disable Displays interfaces that have been error-disabled along with
the cause for which they were disabled.
Switch# show port-security [interface interface_id | Displays port security settings for the switch or for the
interface port_channel port_channel_number] specified interface, including the maximum allowed number
of secure MAC addresses for each interface, the number of
secure MAC addresses on the interface, the number of
security violations that have occurred, and the violation
mode.
The interface can be a port channel logical interface.
Switch# show port-security [interface interface_id | Displays all secure MAC addresses configured on all switch
interface port_channel port_channel_number] address interfaces or on a specified interface with aging information
for each address.
Switch# show port-security [interface interface_id | Displays the maximum allowed number of secure MAC
interface port_channel port_channel_number] vlan addresses and the current number of secure MAC addresses
vlan_list
on a specific VLAN-list and a specific interface.
Switch# show port-security [interface interface_id | Displays all secure MAC addresses configured on a specific
interface port_channel port_channel_number] [address VLAN-list and a specific interface.
[vlan vlan_list]]
Examples
The following examples are provided:
• Example 1: Displaying Security Settings for the Entire Switch, page 38-28
• Example 2: Displaying Security Settings for an Interface, page 38-29
• Example 3: Displaying all Secure Addresses for the Entire Switch, page 38-29
• Example 4: Displaying a Maximum Number of MAC Addresses on an Interface, page 38-30
• Example 5: Displaying Security Settings on an Interface for a VLAN Range, page 38-30
• Example 6: Displaying Secured MAC Addresses and Aging Information on an Interface, page 38-30
• Example 7: Displaying Secured MAC Addresses for a VLAN Range on an Interface, page 38-30
Fa3/6 2 2 0 Shutdown
Fa3/7 2 2 0 Shutdown
Fa3/8 2 2 0 Shutdown
Fa3/10 1 0 0 Shutdown
Fa3/11 1 0 0 Shutdown
Fa3/12 1 0 0 Restrict
Fa3/13 1 0 0 Shutdown
Fa3/14 1 0 0 Shutdown
Fa3/15 1 0 0 Shutdown
Fa3/16 1 0 0 Shutdown
---------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port) :8
Max Addresses limit in System (excluding one mac per port) :3072
Global SNMP trap control for port-security :20 (traps per second)
Max Addresses limit in System (excluding one mac per port) :3072
IP traffic with the correct source IP and MAC address binding is permitted and port security
dynamically learns its MAC address. IP traffic with source addresses that are not in the binding are
treated as invalid packets and dropped by port security. To prevent a denial of service attack, you
must configure port security rate limiting for the invalid source MAC address.
802.1X Authentication
You might want to configure port security with 802.1X authentication to prevent MAC spoofing. 802.1X
is not supported on regular or private VLAN trunks. On access ports and PVLAN host or promiscuous
ports, both port security and 802.1X can be configured simultaneously. When both are configured, hosts
must be 802.1X authenticated before port security can secure the MAC address of the host. Both 802.1X
and port security must approve of the host or a security violation is triggered. The type of security
violation depends on which feature rejects the port: if the host is allowed by 802.1X (for example,
because the port is in multi-host mode) but is disallowed by port security, the port-security violation
action is triggered. If the host is allowed by port security but rejected by 802.1X (for example, because
the host is non-authorized on a single-host mode port) then the 802.1X security violation action is
triggered.
Note 802.1X, port-security and VVID can all be configured on the same port.
For more information on the interaction between 802.1X and Port Security, see
“Using 802.1X with Port Security” on page 16.
Switch
AP1 AP2
140990
This chapter contains information on how to protect your Catalyst 4000 family switch using control
plane policing (CoPP). The information covered in this chapter is unique to the Catalyst 4500 series
switches, and it supplements the network security information and procedures in Chapter 42,
“Configuring Network Security with ACLs.” This information also supplements the network security
information and procedures in these publications:
• Cisco IOS Security Configuration Guide, Cisco IOS Release 12.4, at this URL:
http://www.cisco.com/en/US/docs/ios/security/configuration/guide/12_4/sec_12_4_book.html
• Cisco IOS Security Command Reference, Cisco IOS Release 12.4, at this URL:
http://www.cisco.com/en/US/docs/ios/security/command/reference/sec_book.html
This chapter includes the following major sections:
• About Control Plane Policing, page 39-2
• CoPP Default Configuration, page 39-3
• Configuring CoPP, page 39-3
• CoPP Configuration Guidelines and Restrictions, page 39-7
• Monitoring CoPP, page 39-7
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
For the Data Plane and Management Plane traffic, you can define your own ACLs to match the traffic
class that you want to police.
CoPP uses MQC to define traffic classification criteria and to specify the configurable policy actions for
the classified traffic. MQC uses class maps to define packets for a particular traffic class. After you have
classified the traffic, you can create policy maps to enforce policy actions for the identified traffic. The
control-plane global configuration command allows the CoPP service policy to be directly attached to
the control plane.
The only policy-map that you can attach to the control-plane is system-cpp-policy. It must contain the
pre-defined class-maps in the pre-defined order at the beginning of the policy map. The best way to
create the system-cpp-policy policy-map is through the global macro system-cpp.
The system-cpp-policy contains the pre-defined class maps for the control plane traffic. The names of
all system defined CoPP class maps and their matching ACLs contain the prefix “system-cpp-”. By
default, no action is specified for each traffic class. You can define your own class maps matching CPU
bound data plane and management plane traffic. You can add your defined class maps to the
system-cpp-policy policy-map.
Configuring CoPP
This section includes the following tasks:
• Configure CoPP for Control Plane Traffic, page 39-3
• Configure CoPP for Data Plane and Management Plane Traffic, page 39-5
Command Purpose
Step 1 Switch# config terminal Enters global configuration mode.
Step 2 Switch(config)# (Optional) Creates the system-cpp-policy
macro global apply system-cpp policy-map and attaches it to the control-plane.
Command Purpose
Step 3 Switch(config)# policy-map Associates actions to one or multiple system
system-cpp-policy defined control plane traffic in the service policy
Switch(config-pmap)# class
{system-cpp-dot1x | system-cpp-bpdu-range |
map. Repeat this step if necessary.
system-cpp-cdp | service | system-cpp-sstp
| system-cpp-cgmp | system-cpp-ospf |
system-cpp-igmp | system-cpp-pim |
system-cpp-all-systems-on-subnet |
system-cpp-all-routers-on-subnet |
system-cpp-ripv2 | system-cpp-hsrpv2 |
system-cpp-ip-mcast-linklocal |
system-cpp-dhcp-cs | system-cpp-dhcp-sc |
system-cpp-dhcp-ss}
Switch(config-pmap-c)# police [aggregate
name] rate burst [conform-action {drop |
transmit}] [{exceed-action {drop |
transmit}}]}
Step 4 Switch# show policy-map system-cpp-policy (Optional) Verifies the configuration
Command Purpose
Step 1 Switch# config terminal Enters global configuration mode.
Step 2 Switch(config)# (Optional) Attaches the system-cpp-policy
macro global apply system-cpp policy-map to the control-plane.
Step 3 Switch(config)# {ip | mac} access-list Defines ACLs to match traffic:
extended {access-list-name}
• permit - sets the conditions under which a
For an ip access list, issue packet passes a named ACL
Switch(config-ext-nacl)#{permit|deny}
{protocol} source {source-wildcard} • deny - sets the conditions under which a
destination {destination-wildcard} packet does not pass a name ACL
For a mac access list, issue Note You must configure ACLs in most cases to
Switch(config-ext-macl)#{permit|deny} identify the important or unimportant
source {source-wildcard} destination traffic.
{destination-wildcard} [protocol-family]
• type-code - 16-bit hexadecimal number
OR
written with a leading 0x; for example,
Switch(config)# access-list 0x6000. Specify either a Link Service Access
{access-list-name} {permit | deny} Point (LSAP) type code for 802-encapsulated
{type-code wild-mask | address mask} packets or a SNAP type code for
SNAP-encapsulated packets. (LSAP,
sometimes called SAP, refers to the type codes
found in the DSAP and SSAP fields of the 802
header.)
• wild-mask - 16-bit hexadecimal number
whose ones bits correspond to bits in the
type-code argument. The wild-mask indicates
which bits in the type-code argument should
be ignored when making a comparison. (A
mask for a DSAP/SSAP pair should always be
0x0101 because these two bits are used for
purposes other than identifying the SAP
code.)
• address - 48-bit Token Ring address written
as a dotted triple of four-digit hexadecimal
numbers. This field is used for filtering by
vendor code.
• mask - 48-bit Token Ring address written as a
dotted triple of four-digit hexadecimal
numbers. The ones bits in mask are the bits to
be ignored in address. This field is used for
filtering by vendor code.
Command Purpose
Step 4 Switch(config)# class-map Defines the packet classification criteria. Use the
{traffic-class-name} match statements to identify the traffic associated
Switch(config-cmap)# match access-group
with the class.
{access-list-number | name
{access-list-name}}
Step 5 Switch(config-cmap)# exit Returns to global configuration mode.
Step 6 Switch(config)# policy-map Adds the traffic classes to the CoPP policy-map.
system-cpp-policy Uses the police statement to associate actions to
Switch(config-pmap)# class <class-map-name>
the traffic class.
Switch(config-pmap-c)# police
[aggregate name] rate burst
[conform-action {drop | transmit}]
[{exceed-action {drop | transmit}}]
Step 7 Switch(config)# end Returns to privileged EXEC mode.
Step 8 Switch# show policy-map system-cpp-policy Verifies your entries.
The following example shows how to configure trusted hosts with source addresses 10.1.1.1 and 10.1.1.2
to forward Telnet packets to the control plane without constraint, while allowing all remaining Telnet
packets to be policed at the specific rate (this example assumes the global qos is enabled and the
system-cpp-policy policy-map has been created):
Switch# config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# qos
Switch(config)# macro global apply system-cpp
! Add the class-map "telnet-class" to "system-cpp-policy" and define ! the proper action
Switch(config)# policy-map system-cpp-policy
Switch(config-pmap)# class telnet-class
Switch(config-pmap-c)# police 80000 1000 conform transmit exceed drop
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Class system-cpp-cgmp
Class system-cpp-ospf
Class system-cpp-hsrpv2
Class system-cpp-igmp
Class system-cpp-pim
Class system-cpp-all-systems-on-subnet
Class system-cpp-all-routers-on-subnet
Class system-cpp-ripv2
Class system-cpp-ip-mcast-linklocal
Class system-cpp-dhcp-cs
Class system-cpp-dhcp-sc
Class system-cpp-dhcp-ss
* Class telnet-class
police 8000 bps 1000 byte conform-action drop exceed-action drop
Monitoring CoPP
You can enter the show policy-map control-plane command for developing site-specific policies,
monitoring statistics for the control plane policy, and troubleshooting CoPP. This command displays
dynamic information about the actual policy applied including rate information and the number of bytes
(and packets) that conformed or exceeded the configured policies both in hardware and in software.
The output of the show policy-map control-plane command is as follows:
Switch# show policy-map control-plane
Control Plane
0 packets
Match: access-group name system-cpp-dot1x
To clear the counters on the control-plane, enter the clear control-plane * command:
Switch# clear control-plane *
Switch#
To display all the CoPP access list information, enter the show access-lists command:
Switch# show access-lists
Extended IP access list system-cpp-all-routers-on-subnet
10 permit ip any host 224.0.0.2
Extended IP access list system-cpp-all-systems-on-subnet
10 permit ip any host 224.0.0.1
Extended IP access list system-cpp-dhcp-cs
10 permit udp any eq bootpc any eq bootps Extended IP access list
system-cpp-dhcp-sc
10 permit udp any eq bootps any eq bootpc Extended IP access list
system-cpp-dhcp-ss
10 permit udp any eq bootps any eq bootps Extended IP access list
system-cpp-igmp
10 permit igmp any 224.0.0.0 31.255.255.255 Extended IP access list
system-cpp-ip-mcast-linklocal
10 permit ip any 224.0.0.0 0.0.0.255 Extended IP access list
system-cpp-ospf
10 permit ospf any 224.0.0.0 0.0.0.255 Extended IP access list
system-cpp-pim
10 permit pim any 224.0.0.0 0.0.0.255 Extended IP access list
system-cpp-ripv2
10 permit ip any host 224.0.0.9
Extended MAC access list system-cpp-bpdu-range
permit any 0180.c200.0000 0000.0000.000f Extended MAC access list
system-cpp-cdp
permit any host 0100.0ccc.cccc
Extended MAC access list system-cpp-cgmp
permit any host 0100.0cdd.dddd
Extended MAC access list system-cpp-dot1x
permit any host 0180.c200.0003
system-cpp-sstp
permit any host 0100.0ccc.cccd
To display one CoPP access list, enter the show access-lists system-cpp-cdp command:
Switch# show access-list system-cpp-cdp
Extended MAC access list system-cpp-cdp
permit any host 0100.0ccc.cccc
Switch#
This chapter describes how to configure Dynamic Host Configuration Protocol (DHCP) snooping, IP
Source Guard, and IPSG for Static Hosts on Catalyst 4500 series switches. It provides guidelines,
procedures, and configuration examples.
This chapter consists of the following major sections:
• About DHCP Snooping, page 40-1
• Configuring DHCP Snooping, page 40-6
• Displaying DHCP Snooping Information, page 40-18
• About IP Source Guard, page 40-19
• Configuring IP Source Guard, page 40-20
• Displaying IP Source Binding Information, page 40-23
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
The DHCP snooping binding table contains the MAC address, IP address, lease time, binding type,
VLAN number, and interface information that corresponds to the local untrusted interfaces of a switch;
it does not contain information regarding hosts interconnected with a trusted interface. An untrusted
interface is an interface that is configured to receive messages from outside the network or firewall. A
trusted interface is an interface that is configured to receive only messages from within the network.
DHCP snooping acts like a firewall between untrusted hosts and DHCP servers. It also gives you a way
to differentiate between untrusted interfaces connected to the end-user and trusted interfaces connected
to the DHCP server or another switch.
Note In order to enable DHCP snooping on a VLAN, you must enable DHCP snooping on the switch.
You can configure DHCP snooping for switches and VLANs. When you enable DHCP snooping on a
switch, the interface acts as a Layer 2 bridge, intercepting and safeguarding DHCP messages going to a
Layer 2 VLAN. When you enable DHCP snooping on a VLAN, the switch acts as a Layer 2 bridge
within a VLAN domain.
Topics include:
• Trusted and Untrusted Sources, page 40-2
• Overview of the DHCP Snooping Database Agent, page 40-2
• Option-82 Data Insertion, page 40-4
Note For DHCP snooping to function properly, all DHCP servers must be connected to the switch through
trusted interfaces, as untrusted DHCP messages are forwarded only to trusted interfaces.
The mechanism for the database agent stores the bindings in a file at a configured location. Upon reload,
the switch reads the file to build the database for the bindings. The switch keeps the file current by
writing to the file as the database changes.
The format of the file that contains the bindings is as follows:
<initial-checksum>
TYPE DHCP-SNOOPING
VERSION 1
BEGIN
<entry-1> <checksum-1>
<entry-2> <checksum-1-2>
...
...
<entry-n> <checksum-1-2-..-n>
END
Each entry in the file is tagged with a checksum that is used to validate the entries whenever the file is
read. The initial-checksum entry on the first line helps distinguish entries associated with the latest write
from entries that are associated with a previous write.
This is a sample bindings file:
3ebe1518
TYPE DHCP-SNOOPING
VERSION 1
BEGIN
1.1.1.1 512 0001.0001.0005 3EBE2881 Gi1/1 e5e1e733
1.1.1.1 512 0001.0001.0002 3EBE2881 Gi1/1 4b3486ec
1.1.1.1 1536 0001.0001.0004 3EBE2881 Gi1/1 f0e02872
1.1.1.1 1024 0001.0001.0003 3EBE2881 Gi1/1 ac41adf9
1.1.1.1 1 0001.0001.0001 3EBE2881 Gi1/1 34b3273e
END
Each entry holds an IP address, VLAN, MAC address, lease time (in hex), and the interface associated
with a binding. At the end of each entry is a checksum that accounts for all the bytes from the start of
the file through all the bytes associated with the entry. Each entry consists of 72 bytes of data, followed
by a space, followed by a checksum.
Upon bootup, when the calculated checksum equals the stored checksum, a switch reads entries from the
file and adds the bindings to the DHCP snooping database. When the calculated checksum does not equal
the stored checksum, the entry read from the file is ignored and so are all the entries following the failed
entry. The switch also ignores all those entries from the file whose lease time has expired. (This situation
is possible because the lease time might indicate an expired time.) An entry from the file is also ignored
if the interface referred to in the entry, no longer exists on the system or if it is a router port or a DHCP
snooping-trusted interface.
When a switch learns of new bindings or when it loses some bindings, the switch writes the modified set
of entries from the snooping database to the file. The writes are performed with a configurable delay to
batch as many changes as possible before the actual write happens. Associated with each transfer is a
timeout after which a transfer is aborted if it is not completed. These timers are referred to as the write
delay and abort timeout.
Note The DHCP option-82 feature is supported only when DHCP snooping is globally enabled and on the
VLANs to which subscriber devices using this feature are assigned.
Figure 40-1 is an example of a metropolitan Ethernet network in which a centralized DHCP server
assigns IP addresses to subscribers connected to the switch at the access layer. Because the DHCP clients
and their associated DHCP server do not reside on the same IP network or subnet, a DHCP relay agent
(the Catalyst switch) is configured with a helper address to enable broadcast forwarding and to transfer
DHCP messages between the clients and the server.
DHCP
server
VLAN 10
When you enable the DHCP snooping information option 82 on the switch, this sequence of
events occurs:
• The host (DHCP client) generates a DHCP request and broadcasts it on the network.
• When the switch receives the DHCP request, it adds the option-82 information in the packet. By
default, the remote-ID suboption is the switch MAC address, and the circuit-ID suboption is the port
identifier, vlan-mod-port, from which the packet is received. Beginning with Cisco IOS
Release 12.2(40)SG, you can configure the remote ID and circuit ID. For information on
configuring these suboptions, see the “Enabling DHCP Snooping and Option 82” section on
page 40-10.
• If the IP address of the relay agent is configured, the switch adds this IP address in the DHCP packet.
• The switch forwards the DHCP request that includes the option-82 field to the DHCP server.
• The DHCP server receives the packet. If the server is option-82-capable, it can use the remote ID,
the circuit ID, or both to assign IP addresses and implement policies, such as restricting the number
of IP addresses that can be assigned to a single remote ID or circuit ID. Then the DHCP server
echoes the option-82 field in the DHCP reply.
• The DHCP server unicasts the reply to the switch if the request was relayed to the server by the
switch. The switch verifies that it originally inserted the option-82 data by inspecting the remote ID
and possibly the circuit ID fields. The switch removes the option-82 field and forwards the packet
to the switch port that connects to the DHCP client that sent the DHCP request.
In the default suboption configuration, when the described sequence of events occurs, the values in the
fields in Figure 40-2 do not change:
• Circuit-ID suboption fields
– Suboption type
– Length of the suboption type
– Circuit-ID type
– Length of the circuit-ID type
• Remote-ID suboption fields
– Suboption type
– Length of the suboption type
– Remote-ID type
– Length of the remote-ID type
Figure 40-2 shows the packet formats for the remote-ID suboption and the circuit-ID suboption when
the default suboption configuration is used. For the circuit-ID suboption, the module number
corresponds to the switch module number. The switch uses the packet formats when you globally enable
DHCP snooping and enter the ip dhcp snooping information option global configuration command.
2 8 0 6 MAC address
116300
Figure 40-3 shows the packet formats for user-configured remote-ID and circuit-ID suboptions The
switch uses these packet formats when DHCP snooping is globally enabled and when the ip dhcp
snooping information option format remote-id global configuration command and the ip dhcp
snooping vlan information option format-type circuit-id string interface configuration command are
entered.
The values for these fields in the packets change from the default values when you configure the
remote-ID and circuit-ID suboptions:
• Circuit-ID suboption fields
– The circuit-ID type is 1.
– The length values are variable, depending on the length of the string that you configure.
• Remote-ID suboption fields
– The remote-ID type is 1.
– The length values are variable, depending on the length of the string that you configure.
Note For DHCP server configuration information, refer to “Configuring DHCP” in the Cisco IOS IP and IP
Routing Configuration Guide at:
http://www.cisco.com/en/US/docs/ios/12_2/ip/configuration/guide/1cfdhcp.html
If you want to change the default configuration values, see the “Enabling DHCP Snooping” section.
Note When DHCP snooping is enabled globally, DHCP requests are dropped until the ports are configured.
Consequently, you should probably configure this feature during a maintenance window and not during
production.
Command Purpose
Step 1 Switch(config)# ip dhcp snooping Enables DHCP snooping globally.
Use the no keyword to disable DHCP snooping.
Step 2 Switch(config)# ip dhcp snooping vlan number Enables DHCP snooping on your VLAN or VLAN
[number] | vlan {vlan range}] range.
Step 3 Switch(config)# errdisable recovery {cause (Optional) Configures the amount of time required for
dhcp-rate-limit | interval interval} recovery from a specified error disable cause.
Step 4 Switch(config)# errdisable detect cause (Optional) Enables per-VLAN error-disable detection.
dhcp-rate-limit {action shutdown vlan}
Note By default this command is enabled, and when a
violation occurs the interface is shutdown.
Step 5 Switch(config-if)# ip dhcp snooping trust Configures the interface as trusted or untrusted.
Use the no keyword to configure an interface to receive
messages from an untrusted client.
Step 6 Switch(config-if)# ip dhcp snooping limit rate Configures the number of DHCP packets per second
rate (pps) that an interface can receive.1
Step 7 Switch(config)# end Exits configuration mode.
Step 8 Switch# show ip dhcp snooping Verifies the configuration.
1. Cisco recommends not configuring the untrusted interface rate limit to more than 100 packets per second. The recommended rate limit for
each untrusted client is 15 packets per second. Normally, the rate limit applies to untrusted interfaces. If you want to set up rate limiting for
trusted interfaces, keep in mind that trusted interfaces aggregate all DHCP traffic in the switch, and you must adjust the rate limit to a higher
value. You should fine tune this threshold depending on the network configuration. The CPU should not receive DHCP packets at a sustained
rate of more than 1,000 packets per second.
You can configure DHCP snooping for a single VLAN or a range of VLANs. To configure a single
VLAN, enter a single VLAN number. To configure a range of VLANs, enter a beginning and an ending
VLAN number or a dash and range of VLANs.
The number of incoming DHCP packets is rate-limited to prevent a denial-of-service attack. When the
rate of incoming DHCP packets exceeds the configured limit, the switch places the port in the
error-disabled state. To prevent the port from shutting down, use the errdisable detect cause
dhcp-rate-limit action shutdown vlan global configuration command to shut down just the offending
VLAN on the port where the violation occurred.
When a secure port is in the error-disabled state, you can bring it out of this state automatically by
configuring the errdisable recovery cause dhcp-rate-limit global configuration command or you can
manually reenable it by entering the shutdown and no shut down interface configuration commands. If
a port is in per-VLAN errdisable mode, you can also use clear errdisable interface name vlan range
command to re-enable the VLAN on the port.
This example shows how to enable DHCP Snooping on Vlan 500 through 555:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping vlan 500 555
Switch(config)# ip dhcp snooping information option format remote-id string switch123
Switch(config)# interface GigabitEthernet 5/1
Switch(config-if)# ip dhcp snooping trust
Switch(config-if)# ip dhcp snooping limit rate 100
Switch#
The following configuration describes the DHCP snooping configuration steps if routing is defined on
another Catalyst switch (for example, a Catalyst 6500 series switch):
// Trust the uplink gigabit Ethernet trunk port
interface VLAN 14
ip address 10.33.234.1 255.255.254.0
ip helper-address 10.5.1.2
Note If you are enabling trunking on uplink gigabit interfaces, and the above routing configuration is defined
on a Catalyst 6500 series switch, you must configure the “trust” relationship with downstream DHCP
Snooping (on a Catalyst 4500 series switch) which adds Option 82. On a Catalyst 6500 series switch,
this task is accomplished with ip dhcp relay information trusted VLAN configuration command.
port. Configuring the ip dhcp snooping information option allow-untrusted global configuration
command on the aggregation switch would allow the aggregation switch to accept DHCP requests with
option 82 information from any snooping untrusted port.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ip dhcp snooping Enables DHCP snooping globally.
Step 3 Switch(config)# ip dhcp snooping Enables DHCP snooping on a VLAN or range of VLANs. The range is 1
vlan vlan-range to 4094.
You can enter a single VLAN ID identified by VLAN ID number, a series
of VLAN IDs separated by commas, a range of VLAN IDs separated by
hyphens, or a range of VLAN IDs separated by entering the starting and
ending VLAN IDs separated by a space.
Step 4 Switch(config)# ip dhcp snooping Enables the switch to insert and remove DHCP relay information
information option (option-82 field) in forwarded DHCP request messages to the DHCP
server. This is the default setting.
Step 5 Switch(config)# ip dhcp snooping (Optional) Configures the remote-ID suboption.
information option format remote-id
[string ASCII-string | hostname] You can configure the remote ID to be:
• String of up to 63 ASCII characters (no spaces)
• Configured hostname for the switch
a. If the hostname is longer than 63 characters, it is truncated to 63
characters in the remote-ID configuration.
The default remote ID is the switch MAC address.
Step 6 Switch(config)# ip dhcp snooping (Optional) If the switch is an aggregation switch connected to an edge
information option allow-untrusted switch, enables the switch to accept incoming DHCP snooping packets
with option-82 information from the edge switch.
The default setting is disabled.
Note Enter this command only on aggregation switches that are
connected to trusted devices.
Step 7 Switch(config)# interface Specifies the interface to be configured, and enter interface configuration
interface-id mode.
Step 8 Switch(config-if)# ip dhcp snooping (Optional) Configures the circuit-ID suboption for the specified
vlan vlan information option interface.
format-type circuit-id string
ASCII-string Specify the VLAN and port identifier, using a VLAN ID in the range of 1
to 4094. The default circuit ID is the port identifier, in the format
vlan-mod-port.
You can configure the circuit ID to be a string of 3 to 63 ASCII characters
(no spaces).
Command Purpose
Step 9 Switch(config-if)# ip dhcp snooping (Optional) Configures the interface as trusted or untrusted. Use the no
trust keyword to configure an interface to receive messages from an untrusted
client. The default setting is untrusted.
Step 10 Switch(config-if)# ip dhcp snooping (Optional) Configures the number of DHCP packets per second that an
limit rate rate interface can receive. The range is 1 to 2048. By default, no rate limit is
configured.
Note We recommend an untrusted rate limit of not more than 100
packets per second. If you configure rate limiting for trusted
interfaces, you might need to increase the rate limit if the port is
a trunk port assigned to more than one VLAN on which DHCP
snooping is enabled.
Step 11 Switch(config-if)# exit Returns to global configuration mode.
Step 12 Switch(config)# ip dhcp snooping (Optional) Configures the switch to verify that the source MAC address
verify mac-address in a DHCP packet that is received on untrusted ports matches the client
hardware address in the packet. The default is to verify that the source
MAC address matches the client hardware address in the packet.
Step 13 Switch(config)# end Returns to privileged EXEC mode.
Step 14 Switch# show running-config Verifies your entries.
Step 15 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To disable DHCP snooping, use the no ip dhcp snooping global configuration command. To disable
DHCP snooping on a VLAN or range of VLANs, use the no ip dhcp snooping vlan vlan-range global
configuration command. To disable the insertion and removal of the option-82 field, use the no ip dhcp
snooping information option global configuration command. To configure an aggregation switch to
drop incoming DHCP snooping packets with option-82 information from an edge switch, use the no ip
dhcp snooping information option allow-untrusted global configuration command.
This example shows how to enable DHCP snooping globally and on VLAN 10 and to configure a rate
limit of 100 packets per second on a port:
Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping vlan 10
Switch(config)# ip dhcp snooping information option
Switch(config)# interface gigabitethernet2/0/1
Switch(config-if)# ip dhcp snooping limit rate 100
Configuring DHCP snooping on a secondary VLAN is still allowed, but it does not take effect if the
associated primary VLAN is already configured. If the associated primary VLAN is configured, the
effective DHCP snooping mode on the secondary VLAN is derived from the corresponding primary
VLAN. Manually configuring DHCP snooping on a secondary VLAN causes the switch to issue this
warning message:
DHCP Snooping configuration may not take effect on secondary vlan XXX
The show ip dhcp snooping command displays all VLANs (both primary and secondary) that have
DHCP snooping enabled.
Switch#
Command Purpose
Switch(config)# ip dhcp snooping database {url | (Required) Configures a URL for the database agent (or file)
write-delay seconds | timeout seconds } and the related timeout values.
Switch(config)# no ip dhcp snooping database
[write-delay | timeout]
Switch# show ip dhcp snooping database [detail] (Optional) Displays the current operating state of the
database agent and statistics associated with the transfers.
Command Purpose
Switch# clear ip dhcp snooping database statistics (Optional) Clears the statistics associated with the database
agent.
Switch# renew ip dhcp snooping database [validation (Optional) Requests the read entries from a file at the given
none] [url] URL.
Switch# ip dhcp snooping binding mac-addr vlan vlan (Optional) Adds/deletes bindings to the snooping database.
ipaddr interface ifname expiry lease-in-seconds
Note Because both NVRAM and bootflash have limited storage capacity, you should use TFTP or
network-based files. If you use flash to store the database file, new updates (by the agent) result in the
creation of new files (flash fills quickly). Moreover, because of the filesystem used on the flash, a large
number of files can cause slow access. When a file is stored in a remote location accessible through
TFTP, an RPR/SSO standby supervisor engine can take over the binding list when a switchover occurs.
Note Network-based URLs (such as TFTP and FTP) require that you create an empty file at the configured
URL before the switch can write the set of bindings for the first time.
Note Unless you explicitly configure a rate limit on an interface, changing the trust state of the interface also
changes its rate limit to the default value for that trust state. After you configure the rate limit, the
interface retains the rate limit even when its trust state is changed. If you enter the
no ip dhcp snooping limit rate interface configuration command, the interface reverts to its default rate
limit.
To prevent the port from shutting down, use the errdisable detect cause dhcp-rate-limit action
shutdown vlan global configuration command to shut down only the offending VLAN on the port where
the violation occurred.
To limit the rate of incoming DHCP packets, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# errdisable detect Enables per-VLAN error-disable detection.
cause dhcp-rate-limit [action
shutdown vlan]
Command Purpose
Step 3 Switch(config)# interface Specifies the interface to be rate-limited, and enter interface
interface-id configuration mode.
Step 4 Switch(config-if)# [no] ip dhcp Limits the rate of incoming DHCP requests and responses on the
snooping limit rate interface.
The default rate is disabled.
Step 5 Switch(config-if)# exit Returns to global configuration mode.
Step 6 Switch(config)# errdisable recovery (Optional) Enables error recovery from the DHCP error-disable state.
{cause dhcp-rate-limit |
interval interval} By default, recovery is disabled, and the recovery interval is 300
seconds.
For interval interval, specify the time in seconds to recover from the
error-disable state. The range is 30 to 86400.
Step 7 Switch(config)# exit Returns to privileged EXEC mode.
Step 8 Switch# show interfaces status Verifies your settings.
Step 9 Switch# show errdisable recovery Verifies your settings.
Step 10 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To return to the default rate-limit configuration, use the no ip dhcp-rate-limit interface configuration
command. To disable error recovery for DHCP inspection, use the
no errdisable recovery cause dhcp-rate-limit global configuration command.
This example shows how to set an upper limit for the number of incoming packets (100 pps) and to
specify a burst interval (1 second):
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface g3/31
Switch(config-if)# ip dhcp-rate-limit rate 100 burst interval 1
Switch(config-if)# exit
Switch(config)# errdisable recovery cause dhcp-rate-limit
Switch(config)# exit
Switch# show interfaces status
arp-inspection Enabled
Switch#
1w2d: %SW_DAI-4-PACKET_RATE_EXCEEDED: 101 packets received in 739 milliseconds on Gi3/31.
1w2d: %PM-4-ERR_DISABLE: arp-inspection error detected on Gi3/31, putting Gi3/31 in
err-disable state
Switch# show clock
*02:21:43.556 UTC Fri Feb 4 2005
Switch#
Switch# show interface g3/31 status
Agent Running : No
Delay Timer Expiry : 7 (00:00:07)
Abort Timer Expiry : Not Running
Switch#
The first three lines of output show the configured URL and related timer configuration values. The next
three lines show the operating state and the amount of time left for expiry of write delay and abort timers.
Among the statistics shown in the output, startup failures indicate the number of attempts the read or
create of the file has failed upon bootup.
Note Because the location is based off in the network, you must create a temporary file on the TFTP server.
You can create a temporary file on a typical UNIX workstation by creating a 0 byte file “file” in the
directory “directory” that can be referenced by the TFTP server daemon. With some server
implementations on UNIX workstations, the file should be provided with full (777) permissions for write
access to the file.
DHCP snooping bindings are keyed on the MAC address and VLAN combination. Therefore, if an entry
in the remote file has an entry for a given MAC address and VLAN set, for which the switch already has
a binding, the entry from the remote file is ignored when the file is read. This condition is referred to as
the binding collision.
An entry in a file may no longer be valid because the lease indicated by the entry may have expired by
the time it is read. The expired leases counter indicates the number of bindings ignored because of this
condition. The Invalid interfaces counter refers to the number of bindings that have been ignored when
the interface referred by the entry either does not exist on the system or is a router or DHCP snooping
trusted interface if it exists, when the read happened. Unsupported VLANs refers to the number of
entries that have been ignored because the indicated VLAN is not supported on the system. The Parse
failures counter provides the number of entries that have been ignored when the switch is unable to
interpret the meaning of the entries from the file.
The switch maintains two sets of counters for these ignored bindings. One provides the counters for a
read that has at least one binding ignored by at least one of these conditions. These counters are shown
as the “Last ignored bindings counters.” The total ignored bindings counters provides a sum of the
number of bindings that have been ignored because of all the reads since the switch bootup. These two
set of counters are cleared by the clear command. Therefore, the total counter set may indicate the
number of bindings that have been ignored since the last clear.
Command Purpose
Step 1 Switch# show ip dhcp snooping database Displays the DHCP snooping database agent statistics.
Step 2 Switch# renew ip dhcp snoop data url Directs the switch to read the file from given URL.
Step 3 Switch# show ip dhcp snoop data Displays the read status.
Step 4 Switch# show ip dhcp snoop bind Verifies whether the bindings were read successfully.
Agent Running : No
Delay Timer Expiry : Not Running
Abort Timer Expiry : Not Running
Switch#
00:01:29: %DHCP_SNOOPING-6-AGENT_OPERATION_SUCCEEDED: DHCP snooping database Read
succeeded.
Switch#
Switch# show ip dhcp snoop data
Agent URL :
Write delay Timer : 300 seconds
Abort Timer : 300 seconds
Agent Running : No
Delay Timer Expiry : Not Running
Abort Timer Expiry : Not Running
Command Purpose
Step 1 Switch# show ip dhcp snooping binding Views the DHCP snooping database
Step 2 Switch# ip dhcp snooping binding binding-id vlan Adds the binding using the 'ip dhcp snooping' exec
vlan-id interface interface expiry lease-time command
Step 3 Switch# show ip dhcp snooping binding Checks the DHCP snooping database
This example shows how to manually add a binding to the DHCP snooping database:
Switch# show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
Switch#
Switch# ip dhcp snooping binding 1.1.1 vlan 1 1.1.1.1 interface gi1/1 expiry 1000
Table 40-2 describes the fields in the show ip dhcp snooping binding command output.
Field Description
MAC Address Client hardware MAC address
IP Address Client IP address assigned from the DHCP server
Lease (seconds) IP address lease time
Type Binding type; dynamic binding learned by dhcp-snooping or
statically-configured binding.
VLAN VLAN number of the client interface
Interface Interface that connects to the DHCP client host
Note If IP Source Guard is enabled on a trunk port with a large number of VLANs that have DHCP snooping
enabled, you might run out of ACL hardware resources, and some packets might be switched in software
instead.
Note When IP Source Guard is enabled, you might want to designate an alternative scheme for ACL hardware
programming. For more information, see the “TCAM Programming and ACLs” section in the
“Configuring Network Security with ACLs” chapter.
Note When an interface is in down state, TCAMs are not consumed for RACLs, but are for PACLs.
IP Source Guard supports the Layer 2 port only, including both access and trunk. For each untrusted
Layer 2 port, there are two levels of IP traffic security filtering:
• Source IP address filter
IP traffic is filtered based on its source IP address. Only IP traffic with a source IP address that
matches the IP source binding entry is permitted.
An IP source address filter is changed when a new IP source entry binding is created or deleted on
the port. The port PVACL is recalculated and reapplied in the hardware to reflect the IP source
binding change. By default, if the IP filter is enabled without any IP source binding on the port, a
default PVACL that denies all IP traffic is installed on the port. Similarly, when the IP filter is
disabled, any IP source filter PVACL is removed from the interface.
• Source IP and MAC address filter
IP traffic is filtered based on its source IP address as well as its MAC address; only IP traffic with
source IP and MAC addresses matching the IP source binding entry are permitted.
Note When IP source guard is enabled in IP and MAC filtering mode, the DHCP snooping option 82 must be
enabled to ensure that the DHCP protocol works properly. Without option 82 data, the switch cannot
locate the client host port to forward the DHCP server reply. Instead, the DHCP server reply is dropped,
and the client cannot obtain an IP address.
Command Purpose
Step 1 Switch(config)# ip dhcp snooping Enables DHCP snooping globally.
Use the no keyword to disable DHCP snooping.
Step 2 Switch(config)# ip dhcp snooping vlan number Enables DHCP snooping on your VLANs.
[number]
Step 3 Switch(config-if)# no ip dhcp snooping trust Configures the interface as trusted or untrusted.
Use the no keyword of to configure an interface to
receive only messages from within the network.
Step 4 Switch(config-if)# ip verify source vlan Enables IP source guard, source IP, and source MAC
dhcp-snooping port-security address filtering on the port.
Command Purpose
Step 5 Switch(config-if)# switchport port-security limit Enables security rate limiting for learned source MAC
rate invalid-source-mac N addresses on the port.
Note This limit only applies to the port where IP
Source Guard is enabled as filtering both IP and
MAC addresses.
Step 6 Switch(config)# ip source binding mac-address Configures a static IP binding on the port.
Vlan vlan-id ip-address interface interface-name
Step 7 Switch(config)# end Exits configuration mode.
Step 8 Switch# show ip verify source interface Verifies the configuration.
interface-name
If you want to stop IP Source Guard with Static Hosts on an interface, use the following commands in
interface configuration submode:
Switch(config-if)# no ip verify source
Switch(config-if)# no ip device tracking max
Note The static IP source binding can only be configured on switch port. If you issue the
ip source binding vlan interface command on a Layer 3 port, you receive this error message: Static
IP source binding can only be configured on switch port.
This example shows how to enable per-Layer 2-port IP source guard on VLANs 10 through 20:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping vlan 10 20
Switch(config)# interface fa6/1
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk native vlan 10
Switch(config-if)# switchport trunk allowed vlan 11-20
Switch(config-if)# no ip dhcp snooping trust
Switch(config-if)# ip verify source vlan dhcp-snooping
Switch(config)# end
Switch# show ip verify source interface f6/1
Interface Filter-type Filter-mode IP-address Mac-address Vlan
--------- ----------- ----------- --------------- ----------------- ----------
Fa6/1 ip-mac active 10.0.0.1 10
Fa6/1 ip-mac active deny-all 11-20
Switch#
The output shows that there is one valid DHCP binding to VLAN 10.
Warning IP source filter may not take effect on secondary vlan where IP source binding is configured. If private
vlan feature is enabled, IP source filter on primary vlan automatically propagates to all secondary
vlans.
Note The second entry shows that a default PVACL (deny all IP traffic) is installed on the port for those
snooping-enabled VLANs that do not have a valid IP source binding.
• This example shows displayed PVACL for a port in a VLAN not configured for DHCP snooping:
Interface Filter-type Filter-mode IP-address Mac-address Vlan
--------- ----------- ----------- --------------- -------------- ---------
fa6/3 ip inactive-no-snooping-vlan
• This example shows displayed PVACLs for a port with multiple bindings configured for an IP/MAC
filtering:
Interface Filter-type Filter-mode IP-address Mac-address Vlan
--------- ----------- ----------- --------------- -------------- ---------
fa6/4 ip-mac active 10.0.0.2 aaaa.bbbb.cccc 10
fa6/4 ip-mac active 11.0.0.1 aaaa.bbbb.cccd 11
fa6/4 ip-mac active deny-all deny-all 12-20
• This example shows displayed PVACLs for a port configured for IP/MAC filtering but not for port
security:
Note The MAC filter shows permit-all because port security is not enabled, so the MAC filter
cannot apply to the port/VLAN and is effectively disabled. Always enable port security first.
• This example shows displayed error message when issuing the show ip verify source command on
a port that does not have an IP source filter mode configured:
IP Source Guard is not configured on the interface fa6/6.
You can also use the show ip verify source command to display all interfaces on the switch that have
IP source guard enabled:
Interface Filter-type Filter-mode IP-address Mac-address Vlan
--------- ----------- ----------- --------------- -------------- ---------
fa6/1 ip active 10.0.0.1 10
fa6/1 ip active deny-all 11-20
fa6/2 ip inactive-trust-port
fa6/3 ip inactive-no-snooping-vlan
fa6/4 ip-mac active 10.0.0.2 aaaa.bbbb.cccc 10
fa6/4 ip-mac active 11.0.0.1 aaaa.bbbb.cccd 11
fa6/4 ip-mac active deny-all deny-all 12-20
fa6/5 ip-mac active 10.0.0.3 permit-all 10
fa6/5 ip-mac active deny-all permit-all 11-20
Table 40-3 describes the fields in the show ip source binding command output.
Field Description
MAC Address Client hardware MAC address
IP Address Client IP address assigned from the DHCP server
Lease (seconds) IP address lease time
Type Binding type; static bindings configured from CLI to dynamic binding
learned from DHCP Snooping
VLAN VLAN number of the client interface
Interface Interface that connects to the DHCP client host
This chapter describes how to configure Dynamic ARP Inspection (DAI) on the Catalyst 4500 series
switch.
This chapter includes the following major sections:
• About Dynamic ARP Inspection, page 41-1
• Configuring Dynamic ARP Inspection, page 41-5
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
A B
HA HB
(IA, MA) (IB, MB)
C
HC
94072
(IC, MC)
Hosts HA, HB, and HC are connected to the switch on interfaces A, B and C, all of which are on the
same subnet. Their IP and MAC addresses are shown in parentheses; for example, Host HA uses IP
address IA and MAC address MA. When HA needs to communicate to HB at the IP Layer, HA
broadcasts an ARP request for the MAC address associated with IB. As soon as HB receives the ARP
request, the ARP cache on HB is populated with an ARP binding for a host with the IP address IA and
a MAC address MA. When HB responds to HA, the ARP cache on HA is populated with a binding for
a host with the IP address IB and a MAC address MB.
Host HC can “poison” the ARP caches of HA and HB by broadcasting forged ARP responses with
bindings for a host with an IP address of IA (or IB) and a MAC address of MC. Hosts with poisoned
ARP caches use the MAC address MC as the destination MAC address for traffic intended for IA or IB.
This means that HC intercepts that traffic. Because HC knows the true MAC addresses associated with
IA and IB, HC can forward the intercepted traffic to those hosts using the correct MAC address as the
destination. HC has inserted itself into the traffic stream from HA to HB, the classic “man in the middle”
attack.
DHCP server
Switch S1 Switch S2
Fa6/3 Fa3/3
Fa6/4 Fa3/4
94075
Host H1 Host H2
Use the trust state configuration carefully. Configuring interfaces as untrusted when they should be
trusted can result in a loss of connectivity. If we assume that both S1 and S2 (in Figure 41-2) run DAI
on the VLAN ports that contains H1 and H2, and if H1 and H2 were to acquire their IP addresses from
the DHCP server connected to S1, then only S1 binds the IP to MAC address of H1. Therefore, if the
interface between S1 and S2 is untrusted, the ARP packets from H1 get dropped on S2. This condition
would result in a loss of connectivity between H1 and H2.
Configuring interfaces to be trusted when they are actually untrusted leaves a security hole in the
network. If S1 were not running DAI, then H1 can easily poison the ARP of S2 (and H2, if the inter-
switch link is configured as trusted). This condition can occur even though S2 is running DAI.
DAI ensures that hosts (on untrusted interfaces) connected to a switch running DAI do not poison the
ARP caches of other hosts in the network. It does not, however, ensure that hosts from other portions of
the network do not poison the caches of the hosts connected to it.
To handle cases in which some switches in a VLAN run DAI and other switches do not, the interfaces
connecting such switches should be configured as untrusted. To validate the bindings of packets from
non-DAI switches, however, the switch running DAI should be configured with ARP ACLs. When it is
not feasible to determine such bindings, switches running DAI should be isolated from non-DAI
switches at Layer 3.
Note Depending on the setup of the DHCP server and the network, it may not be possible to perform validation
of a given ARP packet on all switches in the VLAN.
Note When you enable DAI, all ARP packets are forwarded by CPU (software forwarding, the slow path).
With this mechanism, whenever a packet exits through multiple ports, the CPU must create as many
copies of the packet as there are egress ports. So, the number of egress ports is a multiplying factor for
the CPU. Furthermore, when QoS policing is applied on egress packets that were forwarded by CPU,
QoS must be applied in the CPU as well. (You cannot apply QoS in hardware on CPU generated packets
because the hardware forwarding path is turned off for CPU generated packets.) Both factors can drive
the CPU to a very high utilization level.
Figure 41-3 ARP Packet Validation on a VLAN Enabled for Dynamic ARP Inspection
DHCP server
Switch A Switch B
Port 1 Port 3
111751
Host 1 Host 2
Note Dynamic ARP inspection depends on the entries in the DHCP snooping binding database to verify
IP-to-MAC address bindings in incoming ARP requests and ARP responses. Make sure to enable DHCP
snooping to permit ARP packets that have dynamically assigned IP addresses. For configuration
information, see Chapter 40, “Configuring DHCP Snooping, IP Source Guard, and IPSG for Static
Hosts.”
For information on how to configure dynamic ARP inspection when only one switch supports the
feature, see the “Configuring ARP ACLs for Non-DHCP Environments” section on page 41-11.
To configure dynamic ARP inspection, perform this task on both switches:
Command Purpose
Step 1 Switch# show cdp neighbors Verifies the connection between the switches.
Step 2 Switch# configure terminal Enters global configuration mode.
Step 3 Switch(config)# [no] ip arp inspection vlan Enables dynamic ARP inspection on a per-VLAN basis. By
vlan-range default, dynamic ARP inspection is disabled on all VLANs.
To disable dynamic ARP inspection, use the
no ip arp inspection vlan vlan-range global configuration
command.
For vlan-range, specify a single VLAN identified by VLAN ID
number, a range of VLANs separated by a hyphen, or a series of
VLANs separated by a comma. The range is 1 to 4094.
Specify the same VLAN ID for both switches.
Step 4 Switch(config)# interface interface-id Specifies the interface connected to the other switch, and enter
interface configuration mode.
Command Purpose
Step 5 Switch(config-if)# ip arp inspection trust Configures the connection between the switches as trusted.
To return the interfaces to an untrusted state, use the
no ip arp inspection trust interface configuration command.
By default, all interfaces are untrusted.
The switch does not check ARP packets that it receives from the
other switch on the trusted interface. It simply forwards the
packets.
For untrusted interfaces, the switch intercepts all ARP requests
and responses. It verifies that the intercepted packets have valid
IP-to-MAC address bindings before updating the local cache and
before forwarding the packet to the appropriate destination. The
switch drops invalid packets and logs them in the log buffer
according to the logging configuration specified with the
ip arp inspection vlan logging global configuration command.
For more information, see the “Configuring the Log Buffer”
section on page 41-14.
Step 6 Switch(config-if)# end Returns to privileged EXEC mode.
Step 7 Switch# show ip arp inspection interfaces Verifies the dynamic ARP inspection configuration.
Switch# show ip arp inspection vlan
vlan-range
Step 8 Switch# show ip dhcp snooping binding Verifies the DHCP bindings.
Step 9 Switch# show ip arp inspection statistics Checks the dynamic ARP inspection statistics.
vlan vlan-range
Step 10 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
This example shows how to configure dynamic ARP inspection on Switch A in VLAN 100. You would
perform a similar procedure on Switch B.
On Switch A
SwitchA# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Gi3/5 Untrusted 15 1
Gi3/6 Untrusted 15 1
Gi3/7 Untrusted 15 1
Gi3/8 Untrusted 15 1
Gi3/9 Untrusted 15 1
Gi3/10 Untrusted 15 1
Gi3/11 Untrusted 15 1
Gi3/12 Untrusted 15 1
Gi3/13 Untrusted 15 1
Gi3/14 Untrusted 15 1
Gi3/15 Untrusted 15 1
Gi3/16 Untrusted 15 1
Gi3/17 Untrusted 15 1
Gi3/18 Untrusted 15 1
Gi3/19 Untrusted 15 1
Gi3/20 Untrusted 15 1
Gi3/21 Untrusted 15 1
Gi3/22 Untrusted 15 1
Gi3/23 Untrusted 15 1
Gi3/24 Untrusted 15 1
Gi3/25 Untrusted 15 1
Gi3/26 Untrusted 15 1
Gi3/27 Untrusted 15 1
Gi3/28 Untrusted 15 1
Gi3/29 Untrusted 15 1
Gi3/30 Untrusted 15 1
Gi3/31 Untrusted 15 1
Gi3/32 Untrusted 15 1
Gi3/33 Untrusted 15 1
Gi3/34 Untrusted 15 1
Gi3/35 Untrusted 15 1
Gi3/36 Untrusted 15 1
Gi3/37 Untrusted 15 1
Gi3/38 Untrusted 15 1
Gi3/39 Untrusted 15 1
Gi3/40 Untrusted 15 1
Gi3/41 Untrusted 15 1
Gi3/42 Untrusted 15 1
Gi3/43 Untrusted 15 1
Gi3/44 Untrusted 15 1
Gi3/45 Untrusted 15 1
Gi3/46 Untrusted 15 1
Gi3/47 Untrusted 15 1
Gi3/48 Trusted None N/A
On Switch B
SwitchB# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Gi3/26 Untrusted 15 1
Gi3/27 Untrusted 15 1
Gi3/28 Untrusted 15 1
Gi3/29 Untrusted 15 1
Gi3/30 Untrusted 15 1
Gi3/31 Untrusted 15 1
Gi3/32 Untrusted 15 1
Gi3/33 Untrusted 15 1
Gi3/34 Untrusted 15 1
Gi3/35 Untrusted 15 1
Gi3/36 Untrusted 15 1
Gi3/37 Untrusted 15 1
Gi3/38 Untrusted 15 1
Gi3/39 Untrusted 15 1
Gi3/40 Untrusted 15 1
Gi3/41 Untrusted 15 1
Gi3/42 Untrusted 15 1
Gi3/43 Untrusted 15 1
Gi3/44 Untrusted 15 1
Gi3/45 Untrusted 15 1
Gi3/46 Trusted None N/A
Gi3/47 Untrusted 15 1
Gi3/48 Untrusted 15 1
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# arp access-list acl-name Defines an ARP ACL, and enter ARP access-list
configuration mode. By default, no ARP access lists
are defined.
Note At the end of the ARP access list, there is an
implicit deny ip any mac any command.
Step 3 Switch(config-arp-nac)# permit ip host sender-ip mac Permits ARP packets from the specified host (Host
host sender-mac [log] 2).
• For sender-ip, enter the IP address of Host 2.
• For sender-mac, enter the MAC address of
Host 2.
• (Optional) Specify log to log a packet in the log
buffer when it matches the access control entry
(ACE). Matches are logged if you also configure
the matchlog keyword in the ip arp inspection
vlan logging global configuration command. For
more information, see the “Configuring the Log
Buffer” section on page 41-14.
Step 4 Switch(config-arp-nac)# exit Returns to global configuration mode.
Command Purpose
Step 5 Switch(config)# ip arp inspection filter arp-acl-name Applies the ARP ACL to the VLAN. By default, no
vlan vlan-range [static] defined ARP ACLs are applied to any VLAN.
• For arp-acl-name, specify the name of the ACL
created in Step 2.
• For vlan-range, specify the VLAN that the
switches and hosts are in. You can specify a
single VLAN identified by VLAN ID number, a
range of VLANs separated by a hyphen, or a
series of VLANs separated by a comma. The
range is 1 to 4094.
• (Optional) Specify static to treat implicit denies
in the ARP ACL as explicit denies and to drop
packets that do not match any previous clauses in
the ACL. DHCP bindings are not used.
If you do not specify this keyword, it means that
there is no explicit deny in the ACL that denies
the packet, and DHCP bindings determine
whether a packet is permitted or denied if the
packet does not match any clauses in the ACL.
ARP packets containing only IP-to-MAC address
bindings are compared against the ACL. Packets are
permitted only if the access list permits them.
Step 6 Switch(config)# interface interface-id Specifies the Switch A interface that is connected to
Switch B, and enter interface configuration mode.
Step 7 Switch(config-if)# no ip arp inspection trust Configures the Switch A interface that is connected to
Switch B as untrusted.
By default, all interfaces are untrusted.
For untrusted interfaces, the switch intercepts all
ARP requests and responses. It verifies that the
intercepted packets have valid IP-to-MAC address
bindings before updating the local cache and before
forwarding the packet to the appropriate destination.
The switch drops invalid packets and logs them in the
log buffer according to the logging configuration
specified with the ip arp inspection vlan logging
global configuration command. For more
information, see the “Configuring the Log Buffer”
section on page 41-14.
Step 8 Switch(config-if)# end Returns to privileged EXEC mode.
Step 9 Switch# show arp access-list [acl-name] Verifies the dynamic ARP inspection configuration.
Switch# show ip arp inspection vlan vlan-range
Switch# show ip arp inspection interfaces
Step 10 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration
file.
To remove the ARP ACL, use the no arp access-list global configuration command. To remove the ARP
ACL attached to a VLAN, use the no ip arp inspection filter arp-acl-name vlan vlan-range global
configuration command.
This example shows how to configure an ARP ACL called host2 on Switch A, to permit ARP packets
from HostB (IP address 170.1.1.2 and MAC address 2.2.2), to apply the ACL to VLAN 100, and to
configure port 1 on Switch A as untrusted:
SwitchA# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SwitchA(config)# arp access-list hostB
SwitchA(config-arp-nacl)# permit ip host 170.1.1.2 mac host 2.2.2 log
SwitchA(config-arp-nacl)# exit
SwitchA(config)# ip arp inspection filter hostB vlan 100 static
SwitchA(config)# interface g3/48
SwitchA(config-if)# no ip arp inspection trust
SwitchA(config-if)# end
SwitchA# show arp access-list hostB
ARP access list hostB
permit ip host 170.1.1.2 mac host 0002.0002.0002 log
Gi3/34 Untrusted 15 1
Gi3/35 Untrusted 15 1
Gi3/36 Untrusted 15 1
Gi3/37 Untrusted 15 1
Gi3/38 Untrusted 15 1
Gi3/39 Untrusted 15 1
Gi3/40 Untrusted 15 1
Gi3/41 Untrusted 15 1
Gi3/42 Untrusted 15 1
Gi3/43 Untrusted 15 1
Gi3/44 Untrusted 15 1
Gi3/45 Untrusted 15 1
Gi3/46 Untrusted 15 1
Gi3/47 Untrusted 15 1
Gi3/48 Untrusted 15 1
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ip arp inspection Configures the dynamic ARP inspection logging buffer.
log-buffer { entries number | logs
number interval seconds} By default, when dynamic ARP inspection is enabled, denied or dropped
ARP packets are logged. The number of log entries is 32. The number of
system messages is limited to 5 per second. The logging-rate interval is 1
second.
The keywords have these meanings:
• For entries number, specify the number of entries to be logged in the
buffer. The range is 0 to 1024.
• For logs number interval seconds, specify the number of entries to
generate system messages in the specified interval.
For logs number, the range is 0 to 1024. A 0 value means that the entry
is placed in the log buffer, but a system message is not generated.
For interval seconds, the range is 0 to 86400 seconds (1 day). A 0 value
means that a system message is immediately generated (and the log
buffer is always empty).
An interval setting of 0 overrides a log setting of 0.
The logs and interval settings interact. If the logs number X is greater than
interval seconds Y, X divided by Y (X/Y) system messages are sent every
second. Otherwise, one system message is sent every Y divided by X (Y/X)
seconds.
Step 3 Switch(config)# [no] ip arp Controls the type of packets that are logged per VLAN. By default, all
inspection vlan vlan-range logging denied or all dropped packets are logged. The term logged means the entry
{acl-match {matchlog | none} |
dhcp-bindings { all | none | permit}}
is placed in the log buffer and a system message is generated.
The keywords have these meanings:
• For vlan-range, specify a single VLAN identified by VLAN ID number,
a range of VLANs separated by a hyphen, or a series of VLANs
separated by a comma. The range is 1 to 4094.
• For acl-match matchlog, log packets based on the ACE logging
configuration. If you specify the matchlog keyword in this command
and the log keyword in the permit or deny ARP access-list
configuration command, ARP packets permitted or denied by ACEs
with log keyword are logged.
• For acl-match none, do not log packets that match ACLs.
• For dhcp-bindings all, log all packets that match DHCP bindings.
• For dhcp-bindings none, do not log packets that match DHCP
bindings.
• For dhcp-bindings permit, log DHCP-binding permitted packets.
Step 4 Switch(config)# exit Returns to privileged EXEC mode.
Command Purpose
Step 5 Switch# show ip arp inspection Verifies your settings.
log
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To return to the default log buffer settings, use the no ip arp inspection log-buffer global configuration
command. To return to the default VLAN log settings, use the
no ip arp inspection vlan vlan-range logging {acl-match | dhcp-bindings} global configuration
command. To clear the log buffer, use the clear ip arp inspection log privileged EXEC command.
This example shows how to configure the number of entries for the log buffer to 1024. It also shows how
to configure your Catalyst 4500 series switch so that the logs must be generated from the buffer at the
rate of 100 per 10 seconds.
SwitchB# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SwitchB(config)# ip arp inspection log-buffer entries 1024
SwitchB(config)# ip arp inspection log-buffer logs 100 interval 10
SwitchB(config)# end
SwitchB# show ip arp inspection log
Total Log Buffer Size : 1024
Syslog rate : 100 entries per 10 seconds.
Note Unless you explicitly configure a rate limit on an interface, changing the trust state of the interface also
changes its rate limit to the default value for that trust state. After you configure the rate limit, the
interface retains the rate limit even when its trust state is changed. If you enter the
no ip arp-inspection limit interface configuration command, the interface reverts to its default rate
limit.
By default, the switch places the port in the error-disabled state when the rate of incoming ARP packets
exceeds the configured limit. To prevent the port from shutting down, use the errdisable detect cause
arp-inspection action shutdown vlan global configuration command to shut down just the offending
VLAN on the port where the violation occurred.
When a port is in the error-disabled state, you can bring it out of this state automatically by configuring
the errdisable recovery cause arp-inspection global configuration command or you can manually
reenable it by entering the shutdown and no shut down interface configuration commands. If a port is
in per-VLAN errdisable mode, you can also use clear errdisable interface name vlan range command
to re-enable the VLAN on the port.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# errdisable detect Enables per-VLAN error-disable detection.
cause arp-inspection [action shutdown
vlan] Note By default this command is enabled, and when a violation
occurs the interface is shutdown.
Step 3 Switch(config)# interface Specifies the interface to be rate-limited, and enters interface
interface-id configuration mode.
Step 4 Switch(config-if)# [no] ip arp Limits the rate of incoming ARP requests and responses on the
inspection limit { rate pps [burst interface.
interval seconds] | none}
The default rate is 15 pps on untrusted interfaces and unlimited on
trusted interfaces. The burst interval is 1 second.
The keywords have these meanings:
• For rate pps, specify an upper limit for the number of incoming
packets processed per second. The range is 0 to 2048 pps.
• (Optional) For burst interval seconds, specify the consecutive
interval in seconds, over which the interface is monitored for a high
rate of ARP packets.The range is 1 to 15.
• For rate none, specify no upper limit for the rate of incoming ARP
packets that can be processed.
Step 5 Switch(config-if)# exit Returns to global configuration mode.
Step 6 Switch(config)# errdisable recovery (Optional) Enables error recovery from the dynamic ARP inspection
{cause arp-inspection | error-disable state.
interval interval}
By default, recovery is disabled, and the recovery interval is 300
seconds.
For interval interval, specify the time in seconds to recover from the
error-disable state. The range is 30 to 86400.
Step 7 Switch(config)# exit Returns to privileged EXEC mode.
Step 8 Switch# show ip arp inspection Verifies your settings.
interfaces
Step 9 Switch# show errdisable recovery Verifies your settings.
Step 10 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To return to the default rate-limit configuration, use the no ip arp inspection limit interface
configuration command. To disable error recovery for dynamic ARP inspection, use the
no errdisable recovery cause arp-inspection global configuration command.
This example shows how to set an upper limit for the number of incoming packets (100 pps) and to
specify a burst interval (1 second):
SwitchB# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SwitchB(config)# interface g3/31
SwitchB(config-if)# ip arp inspection limit rate 100 burst interval 1
SwitchB(config-if)# exit
security-violatio Disabled
channel-misconfig Disabled
vmps Disabled
pagp-flap Disabled
dtp-flap Disabled
link-flap Disabled
l2ptguard Disabled
psecure-violation Disabled
gbic-invalid Disabled
dhcp-rate-limit Disabled
unicast-flood Disabled
storm-control Disabled
arp-inspection Enabled
SwitchB#
1w2d: %SW_DAI-4-PACKET_RATE_EXCEEDED: 101 packets received in 739 milliseconds on Gi3/31.
1w2d: %PM-4-ERR_DISABLE: arp-inspection error detected on Gi3/31, putting Gi3/31 in
err-disable state
SwitchB# show clock
*02:21:43.556 UTC Fri Feb 4 2005
SwitchB#
SwitchB# show interface g3/31 status
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ip arp inspection Performs a specific check on incoming ARP packets. By default, no
validate {[src-mac] [dst-mac] [ip]} additional checks are performed.
The keywords have these meanings:
• For src-mac, check the source MAC address in the Ethernet header
against the sender MAC address in the ARP body. This check is
performed on both ARP requests and responses. When enabled, packets
with different MAC addresses are classified as invalid and are dropped.
• For dst-mac, check the destination MAC address in the Ethernet header
against the target MAC address in ARP body. This check is performed
for ARP responses. When enabled, packets with different MAC
addresses are classified as invalid and are dropped.
• For ip, check the ARP body for invalid and unexpected IP addresses.
Addresses include 0.0.0.0, 255.255.255.255, and all IP multicast
addresses. Sender IP addresses are checked in all ARP requests and
responses, and target IP addresses are checked only in ARP responses.
You must specify at least one of the keywords. Each command overrides the
configuration of the previous command; that is, if a command enables src
and dst mac validations, and a second command enables IP validation only,
the src and dst mac validations are disabled as a result of the second
command.
Step 3 Switch(config)# exit Returns to privileged EXEC mode.
Step 4 Switch# show ip arp inspection Verifies your settings.
vlan vlan-range
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To disable checking, use the no ip arp inspection validate [src-mac] [dst-mac] [ip] global
configuration command. To display statistics for forwarded, dropped, MAC validation failure, and IP
validation failure packets, use the show ip arp inspection statistics privileged EXEC command.
This example shows how to configure source mac validation. Packets are dropped and an error message
may be generated when the source address in the Ethernet header does not match the sender hardware
address in the ARP body.
SwitchB# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SwitchB(config)# ip arp inspection validate src-mac
SwitchB(config)# exit
SwitchB# show ip arp inspection vlan 100
This chapter describes how to use access control lists (ACLs) to configure network security on the
Catalyst 4500 series switches.
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
About ACLs
This section contains the following subsections:
• ACL Overview, page 42-2
• Supported Features That Use ACLs, page 42-3
• Router ACLs, page 42-3
• Port ACLs, page 42-4
• VLAN Maps, page 42-5
ACL Overview
An ACL is a collection of sequential permit and deny conditions that applies to packets. When a packet
is received on an interface, the switch compares the fields in the packet against any applied ACLs to
verify that the packet has the permissions required to be forwarded, based on the conditions specified in
the access lists. It tests the packets against the conditions in an access list one-by-one. The first match
determines whether the switch accepts or rejects the packets. Because the switch stops testing conditions
after the first match, the order of conditions in the list is critical. If no conditions match, the switch drops
the packet. If there are no restrictions, the switch forwards the packet; otherwise, the switch drops the
packet.
Switches traditionally operate at Layer 2, switching traffic within a VLAN, whereas routers route traffic
between VLANs at Layer 3. The Catalyst 4500 series switch can accelerate packet routing between
VLANs by using Layer 3 switching. The Layer 3 switch bridges the packet, and then routes the packet
internally without going to an external router. The packet is then bridged again and sent to its destination.
During this process, the switch can control all packets, including packets bridged within a VLAN.
You configure access lists on a router or switch to filter traffic and provide basic security for your
network. If you do not configure ACLs, all packets passing through the switch could be allowed on all
parts of the network. You can use ACLs to control which hosts can access different parts of a network
or to decide which types of traffic are forwarded or blocked at router interfaces. For example, you can
allow e-mail traffic to be forwarded but not Telnet traffic. ACLs can be configured to block inbound
traffic, outbound traffic, or both. However, on Layer 2 interfaces, you can apply ACLs only in the
inbound direction.
An ACL contains an ordered list of access control entries (ACEs). Each ACE specifies permit or deny
and a set of conditions the packet must satisfy in order to match the ACE. The meaning of permit or deny
depends on the context in which the ACL is used.
The Catalyst 4500 series switch supports three types of ACLs:
• IPv4 ACLs, which filter IPv4 traffic, including TCP, the User Datagram Protocol (UDP), Internet
Group Management Protocol (IGMP), and Internet Control Message Protocol (ICMP)
• IPv6 ACLs, which filter IPv6 traffic
• MAC ACLs, which filter non-IPv4, non-IPv6 traffic
Router ACLs
You can apply one access-list of each supported type to an interface.
Multiple features can use one ACL for a given interface, and one feature can use multiple ACLs. When
a single router ACL is used by multiple features, it is examined multiple times. The access list type
determines the input to the matching operation:
• Standard IP access lists use source addresses for matching operations.
• Extended IP access lists use source and destination addresses and optional protocol type information
for matching operations.
The switch examines ACLs associated with features configured on a given interface and a direction. As
packets enter the switch on an interface, ACLs associated with all inbound features configured on that
interface are examined. After packets are routed and before they are forwarded to the next hop, all ACLs
associated with outbound features configured on the egress interface are examined.
ACLs permit or deny packet forwarding based on how the packet matches the entries in the ACL. For
example, you can use access lists to allow one host to access a part of a network, but prevent another
host from accessing the same part. In Figure 42-1, ACLs applied at the router input allow Host A to
access the Human Resources network, but prevent Host B from accessing the same network.
Host A
Si
Host B
94152
and permitting traffic from Host A
= Packet
Port ACLs
You can also apply ACLs to Layer 2 interfaces on a switch. Port ACLs are supported on physical
interfaces and EtherChannel interfaces.
The following access lists are supported on Layer 2 interfaces:
• Standard IP access lists using source addresses
• Extended IP access lists using source and destination addresses and optional protocol type
information
• IPv6 access lists using source and destination addresses and optional protocol type information
• MAC extended access lists using source and destination MAC addresses and optional protocol type
information
As with router ACLs, the switch examines ACLs associated with features configured on a given
interface and permits or denies packet forwarding based on how the packet matches the entries in the
ACL. In the example in Figure 42-1, if all workstations were in the same VLAN, ACLs applied at the
Layer 2 input would allow Host A to access the Human Resources network, but prevent Host B from
accessing the same network.
When you apply a port ACL to a trunk port, the ACL filters traffic on all VLANs present on the trunk
port. When you apply a port ACL to a port with voice VLAN, the ACL filters traffic on both data and
voice VLANs.
With port ACLs, you can filter IPv4 traffic by using IPv4 access lists, , IPv6 traffic by using IPv6 access
lists , and non-IPv4 traffic by using MAC access lists. You can filter IPv4, IPv6, and non-IP traffic on
the same Layer 2 interface by applying IPv4, IPv6, and MAC access lists to the interface.
Note You cannot apply more than one access list of a given type to a Layer 2 interface. If an access list of a
given type is already configured on a Layer 2 interface and you apply a new access list of that type to
the interface, the new ACL replaces the previously configured one.
VLAN Maps
VLAN maps can control the access of all traffic in a VLAN. You can apply VLAN maps on the switch
to all packets that are routed into or out of a VLAN or are bridged within a VLAN. Unlike router ACLs,
VLAN maps are not defined by direction (input or output).
You can configure VLAN maps to match Layer 3 addresses for IPv4 traffic. Access of all non-IPv4,
non-IPv6 protocols is controlled with a MAC address and an Ethertype using MAC ACLs in VLAN
maps. (IP traffic is not controlled by MAC ACLs in VLAN maps.) You can enforce VLAN maps only
on packets going through the switch; you cannot enforce VLAN maps on traffic between hosts on a hub
or on another switch connected to this switch.
With VLAN maps, forwarding packets is permitted or denied, based on the action specified in the map.
Figure 42-2 illustrates how a VLAN map is applied to deny a specific type of traffic from Host A in
VLAN 10 from being forwarded.
Si
Note Packets that require logging are processed in software. A copy of the packets is sent to the CPU for
logging while the actual packets are forwarded in hardware so that non-logged packet processing is not
impacted.
By default, the Catalyst 4500 series switch sends ICMP unreachable messages when a packet is denied
by an access list; these packets are not dropped in hardware but are forwarded to the switch so that it can
generate the ICMP unreachable message.
To drop access-list denied packets in hardware on the input interface, you must disable ICMP
unreachable messages using the no ip unreachables interface configuration command. The
ip unreachables command is enabled by default.
Note If you set the no ip unreachable command on all Layer 3 interfaces, output ACL denied packets do not
come to the CPU.
If you exhaust resources on the Supervisor Engine 7-E, you should try reducing the complexity of your
configuration.
Note When an interface is in down state, TCAMs are not consumed for RACLs, but are for PACLs.
http://www.cisco.com/en/US/products/hw/switches/ps663/products_tech_note09186a00804cef15.shtml
Note Before configuring per-VLAN capture mode, you should examine your configuration to ensure that only
the necessary features are enabled on the desired VLANs.
• Certain configurations can exhaust TCAM resource earlier in per-VLAN capture mode than in
global capture mode (such as, IP Source Guard is enabled on several interfaces, or on a user
configured PACL).
• In per-VLAN capture mode, you can configure ACLs to permit or deny control traffic on a VLAN
or port.
Because security ACLs are terminated by an implicit deny, you must ensure that the ACLs are
configured to permit the control packets necessary for the feature (protocol) to operate. However,
this rule does not differ from the default behavior.
Configuration
To select the mode of capturing control packets, perform this task:
Command Purpose
Step 1 Switch# conf terminal Enters configuration mode.
Step 2 Switch(config)# [no] access-list hardware Selects mode of capturing control packets.
capture mode [vlan | global]
The no form of the access-list hardware capture mode
command restores the capture mode to the default, global.
Step 3 Switch(config)# end Returns to enable mode.
This example shows how to configure a Catalyst 4500 series switch to capture control packets only on
VLANs where features are enabled:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# access-list hardware capture mode vlan
Switch(config)# end
Switch#
This example shows how to configure a Catalyst 4500 series switch to capture control packets globally
across all VLANs (using static ACL, the default mode):
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# access-list hardware capture mode global
Switch(config)# end
Switch#
When the capture mode changes from global to VLAN, the static CAM entries are invalidated. This
creates a window during which control packets may pass through a Catalyst 4500 series switch without
being intercepted to the CPU. This temporary situation is restored when the new per-VLAN capture
entries are programmed in the hardware.
When you configure per-VLAN capture mode, you should examine the show commands for individual
features to verify the appropriate behavior. In per-VLAN capture mode, the invalidated static CAM
entries will appear as inactive in the output of the show platform hardware acl input entries static
command. For example, the hit count for inactive entries will remain frozen because those entries are
invalidated and applied per VLAN where the feature is enabled:
Note The IPv6 compressed flowlabel format uses the Layer 2 Address Table to compress a portion of the IPv6
source address of each ACE in the ACL. The extra space freed in the flowlabel can then be used to
support more Layer 4 operations. For this compression to be used, the IPv6 ACL cannot contain any
ACEs which mask in only a portion of the bottom 48 bits of the source IPv6 address.
Generally, you will receive at most the following number of Layer 4 operations on the same ACL:
Direction Protocol Type Operations
------------------------------------------------
Input IPv4 Security 16
Input IPv6 Compressed Security 16
Input IPv6 Uncompressed Security 7
Input IPv4 QoS 5
Input IPv6 Compressed QoS 12
Input IPv6 Uncompressed QoS 8
Output IPv4 Security 17
Note Cases where up to 16 Operations are supported; the 17th will trigger an expansion.
If you exceed the number of available Layer 4 operations, each new operation might cause the affected
ACE to be translated into multiple ACEs in the hardware. If this translation fails, packets are sent to the
CPU for software processing.
Note The eq operator can be used an unlimited number of times because eq does not use a Layer 4
operation in hardware.
• Layer 4 operations are considered different if the same operator/operand couple applies once to a
source port and once to a destination port, as in the following example:
... Src gt 10....
... Dst gt 10
access-list 102
... (dst port) gt 20 deny
... (src port) lt 9 deny
... (src port) range 11 13 deny
... (dst port) neq 6 permit
Access lists 101 and 102 use the following Layer 4 operations:
• Access list 101 Layer 4 operations: 5
– gt 10 permit and gt 10 deny both use the same operation because they are identical and both
operate on the destination port.
• Access list 102 Layer 4 operations: 4
• Total Layer 4 operations: 8 (due to sharing between the two access lists)
– neq6 permit is shared between the two ACLs because they are identical and both operate on the
same destination port.
• A description of the Layer 4 operations usage is as follows:
– Layer 4 operation 1 stores gt 10 permit and gt 10 deny from ACL 101
– Layer 4 operation 2 stores lt 9 deny from ACL 101
– Layer 4 operation 3 stores gt 11 deny from ACL 101
– Layer 4 operation 4 stores neg 6 permit from ACL 101 and 102
– Layer 4 operation 5 stores neg 6 deny from ACL 101
– Layer 4 operation 6 stores gt 20 deny from ACL 102
– Layer 4 operation 7 stores lt 9 deny from ACL 102
– Layer 4 operation 8 stores range 11 13 deny from ACL 102
Access lists 104 and 105 are identical; established is shorthand for rst and ack.
Access list 101, below, is processed completely in software:
access-list 101 permit tcp any any syn
Because four source and two destination operations exist, access list 106, below, is processed
in hardware:
access-list 106 permit tcp any range 100 120 any range 120 140
access-list 106 permit tcp any range 140 160 any range 180 200
access-list 106 permit tcp any range 200 220
access-list 106 deny tcp any range 220 240
In the following code, the Layer 4 operations for the third ACE trigger an attempt to translate
dst lt 1023 into multiple ACEs in hardware, because three source and three destination
operations exist. If the translation attempt fails, the third ACE is processed in software.
access-list 102 permit tcp any lt 80 any gt 100
access-list 102 permit tcp any range 100 120 any range 120 1024
access-list 102 permit tcp any gt 1024 any lt 1023
Similarly, for access list 103, below, the third ACE triggers an attempt to translate dst gt 1023
into multiple ACEs in hardware. If the attempt fails, the third ACE is processed in software.
Although the operations for source and destination ports look similar, they are considered
different Layer 4 operations.)
access-list 103 permit tcp any lt 80 any lt 80
access-list 103 permit tcp any range 100 120 any range 100 120
access-list 103 permit tcp any gt 1024 any gt 1023
Note Remember that source port lt 80 and destination port lt 80 are considered different
operations.
• Some packets must be sent to the CPU for accounting purposes, but the action is still performed by
the hardware. For example, if a packet must be logged, a copy is sent to the CPU for logging, but
the forwarding (or dropping) is performed in the hardware. Although logging slows the CPU, it does
not affect the forwarding rate. This sequence of events would happen under the following
conditions:
– When a log keyword is used
– When an output ACL denies a packet
– When an input ACL denies a packet, and on the interface where the ACL is applied,
ip unreachable is enabled (ip unreachable is enabled by default on all the interfaces)
Command Purpose
Switch(config)# mac-address-table static mac_address Blocks all traffic to or from the configured unicast MAC
vlan vlan_ID drop address in the specified VLAN.
To clear MAC address-based blocking, use the no form of this
command without the drop keyword.
This example shows how to block all unicast traffic to or from MAC address 0050.3e8d.6400 in VLAN
12:
Router# configure terminal
Router(config)# mac-address-table static 0050.3e8d.6400 vlan 12 drop
For more information about the supported non-IP protocols in the mac access-list extended command,
refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference.
To create a named MAC extended ACL, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] mac access-list Defines an extended MAC access list using a name.
extended name
Use the no mac access-list extended name global configuration
command to delete the entire ACL. You can also delete individual
ACEs from named MAC extended ACLs.
Step 3 Switch(config-ext-macl)# {deny | permit} In extended MAC access-list configuration mode, specify to
{any | host source MAC address | source permit or deny any source MAC address, a source MAC address
MAC address mask} {any | host destination
MAC address | destination MAC address
with a mask, or a specific host source MAC address and any
mask} [protocol-family {appletalk | destination MAC address, destination MAC address with a mask,
arp-non-ipv4 | decnet | ipx | rarp-ipv4 | or a specific destination MAC address.
rarp-non-ipv4 | vines | xns]
(Optional)
• [protocol-family {appletalk | arp-non-ipv4 | decnet | ipx |
rarp-ipv4 | rarp-non-ipv4 | vines | xns]
Step 4 Switch(config-ext-macl)# end Returns to privileged EXEC mode.
Step 5 Switch# show access-lists [number | name] Shows the access list configuration.
Step 6 Switch(config)# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to create and display an access list named mac1, denying only EtherType
DECnet Phase IV traffic, but permitting all other types of traffic:
Switch(config)# mac access-list extended mac1
Switch(config-ext-macl)# deny any any decnet-iv (old) protocol-family decnet (new)
Switch(config-ext-macl)# permit any any
Switch(config-ext-macl)# end
Switch # show access-lists
Extended MAC access list mac1
deny any any decnet-iv (old) protocol-family decnet (new)
permit any any
The following example shows how to enable or disable hardware statistics while configuring ACEs in
the access list:
Switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# mac access-list extended mac1
Switch(config-ext-nacl)# hardware statistics
Switch(config-ext-nacl)# end
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] mac access-list Defines an extended MAC access list using a name.
extended name
Use the no mac access-list extended name global configuration
command to delete the entire ACL. You can also delete individual
ACEs from named MAC extended ACLs.
Step 3 Switch(config-ext-macl)# {deny | permit} In extended MAC access-list configuration mode, specify to
{any | host source MAC address | source permit or deny any based upon the EtherTypes value, valid values
MAC address mask} {any | host destination
MAC address | destination MAC address
are 15636-65535.
mask} [protocol-family {appletalk | Note You can specify matching by either EtherType or protocol
arp-non-ipv4 | decnet | ipx | rarp-ipv4 |
family but not both.
rarp-non-ipv4 | vines | xns} | ethertype]
Step 4 Switch(config-ext-macl)# end Returns to privileged EXEC mode.
Step 5 Switch# show access-lists [number | name] Shows the access list configuration.
Step 6 Switch(config)# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to create and display an access list named matching, permitting the 0x8863 and
0x8040 EtherType values:
Switch(config)# mac access-list extended matching
Switch(config-ext-macl)# permit any any 0x8863
Switch(config-ext-macl)# permit any any 0x8040
Switch(config-ext-macl)# end
Switch # show access-lists matching
Extended MAC access list matching
permit any any 0x8863
permit any any netbios
Switch #
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# ipv6 access-list name Defines an IPv6 access list using a name.
Use the no form of the command to delete the IPv6 ACL. You can
also delete individual ACEs from IPv6 access-list.
Step 3 Switch(config-ipv6-acl)# {deny | permit} Specifies each IPv6 ACE
{any | proto} {host ipv6-addr |
ipv6-prefix} host ipv6-addr | Note This step may be repeated to define multiple ACEs in the
ipv6-prefix} ACL.
Step 4 Switch(config-ipv6-acl)# (Optional) Enables hardware statistics for the IPv6 ACL.
hardware statistics
Step 5 Switch(config-ipv6-acl)# end Returns to privileged EXEC mode.
Step 6 Switch# show ipv6 access-list Displays the IPv6 access list configuration.
The following example shows how to create and display an IPv6 access list named v6test, denying only
one ipv6 traffic with one particular source/destination address, but permitting all other types of IPv6
traffic:
Switch(config)# ipv6 access-list v6test
Switch(config-ipv6-acl)# deny ipv6 host 2020::10 host 2040::10
Switch(config-ipv6-acl)# permit any any
Switch(config-ipv6-acl)# end
Switch# show ipv6 access-list
IPv6 access list v6test
deny ipv6 host 2020::10 host 2040::10 sequence 10
permit ipv6 any any sequence 20
To enable hardware statistics, enter the following commands while configuring ACEs in the access list:
Switch(config)# ipv6 access-list v6test
Switch(config-ipv6-acl)# hardware statistics
Switch(config-ipv6-acl)# end
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-type Specifies the interface to be configured.
slot/interface
Note interface-type must be a Layer 2 interface.
Step 3 Switch(config-if)# ipv6 traffic-filter Applies the IPv6 ACL to a Layer 2 interface.
ipv6-acl {in | out}
Note IPv6 ACLs are supported on Layer 3 interfaces and on Layer 2 ports using the ipv6 traffic-filter
command.
The following example applies the extended-named IPv6 ACL simple-ipv6-acl to SVI 300 routed
ingress traffic:
Switch# configure terminal
Switch(config)# interface vlan 300
Switch(config-if)# ipv6 traffic-filter simple-ipv6-acl in
Note Output IPv6 ACLs with Ace to match on the ICMP option fail on a switch.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Command Purpose
Step 2 Switch(config)# interface interface-type Specifies the interface to be configured.
slot/interface
Note interface-type must be a Layer 3 interface.
Step 3 Switch(config-if)# ipv6 traffic-filter Applies the IPv6 ACL to a Layer 3 interface.
ipv6-acl {in | out}
Note IPv6 ACLs are supported on Layer 3 interfaces and on Layer 2 ports using the ipv6 traffic-filter
command.
The following example applies the extended-named IPv6 ACL simple-ipv6-acl to SVI 300 routed
ingress traffic:
Switch# configure terminal
Switch(config)# interface vlan 300
Switch(config)# ip address 7.3.4.1 0.0.0.25
Switch(config-if)# ipv6 traffic-filter simple-ipv6-acl in
Note Output IPv6 ACLs with Ace to match on the ICMP option fail on a switch.
To create a VLAN map and apply it to one or more VLANs, perform this task:
Step 1 Create the standard or extended IP ACLs or named MAC extended ACLs that you want to apply to the
VLAN.
Step 2 Enter the vlan access-map global configuration command to create a VLAN ACL map entry.
Step 3 In access map configuration mode, you have the optional to enter an action (forward [the default] or
drop) and enter the match command to specify an IP packet or a non-IP packet and to match the packet
against one or more ACLs (standard or extended). If a match clause is not specified, the action is applied
to all packets. The match clause can be used to match against multiple ACLs. If a packet matches any of
the specified ACLs, the action is applied.
Note If the VLAN map has a match clause for the type of packet (IP or MAC) and the packet does not
match the type, the default is to drop the packet. If there is no match clause in the VLAN map
for that type of packet, and no action specified, the packet is forwarded.
Step 4 Use the vlan filter global configuration command to apply a VLAN map to one or more VLANs.
Note You cannot apply a VLAN map to a VLAN on a switch that has ACLs applied to Layer 2 interfaces (port
ACLs).
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# vlan access-map name Creates a VLAN map, and give it a name and (optionally) a
[number] number. The number is the sequence number of the entry within
the map.
When you create VLAN maps with the same name, numbers are
assigned sequentially in increments of 10. When modifying or
deleting maps, you can enter the number of the map entry that
you want to modify or delete.
This command enables access-map configuration mode.
Step 3 Switch(config-access-map)# action {drop | (Optional) Sets the action for the map entry. The default is to
forward} forward.
Step 4 Switch(config-access-map)# match {ip | Matches the packet (using either the IP or MAC address) against
mac} address {name | number} [name | one or more standard or extended access lists. Note that packets
number]
are matched only against access lists of the correct protocol type.
IP packets are compared with standard or extended IP access
lists. Non-IP packets are only compared with named MAC
extended access lists. If a match clause is not specified, the action
is taken on all packets.
Step 5 Switch(config-access-map)# end Returns to global configuration mode.
Step 6 Switch(config)# show running-config Displays the access list configuration.
Step 7 Switch(config)# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
You can use the no vlan access-map name global configuration command to delete a map. You can use
the no vlan access-map name number global configuration command to delete a single sequence entry
from within the map. You can use the no action access-map configuration command to enforce the
default action, which is to forward.
VLAN maps do not use the specific permit or deny keywords. To deny a packet by using VLAN maps,
create an ACL that would match the packet, and then set the action to drop. A permit in the ACL is the
same as a match. A deny in the ACL means no match.
Example 1
This example shows how to create an ACL and a VLAN map to deny a packet. In the first map, any
packets that match the ip1 ACL (TCP packets) would be dropped. You first create the ip1 ACL to permit
any TCP packet and no other packets. Because there is a match clause for IP packets in the VLAN map,
the default action is to drop any IP packet that does not match any of the match clauses.
This example shows how to create a VLAN map to permit a packet. ACL ip2 permits UDP packets; and
any packets that match the ip2 ACL are forwarded.
Switch(config)# ip access-list extended ip2
Switch(config-ext-nacl)# permit udp any any
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map map_1 20
Switch(config-access-map)# match ip address ip2
Switch(config-access-map)# action forward
In this map, any IP packets that did not match any of the previous ACLs (that is, packets that are not
TCP packets or UDP packets) would get dropped.
Example 2
In this example, the VLAN map is configured to drop IP packets and to forward MAC packets by default.
By applying standard ACL 101 and the extended named access lists igmp-match and tcp-match, the
VLAN map is configured to do the following:
• Forward all UDP packets
• Drop all IGMP packets
• Forward all TCP packets
• Drop all other IP packets
• Forward all non-IP packets
Switch(config)# access-list 101 permit udp any any
Switch(config)# ip access-list extended igmp-match
Switch(config-ext-nacl)# permit igmp any any
Switch(config)# ip access-list extended tcp-match
Switch(config-ext-nacl)# permit tcp any any
Switch(config-ext-nacl)# exit
Switch(config)# vlan access-map drop-ip-default 10
Switch(config-access-map)# match ip address 101
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-ip-default 20
Switch(config-access-map)# match ip address igmp-match
Switch(config-access-map)# action drop
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-ip-default 30
Switch(config-access-map)# match ip address tcp-match
Switch(config-access-map)# action forward
Example 3
In this example, the VLAN map is configured to drop MAC packets and forward IP packets by default.
By applying MAC extended access lists, good-hosts and good-protocols, the VLAN map is configured
to do the following:
• Forward MAC packets from hosts 0000.0c00.0111 and 0000.0c00.0211.
• Forward MAC packets of DECnet or VINES (Virtual Integrated Network Service) protocol-family.
Example 4
In this example, the VLAN map is configured to drop all packets (IP and non-IP). By applying access
lists tcp-match and good-hosts, the VLAN map is configured to do the following:
• Forward all TCP packets
• Forward MAC packets from hosts 0000.0c00.0111 and 0000.0c00.0211
• Drop all other IP packets
• Drop all other MAC packets
Switch(config)# vlan access-map drop-all-default 10
Switch(config-access-map)# match ip address tcp-match
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
Switch(config)# vlan access-map drop-all-default 20
Switch(config-access-map)# match mac address good-hosts
Switch(config-access-map)# action forward
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# vlan filter mapname Applies the VLAN map to one or more VLAN IDs.
vlan-list list
The list can be a single VLAN ID (22), a consecutive list (10-22), or
a string of VLAN IDs (12, 22, 30). Spaces around comma, and dash,
are optional.
Step 3 Switch(config)# show running-config Displays the access list configuration.
Step 4 cSwitch(config)# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Note You cannot apply a VLAN map to a VLAN on a switch that has ACLs applied to Layer 2 interfaces (port
ACLs).
This example shows how to apply VLAN map 1 to VLANs 20 through 22:
Switch(config)# vlan filter map 1 vlan-list 20-22
Si
Switch B
Switch A Switch C
Host X Host Y
10.1.1.32 10.1.1.34
VLAN 1
94154
VLAN 2
Packet
For example, if you do not want HTTP traffic to be switched from Host X to Host Y, you could apply a
VLAN map on Switch A to drop all HTTP traffic moving from Host X (IP address 10.1.1.32) to Host Y
(IP address 10.1.1.34) at Switch A and not bridge the traffic to Switch B. To configure this scenario, you
would do the following:
First, define an IP access list http to permit (match) any TCP traffic on the HTTP port, as follows:
Switch(config)# ip access-list extended http
Switch(config-ext-nacl)# permit tcp host 10.1.1.32 host 10.1.1.34 eq www
Switch(config-ext-nacl)# exit
Next, create a VLAN access map named map2 so that traffic that matches the http access list is dropped
and all other IP traffic is forwarded, as follows:
Switch(config)# vlan access-map map2 10
Switch(config-access-map)# match ip address http
Switch(config-access-map)# action drop
Switch(config-access-map)# exit
Then, apply the VLAN access map named map2 to VLAN 1, as follows:
Switch(config)# vlan filter map2 vlan 1
VLAN map
10.1.1.100
Subnet
Server (VLAN 10) 10.1.2.0/8
10.1.1.4
Host (VLAN 20)
Host (VLAN 10) Catalyst 4500 series switch
10.1.1.8
94155
This procedure configures ACLs with VLAN maps to deny access to a server on another VLAN. The
VLAN map SERVER 1_ACL denies access to hosts in subnet 10.1.2.0/8, host 10.1.1.4, and host
10.1.1.8. Then it permits all other IP traffic. In Step 3, VLAN map SERVER1 is applied to VLAN 10.
To configure this scenario, you could perform the following steps:
Step 1 Define the IP ACL to match and permit the correct packets.
Switch(config)# ip access-list extended SERVER1_ACL
Switch(config-ext-nacl))# permit ip 10.1.2.0 0.0.0.255 host 10.1.1.100
Switch(config-ext-nacl))# permit ip host 10.1.1.4 host 10.1.1.100
Switch(config-ext-nacl))# permit ip host 10.1.1.8 host 10.1.1.100
Switch(config-ext-nacl))# exit
Step 2 Define a VLAN map using the ACL to drop IP packets that match SERVER1_ACL and forward IP
packets that do not match the ACL.
Switch(config)# vlan access-map SERVER1_MAP
Switch(config-access-map)# match ip address SERVER1_ACL
Switch(config-access-map)# action drop
Switch(config)# vlan access-map SERVER1_MAP 20
Switch(config-access-map)# action forward
Switch(config-access-map)# exit
Command Purpose
Switch# show vlan access-map [mapname] Shows information about all VLAN access-maps or the
specified access map.
Switch# show vlan filter [access-map name | Shows information about all VLAN filters or about a
vlan vlan-id] specified VLAN or VLAN access map.
Note Sequence 30 does not have a match clause. All packets (IP as well as non-IP) are matched against it and
dropped.
Note You cannot combine VLAN maps or input router ACLs with port ACLs on a switch.
Guidelines for Using Router ACLs and VLAN Maps on the Same VLAN
Because the switch hardware performs one lookup for each direction (input and output), you must merge
a router ACL and a VLAN map when they are configured on the same VLAN. Merging the router ACL
with the VLAN map can significantly increase the number of ACEs.
When possible, try to write the ACL so that all entries have a single action except for the final, default
action. You should write the ACL using one of these two forms:
permit...
permit...
permit...
deny ip any any
or
deny...
deny...
deny...
permit ip any any
To define multiple permit or deny actions in an ACL, group each action type together to reduce the
number of entries.
If you need to specify the full-flow mode and the ACL contains both IP ACEs and TCP/UDP/ICMP
ACEs with Layer 4 information, put the Layer 4 ACEs at the end of the list. Doing this gives priority to
the filtering of traffic based on IP addresses.
Input Output
VLAN 10 router router VLAN 20
map ACL ACL map
Frame
Host A
(VLAN 10)
Routing function
Host C
(VLAN 10)
94156
VLAN 10 Packet VLAN 20
Input Output
VLAN 10 router router VLAN 20
map ACL ACL map
Frame
Host A Host B
(VLAN 10) (VLAN 20)
Routing function
94157
VLAN 10 Packet VLAN 20
Configuring PACLs
This section describes how to configure PACLs, which are used to control filtering on Layer 2 interfaces.
PACLs can filter traffic to or from Layer 2 interfaces based on Layer 3 information, Layer 4 head
information or non-IP Layer 2 information.
This section contains the following topics:
• Creating a PACL, page 42-27
• PACL Configuration Guidelines, page 42-28
• Configuring IPv6, IP, and MAC ACLs on a Layer 2 Interface, page 42-28
• Using PACL with Access-Group Mode, page 42-29
• Configuring Access-group Mode on Layer 2 Interface, page 42-30
• Applying ACLs to a Layer 2 Interface, page 42-30
• Displaying an ACL Configuration on a Layer 2 Interface, page 42-31
Creating a PACL
To create a PACL and apply it to one or more interfaces, perform this task:
Step 1 Create the standard or extended IPv4 ACLs, named IPv6 ACLs, or named MAC extended ACLs that you
want to apply to the interface.
Step 2 Use the ip access-group ipv6 traffic-filter or mac access-group interface command to apply an IPv4
ACL, IPv6 ACL, or MAC ACL to one or more Layer 2 interfaces.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface Enters interface config mode.
Step 3 Switch(config-if)# [no] ipv6 traffic-filter Applies an IPv6 ACL to the Layer 2 interface. The no prefix
ipv6AclName [in | out] deletes the ACL from the Layer 2 interface.
Step 4 Switch(config)# show running-config Displays the access list configuration.
The following example shows how to apply IPv6 ACLs on interface Gi3/1:
Switch(config)# interface Gi3/1
Switch(config-if)# ipv6 traffic-filter ipv6AclName in
Switch(config-if)# end
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface Enters interface config mode.
Step 3 Switch(config-if)# [no] {ip | mac} Applies numbered or named ACL to the Layer 2 interface.
access-group {name | number| in| out} The no prefix deletes the IP or MAC ACL from the Layer 2
interface.
Step 4 Switch(config)# show running-config Displays the access list configuration.
The following example shows how to configure the Extended Named IP ACL simple-ip-acl to permit all
TCP traffic and implicitly deny all other IP traffic:
Switch(config)# interface Gi3/1
Switch(config-if)# ip access-list extended simple-ip-acl
Switch(config-ext-nacl)# permit tcp any any
Switch(config-ext-nacl)# end
The following example shows how to configure the Extended Named MACL simple-mac-acl to permit
source host 000.000.011 to any destination host:
Switch(config)# interface Gi3/1
Switch(config-if)# mac access-list extended simple-mac-acl
Switch(config-ext-macl)# permit host 000.000.011 any
Switch(config-ext-macl)# end
Note Because output PACLs are mutually exclusive with VACL and Router ACLs, the access group mode
does not change the behavior of output traffic filtering.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface Enters interface config mode.
Step 3 Switch(config-if)# [no] access-group mode Applies numbered or named ACL to the Layer 2 interface.
{prefer {port | vlan} | merge} The no prefix deletes the IP or MAC ACL from the Layer 2
interface.
Step 4 Switch(config)# show running-config Displays the access list configuration.
This example shows how to merge and apply features other than PACL on the interface:
Switch# configure terminal
Switch(config)# interface fast 6/1
Switch(config-if)# access-group mode prefer port
This example shows how to merge applicable ACL features before they are programmed into hardware:
Switch# configure terminal
Switch(config)# interface fast 6/1
Switch(config-if)# access-group mode merge
Command Purpose
Switch(config-if)# ip access-group ip-acl {in | out} Applies an IP ACL to the Layer 2 interface
Switch(config-if)# mac access-group mac-acl {in | out} Applies a MAC ACL to the Layer 2 interface.
Note Supervisor Engines III and Supervisor Engine IV running on a Catalyst 4500 series switch support both
input and output PACLs on an interface.
This example applies the extended named IP ACL simple-ip-acl to interface FastEthernet 6/1 ingress
traffic:
Switch# configure terminal
Switch(config)# interface fast 6/1
Switch(config-if)# ip access-group simple-ip-acl in
This example applies the extended named MAC ACL simple-mac-acl to interface FastEthernet 6/1
egress traffic:
Switch# configure terminal
Switch(config)# interface fast 6/1
Switch(config-if)# mac access-group simple-mac-acl out
Command Purpose
Switch# show ip interface [interface-name] Shows the IP access group configuration on the interface.
Switch# show mac access-group interface Shows the MAC access group configuration on the
[interface-name] interface.
Switch# show access-group mode interface Shows the access group mode configuration on the
[interface-name] interface.
This example shows that the IP access group simple-ip-acl is configured on the inbound direction of
interface fa6/1:
Switch# show ip interface fast 6/1
FastEthernet6/1 is up, line protocol is up
Inbound access list is simple-ip-acl
Outgoing access list is not set
This example shows that MAC access group simple-mac-acl is configured on the inbound direction of
interface fa6/1:
Switch# show mac access-group interface fast 6/1
Interface FastEthernet6/1:
Inbound access-list is simple-mac-acl
Outbound access-list is not set
This example shows that access group merge is configured on interface fa6/1:
Switch# show access-group mode interface fast 6/1
Interface FastEthernet6/1:
Access group mode is: merge
Each ACL Type listed in Table 42-1 is synonymous with a different scenario, as explained in the
following discussion.
Scenario 1: Host A is connected to an interface in VLAN 20, which has an SVI configured. The interface
has input PACL configured, and the SVI has input Router ACL configured as shown in Figure 42-7:
Input
Input router Output
PACL ACL PACL
Frame
Host A Host B
(VLAN 10) (VLAN 20)
Routing function
94092
VLAN 10 Packet VLAN 20
If the interface access group mode is prefer port, then only the input PACL is applied on the ingress
traffic from Host A. If the mode is prefer vlan, then only the input Router ACL is applied to ingress
traffic from Host A that requires routing. If the mode is merge, then the input PACL is first applied to
the ingress traffic from Host A, and the input Router ACL is applied on the traffic that requires routing.
Scenario 2: Host A is connected to an interface in VLAN 10, which has a VACL (VLAN Map)
configured and an input PACL configured as shown in Figure 42-8.
Input VLAN 10
PACL map
Frame
Host A Host B
(VLAN 10) (VLAN 10)
94093
VLAN 10 Packet
If the interface access group mode is prefer port, then only the input PACL is applied on the ingress
traffic from Host A. If the mode is prefer vlan, then only the VACL is applied to the ingress traffic from
Host A. If the mode is merge, the input PACL is first applied to the ingress traffic from Host A, and the
VACL is applied on the traffic.
Scenario 3: Host A is connected to an interface in VLAN 10, which has a VACL and an SVI configured.
The SVI has an input Router ACL configured and the interface has an input PACL configured, as shown
in Figure 42-9.
Input Output
Input VLAN 10 router router VLAN 20
PACL map ACL ACL map
Frame
Host A Host B
(VLAN 10) (VLAN 20)
Routing function
94094
If the interface access group mode is prefer port, then only the input PACL is applied on the ingress
traffic from Host A. If the mode is prefer vlan, then the merged results of the VACL and the input Router
ACL are applied to the ingress traffic from Host A. If the mode is merge, the input PACL is first applied
to the ingress traffic from Host A, the VACL is applied on the traffic and finally, and the input Router
ACL is applied to the traffic that needs routing. (that is, the merged results of the input PACL, VACL,
and input Router ACL are applied to the traffic).
This chapter lists the IP version 6 (IPv6) features supported on the Catalyst 4500 series switches.
The IPv6 for Cisco IOS software feature documentation provides implementation and command
reference information for IPv6 features supported in the Cisco IOS software. Not all IPv6 features are
supported on the Catalyst 4500 series switches. We strongly recommend that you read this entire chapter
before reading the other IPv6 for Cisco IOS software feature documentation.
Note For complete syntax and usage information for the commands used in this chapter, see the Cisco IOS
documentation referenced in the procedures.
About IPv6
IPv6 provides services such as end-to-end security, quality of service (QoS), and globally unique
addresses. The IPv6 address space reduces the need for private addresses and Network Address
Translation (NAT) processing by border routers at network edges.
For information about how Cisco Systems implements IPv6, go to this URL:
http://www.cisco.com/en/US/products/ps6553/products_ios_technology_home.html
This section describes the features that are supported for IPv6:
DHCP
The following DHCP features are supported for IPv6 on the Catalyst 4500 series switch:
• Relay agent
• Relay agent notification for prefix delegation
• Reload persistent interface ID option
• Ethernet remote ID option
You can find information about these features at this location:
http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-dhcp.html
Security
The following security features are supported for IPv6 on the Catalyst 4500 series switch:
• Secure Shell (SSH) support over IPv6
• Traffic filters
• standard access control lists (ACL)
• extended access control lists
• ACL accounting
• ACL addressing
• ACL DSCP
• ACL flags
• ACL flows
• ACL fragments
• ACL ICMP codes
• ACL logging
• ACL protocols
You can find information about these features at this location:
http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-sec_trfltr_fw.html
QoS
The following QoS features are supported for IPv6 on the Catalyst 4500 series switch:
• MQC packet classification
• MQC traffic shaping and sharing
• MQC traffic policing
• MQC packing marking and remarking
You can find information about these features at this location:
http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-qos.html
Management
The following management features are supported for IPv6 on the Catalyst 4500 series switch:
• Ping
• Syslog
• SNMP
• HTTP(s)
You can find information about these features at this location:
http://www.cisco.com/en/US/docs/ios-xml/ios/ipv6/configuration/12-2sx/ip6-mng-apps.html
Multicast
Traditional IP communication allows a host to send packets to a single host (unicast transmission) or to
all hosts (broadcast transmission). IPv6 multicast, allows a host to send a single data stream to a subset
of all hosts (group transmission) simultaneously.
The following multicast features are supported for IPv6 on the Catalyst 4500 series switch:
• Multicast Listener Discovery (MLD) protocol, versions 1 and 2
You can find information about IPv6 MLD Snooping at this location:
http://www.cisco.com/en/US/docs/switches/lan/catalyst4500/12.2/53SG/configuration/mldsnoop.h
tml
• PIM Sparse Mode (PIM-SM) (EntServices only)
• PIM Source Specific Multicast (PIM-SSM)
• MLD access group
• PIM embedded Rendezvous Point (RP) support
• Static multicast routing (mroute)
• Bootstrap routers (BSR)
• MLD snooping (EntServices and IP Base)
You can find information about these features at this location:
http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-multicast.html
Static Routes
Networking devices forward packets using route information that is either manually configured or
dynamically learned using a routing protocol. Static routes are manually configured and define an
explicit path between two networking devices. Unlike a dynamic routing protocol, static routes are not
automatically updated and must be manually reconfigured if the network topology changes. The benefits
of using static routes include security and resource efficiency. Static routes use less bandwidth than
dynamic routing protocols and no CPU cycles are used to calculate and communicate routes. The main
disadvantage to using static routes is the lack of automatic reconfiguration if the network topology
changes.
Static routes can be redistributed into dynamic routing protocols but routes generated by dynamic
routing protocols cannot be redistributed into the static routing table. No algorithm exists to prevent the
configuration of routing loops that use static routes.
Static routes are useful for smaller networks with only one path to an outside network and to provide
security for a larger network for certain types of traffic or links to other networks that need more control.
In general, most networks use dynamic routing protocols to communicate between networking devices
but may have one or two static routes configured for special cases.
You can find more information regarding static routes at:
http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-stat_routes.html
Unicast Routing
These sections describe the IPv6 unicast routing protocol features supported by the switch:
• RIP, page 43-5
• OSPF, page 43-5
• EIGRP, page 43-6
• Multiprotocol BGP, page 43-6
RIP
Routing Information Protocol (RIP) for IPv6 is a distance-vector protocol that uses hop count as a
routing metric. It includes support for IPv6 addresses and prefixes and the all-RIP routers multicast
group address FF02::9 as the destination address for RIP update messages.
You can find more about RIP at this location:
http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-rip.html
OSPF
The switch running the IP services feature set supports Open Shortest Path First (OSPF) for IPv6, a
link-state protocol for IP.
You can find more information about OSPF at this location:
http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-ospf.html
EIGRP
The switch running the IP-services feature set supports Enhanced Interior Gateway Routing Protocol
(EIGRP) for IPv6. It is configured on the interfaces on which it runs and does not require a global IPv6
address.
Before running, an instance of EIGRP IPv6 requires an implicit or explicit router ID. An implicit router
ID is derived from a local IPv4 address, so any IPv4 node always has an available router ID. However,
EIGRP IPv6 might be running in a network with only IPv6 nodes and therefore might not have an
available IPv4 router ID.
You can find more information about EIGRP at this location:
http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-eigrp.html
Multiprotocol BGP
Multiprotocol Border Gateway Protocol (BGP) is an Exterior Gateway Protocol (EGP) used mainly to
connect separate routing domains that contain independent routing policies (autonomous systems).
Connecting to a service provider for access to the Internet is a common use for BGP. BGP can also be
used within an autonomous system, which is referred to as internal BGP (iBGP). Multiprotocol BGP is
an enhanced BGP that carries routing information for multiple network layer protocol address families,
for example, IPv6 address family and for IP multicast routes. All BGP commands and routing policy
capabilities can be used with multiprotocol BGP.
You can find more information about multiprotocol BGP at this location:
http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-mptcl_bgp.html
Tunneling
The following tunneling features are supported for IPv6 on the Catalyst 4500 series switch:
• Automatic 6to4
• ISATAP
• Configured tunnels
This chapter describes how to configure multicast and unicast flood blocking on the Catalyst 4000
family switch. This chapter contains these topics:
• About Flood Blocking, page 44-1
• Configuring Port Blocking, page 44-1
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Note The flood blocking feature is supported on all switched ports (including PVLAN ports) and is applied
to all VLANs on which the port is forwarding.
Note Blocking of unicast or multicast traffic is not automatically enabled on a switch port; you must explicitly
configure it.
Note The interface can be a physical interface (for example, GigabitEthernet 1/1) or an EtherChannel group
(such as port-channel 5). When you block multicast or unicast traffic for a port channel, it is blocked on
all ports in the port channel group.
Note Starting with Cisco IOS Release 12.2(52)SG, only IPV4 and IPv6 unknown multicast traffic flooding is
blocked; Layer 2 unknown multicast flooding is not. This behavior stems from a fix for the following
problem: when you configure blocking of unknown multicast flooding on a port, broadcast traffic to the
port is also blocked.
To disable the flooding of multicast and unicast packets to an interface, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Enters interface configuration mode and enter the type and
number of the switchport interface (for example,
GigabitEthernet 1/1).
Step 3 Switch(config-if)# switchport block Blocks unknown multicast forwarding to the port.
multicast
Step 4 Switch(config-if)# switchport block unicast Blocks unknown unicast forwarding to the port.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch# Verifies your entry.
show interface interface-id switchport
Step 7 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
This example shows how to block unicast and multicast flooding on a GigabitEthernet interface1/1 and
how to verify the configuration:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# switchport block multicast
Switch(config-if)# switchport block unicast
Switch(config-if)# end
Switch# show interface gigabitethernet1/1 switchport
Name: Gi1/3
Switchport: Enabled
<output truncated>
Port Protected: On
Unknown Unicast Traffic: Not Allowed
Unknown Multicast Traffic: Not Allowed
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface Enters interface configuration mode and enter the type and number of
interface-id the switchport interface (GigabitEthernet1/1).
Step 3 Switch(config-if)# no switchport Enables unknown multicast flooding to the port.
block multicast
Step 4 Switch(config-if)# no switchport Enables unknown unicast flooding to the port.
block unicast
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch# show interface interface-id Verifies your entry.
switchport
Step 7 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This chapter describes how to configure port-based traffic control on the Catalyst 4500 series switch.
This chapter consists of these sections:
• About Storm Control, page 45-1
• Enabling Broadcast Storm Control, page 45-3
• Enabling Multicast Storm Control, page 45-4
• Disabling Broadcast Storm Control, page 45-5
• Disabling Multicast Storm Control, page 45-6
• Displaying Storm Control, page 45-6
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Note Storm control and Multicast storm control are supported in hardware on all ports on Supervisor Engine
7-E.
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 combination 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 4500 series switches (including Supervisor Engine 7-E) is
implemented in hardware. The suppression circuitry monitors packets passing from a LAN interface to
the switching bus. If the packet destination address is broadcast, then the broadcast suppression circuitry
tracks the current count of broadcasts within the one-second interval, and when a threshold is reached,
it 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. Because packets do not arrive at uniform intervals, the one-second interval
during which broadcast activity is measured can affect the behavior of broadcast suppression.
on the interface is dropped. This threshold is specified as a percentage of total available bandwidth that
can be used by broadcast traffic. If the lower threshold is specified, all data traffic is forwarded as soon
as the incoming traffic falls below that threshold.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Enters interface configuration mode and enter the port to configure.
Step 3 Switch(config-if)# storm-control Configures broadcast storm control.
broadcast level [high level] [lower
level] Specifies the upper threshold levels for broadcast traffic. The storm
control action occurs when traffic utilization reaches this level.
(Optional) Specifies the falling threshold level. The normal
transmission restarts (if the action is filtering) when traffic drops
below this level for interfaces that support software-based
suppression.
Note For ports that perform hardware-based suppression, the
lower threshold is ignored.
Step 4 Switch(config-if)# storm-control action Specifies the action to be taken when a storm is detected.
{shutdown | trap}
The default is to filter out the broadcast traffic and not to send out
traps.
The shutdown keyword sets the port to error-disable state during a
storm. If the recover interval is not set, the port remains in shutdown
state.
Step 5 Switch(config-if)# exit Returns to configuration mode.
Step 6 Switch(config)# end Returns to privileged EXEC mode.
Step 7 Switch# show storm-control [interface] Displays the number of packets suppressed.
broadcast
Step 8 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Type: 10/100BaseTX
Speed: 10,100,auto
Duplex: half,full,auto
Auto-MDIX: no
Trunk encap. type: 802.1Q
Trunk mode: on,off,desirable,nonegotiate
Channel: yes
Broadcast suppression: percentage(0-100), hw
Multicast suppression: percentage(0-100), hw
Flowcontrol: rx-(none),tx-(none)
VLAN Membership: static, dynamic
Fast Start: yes
CoS rewrite: yes
ToS rewrite: yes
Inline power: yes (Cisco Voice Protocol)
SPAN: source/destination
UDLD: yes
Link Debounce: no
Link Debounce Time: no
Port Security: yes
Dot1x: yes
Maximum MTU: 1552 bytes (Baby Giants)
Multiple Media Types: no
Diagnostic Monitoring: N/A\
Note Multicast and broadcast suppression share a common threshold per interface.
Multicast suppression takes effect only if broadcast suppression is enabled.
Disabling broadcast suppression on an interface also disables multicast suppression.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Enters interface configuration mode and enter the port to
configure.
Step 3 Switch(config-if)# storm-control Enables multicast suppression.
broadcast include multicast
Step 4 Switch(config-if)# exit Returns to configuration mode.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch# show storm-control Verifies the configuration.
The following example shows how to enable multicast suppression on ports that have broadcast
suppression already enabled:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# int fa3/1
Switch(config-if)# storm-control broadcast include multicast
Switch(config-if)# end
Switch#
Switch# show storm-control
Interface Filter State Broadcast Multicast Level
--------- ------------- --------- --------- -----
Fi3/1 Forwarding Enabled Enabled 50.00%
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# interface interface-id Enters interface configuration mode and enter the port to
configure.
Step 3 Switch(config-if)# no storm-control Disables port storm control.
broadcast level
Step 4 Switch(config-if)# no storm-control action Disables the specified storm control action and returns to
{shutdown | trap} default filter action.
Step 5 Switch(config-if)# exit Returns to configuration mode.
Step 6 Switch(config)# end Returns to privileged EXEC mode.
Step 7 Switch# show storm-control broadcast Verifies your entries.
Step 8 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] storm-control Enables/disables multicast suppression.
broadcast include multicast
Step 3 Switch(config-if)# no storm-control Disables port storm control (broadcast and multicast).
broadcast level
Step 4 Switch(config-if)# end Returns to configuration mode.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
The following example shows an interface that supports broadcast suppression in software (sw).
Switch# show int fa2/1 capabilities
FastEthernet2/1
Model: WS-X4148-RJ45V-RJ-45
Type: 10/100BaseTX
Speed: 10,100,auto
Duplex: half,full,auto
Auto-MDIX: no
Trunk encap. type: 802.1Q
Trunk mode: on,off,desirable,nonegotiate
Channel: yes
Broadcast suppression: percentage(0-100), hw
Multicast suppression: percentage(0-100), hw
Flowcontrol: rx-(none),tx-(none)
VLAN Membership: static, dynamic
Fast Start: yes
CoS rewrite: yes
ToS rewrite: yes
Inline power: yes (Cisco Voice Protocol)
SPAN: source/destination
UDLD: yes
Link Debounce: no
Link Debounce Time: no
Port Security: yes
Dot1x: yes
Maximum MTU: 1552 bytes (Baby Giants)
Multiple Media Types: no
Diagnostic Monitoring: N/A
Note Use the show interfaces counters storm-control command to display a count of discarded packets.
The following example shows the output of the show storm-control command:
Switch# show storm-control
Interface Filter State Upper Lower Current
--------- ------------- ------- ------- -------
Gi4/4 Forwarding 2.00% 2.00% N/A
Switch
Note In the previous example, “current” represents the percentage of traffic suppressed at a given instant, and
the value is N/A for ports that perform suppression in hardware.
This chapter describes how to configure the Switched Port Analyzer (SPAN) and Remote SPAN
(RSPAN) on the Catalyst 4500 series switches. SPAN selects network traffic for analysis by a network
analyzer, such as a SwitchProbe device or other Remote Monitoring (RMON) probe.
This chapter consists of the following sections:
• About SPAN and RSPAN, page 46-2
• Configuring SPAN, page 46-7
• CPU Port Sniffing, page 46-10
• Encapsulation Configuration, page 46-12
• Ingress Packets, page 46-12
• Access List Filtering, page 46-13
• Packet Type Filtering, page 46-14
• Configuration Example, page 46-15
• Configuring RSPAN, page 46-16
• Displaying SPAN and RSPAN Status, page 46-24
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
E6 E7
E5 E8 E11
E4 E9 E12
E3 E10
E2
E1
S6884
Network analyzer
RSPAN extends SPAN by enabling remote monitoring of multiple switches across your network. 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 is copied onto the
RSPAN VLAN and then forwarded over trunk ports that are carrying the RSPAN VLAN to any RSPAN
destination sessions monitoring the RSPAN VLAN, as shown in Figure 46-2.
RSPAN RSPAN
VLAN VLAN
105028
RSPAN RSPAN
source port destination port
SPAN and RSPAN do not affect the switching of network traffic on source ports or source VLANs; a
copy of the packets received or sent by the sources is sent to the destination. Except for traffic that is
required for the SPAN or RSPAN session, by default, destination ports do not receive or forward traffic.
Use the SPAN or RSPAN destination port to forward transmitted traffic from a network security device.
For example, if you connect a Cisco Intrusion Detection System (IDS) sensor appliance to a destination
port, the IDS device can send TCP reset packets to close down the TCP session of a suspected attacker.
SPAN Session
A local SPAN session associates a destination port with source ports. You can monitor incoming or
outgoing traffic on a series or range of ports and source VLANs. An RSPAN session associates source
ports and source VLANs across your network with an RSPAN VLAN. The destination source is the
RSPAN VLAN.
You configure SPAN sessions by using parameters that specify the source of network traffic to monitor.
You can configure multiple SPAN or RSPAN sessions with separate or overlapping sets of SPAN
sources. Both switched and routed ports can be configured as SPAN sources or destination ports.
An RSPAN source session associates SPAN source ports or VLANs with a destination RSPAN VLAN.
An RSPAN destination session associates an RSPAN VLAN with a destination port.
SPAN sessions do not interfere with the normal operation of the switch; however, an oversubscribed
SPAN destination (for example, a 10-Mbps port monitoring a 100-Mbps port) results in dropped or lost
packets.
You can configure SPAN sessions on disabled ports; however, a SPAN session does not become active
unless you enable the destination port and at least one source port or VLAN for that session.
A SPAN session remains inactive after system startup until the destination port is operational.
Traffic Types
SPAN sessions include these traffic types:
• Receive (Rx) SPAN—The goal of receive (or ingress) SPAN is to monitor as much as possible all
packets received by the source interface or VLAN before any modification or processing is
performed by the switch. A copy of each packet received by the source is sent to the destination port
for that SPAN session. You can monitor a series or range of ingress ports or VLANs in a SPAN
session.
On tagged packets (Inter-Switch Link [ISL] or IEEE 802.1Q), the tagging is removed at the ingress
port. At the destination port, if tagging is enabled, the packets appear with the ISL or 802.1Q
headers. If no tagging is specified, packets appear in the native format.
Packets that are modified because of routing are copied without modification for Rx SPAN; that is,
the original packet is copied. Packets that are modified because of quality of service (QoS)—for
example, modified Differentiated Services Code Point (DSCP)—are copied without modification for
Rx SPAN.
Some features that can cause a packet to be dropped during receive processing have no effect on
SPAN; the destination port receives a copy of the packet even if the actual incoming packet is
dropped. These features include IP standard and extended input access control lists (ACLs), IP
standard and extended output ACLs for unicast and ingress QoS policing, VLAN maps, ingress QoS
policing, and policy-based routing. Switch congestion that causes packets to be dropped also has no
effect on SPAN.
• Transmit (Tx) SPAN—The goal of transmit (or egress) SPAN is to monitor as much as possible all
packets sent by the source interface after the switch performs all modification and processing. After
the packet is modified, the source sends a copy of each packet to the destination port for that SPAN
session. You can monitor a range of egress ports in a SPAN session.
Packets that are modified because of routing—for example, with a time-to-live (TTL) or
MAC-address modification—are duplicated at the destination port. On packets that are modified
because of QoS, the modified packet might not have the same DSCP (IP packet) or CoS (non-IP
packet) as the SPAN source.
Some features that can cause a packet to be dropped during transmit processing might also affect
the duplicated copy for SPAN. These features include VLAN maps, IP standard and extended output
ACLs on multicast packets, and egress QoS policing. In the case of output ACLs, if the SPAN source
drops the packet, the SPAN destination would also drop the packet. In the case of egress QoS
policing, if the SPAN source drops the packet, the SPAN destination might not drop it. If the source
port is oversubscribed, the destination ports have different dropping behavior.
• Both—In a SPAN session, you can monitor a single port series or a range of ports for both received
and sent packets.
Source Port
A source port (also called a monitored port) is a switched or routed port that you monitor for network
traffic analysis. In a single local SPAN session or RSPAN source session, you can monitor source port
traffic, such as received (Rx), transmitted (Tx), or bidirectional (both). The switch supports any number
of source ports (up to the maximum number of available ports on the switch) and any number of source
VLANs.
A source port has these characteristics:
• It can be any port type (for example, EtherChannel, Fast Ethernet, Gigabit Ethernet, and so forth).
• It can be monitored in multiple SPAN sessions.
• It cannot be a destination port.
• Each source port can be configured with a direction (ingress, egress, or both) to monitor. For
EtherChannel sources, the monitored direction would apply to all physical ports in the group.
• Source ports can be in the same or different VLANs.
• For VLAN SPAN sources, all active ports in the source VLAN are included as source ports.
You can configure a trunk port as a source port. By default, all VLANs active on the trunk are monitored.
You can limit SPAN traffic monitoring on trunk source ports to specific VLANs by using VLAN
filtering. Only switched traffic in the selected VLANs is sent to the destination port. This feature affects
only traffic forwarded to the destination SPAN port and does not affect the switching of normal traffic.
This feature is not allowed in sessions with VLAN sources.
Destination Port
Each local SPAN session or RSPAN destination session must have a destination port (also called a
monitoring port) that receives a copy of traffic from the source ports and VLANs.
A destination port has these characteristics:
• A destination port must reside on the same switch as the source port (for a local SPAN session).
• A destination port can be any Ethernet physical port.
• A destination port can participate in only one SPAN session at a time. (A destination port in one
SPAN session cannot be a destination port for a second SPAN session.)
• A destination port cannot be a source port.
• A destination port cannot be an EtherChannel group.
• A destination port can be a physical port that is assigned to an EtherChannel group, even if the
EtherChannel group has been specified as a SPAN source. The port is removed from the group while
it is configured as a SPAN destination port.
• The port does not transmit any traffic except that traffic required for the SPAN session unless
learning is enabled. If learning is enabled, the port also transmits traffic directed to hosts that have
been learned on the destination port.
• If ingress traffic forwarding is enabled for a network security device, the destination port forwards
traffic at Layer 2.
• A destination port does not participate in spanning tree while the SPAN session is active.
• When it is a destination port, it does not participate in any of the Layer 2 protocols (STP, VTP, CDP,
DTP, PagP).
• A destination port that belongs to a source VLAN of any SPAN session is excluded from the source
list and is not monitored.
• A destination port receives copies of sent and received traffic for all monitored source ports. If a
destination port is oversubscribed, it could become congested and result in packet drops at the
destination port. This congestion does not affect traffic forwarding on the source ports.
VLAN-Based SPAN
VLAN-based SPAN (VSPAN) is the monitoring of the network traffic in one or more VLANs.
Use these guidelines for VSPAN sessions:
• Traffic on RSPAN VLANs is not monitored by VLAN-based SPAN sessions.
• Only traffic on the monitored VLAN is sent to the destination port.
• If a destination port belongs to a source VLAN, it is excluded from the source list and is not
monitored.
• If ports are added to or removed from the source VLANs, the traffic on the source VLAN received
by those ports is added to or removed from the sources being monitored.
• VLAN pruning and the VLAN allowed list have no effect on SPAN monitoring.
• VSPAN monitors only traffic that enters the switch, not traffic that is routed between VLANs. For
example, if a VLAN is being Rx-monitored, and the multilayer switch routes traffic from another
VLAN to the monitored VLAN, that traffic is not monitored and is not received on the SPAN
destination port.
• You cannot use filter VLANs in the same session with VLAN sources.
• You can monitor only Ethernet VLANs.
SPAN Traffic
Use the local SPAN to monitor all network traffic, including multicast and bridge protocol data unit
(BPDU) packets, Cisco Discovery Protocol (CDP), VLAN Trunk Protocol (VTP), Dynamic Trunking
Protocol (DTP), Spanning Tree Protocol (STP), and Port Aggregation Protocol (PAgP) packets. You
cannot use RSPAN to monitor Layer 2 protocols. (See the “RSPAN Configuration Guidelines” section
on page 46-16 for more information.)
In some SPAN configurations, multiple copies of the same source packet are sent to the SPAN
destination port. For example, a bidirectional (both Rx and Tx) SPAN session is configured for the
sources a1 Rx monitor and the a2 Rx and Tx monitor to destination port d1. If a packet enters the switch
through a1 and is switched to a2, both incoming and outgoing packets are sent to destination port d1.
Both packets are the same (unless a Layer-3 rewrite occurs, in which case the packets are different
because of the added Layer 3 information).
Configuring SPAN
The following sections describe how to configure SPAN:
• SPAN Configuration Guidelines and Restrictions, page 46-7
• Configuring SPAN Sources, page 46-8
• Configuring SPAN Destinations, page 46-9
• Monitoring Source VLANs on a Trunk Interface, page 46-9
• Configuration Scenario, page 46-10
• Verifying a SPAN Configuration, page 46-10
Note Entering SPAN configuration commands does not clear previously configured SPAN parameters. You
must enter the no monitor session command to clear configured SPAN parameters.
Command Purpose
Switch(config)# [no] monitor session Specifies the SPAN session number (1 through
{session_number} {source {interface 16), the source interfaces (FastEthernet or
<interface_list> | {vlan vlan_IDs | cpu
[queue queue_ids] } [rx | tx | both]
GigabitEthernet), VLANs (1 through 4094),
whether traffic received or sent from the CPU is
copied to the session destination, and the traffic
direction to be monitored.
For session_number, specifies the session number
identified with this session (1 through 16).
For interface-list, specifies the source port to
monitor. Valid interfaces include physical
interfaces and port-channel logical interfaces
(port-channel port-channel-number).
For vlan_IDs, specifies the source VLAN.
For queue_ids, specifies the queue(s) involved.
(Optional) [, | -] Specifies a series or range of
interfaces. Enter a space after the comma; enter a
space before and after the hyphen.
(Optional) Specifies the direction of traffic to
monitor. If you do not specify a traffic direction,
the source interface sends both transmitted (Tx)
and received (Rx) traffic. Only received traffic
can be monitored on additional source ports.
• Rx—Monitor received traffic.
• Tx—Monitor transmitted traffic.
• both—Monitor both received and transmitted
traffic (bidirectional).
Queues may be identified either by number or by
name. Queue names may subsume multiple
numbered queues for convenience.
Use the no keyword to restore the defaults.
This example shows how to configure SPAN session 1 to monitor bidirectional traffic from source
interface Fast Ethernet 5/1:
Switch(config)# monitor session 1 source interface fastethernet 5/1
This example shows how to configure sources with differing directions within a SPAN session:
Switch(config)# monitor session 1 source interface fa2/3 rx
Switch(config)# monitor session 1 source interface fa2/2 tx
Switch(config)#
Command Purpose
Switch(config)# [no] monitor session Specifies the SPAN session number (1
<session_number> destination interface through 16) and the destination interfaces or
<interface> [encapsulation dot1q] [ingress
[vlan vlan_IDs] [learning}]
VLANs.
For session_number, specifies the session
number identified with this session
(1 through 16).
For interface, specifies the destination
interface.
For vlan_IDs, specifies the destination VLAN.
Use the no keyword to restore the defaults.
This example shows how to configure interface Fast Ethernet 5/48 as the destination for SPAN session 1:
Switch(config)# monitor session 1 destination interface fastethernet 5/48
Command Purpose
Switch(config)# [no] monitor session Monitors specific VLANs when the SPAN source is a
{session_number} filter {vlan vlan_IDs trunk interface. The filter keyword restricts
[, | - ]} | {packet-type {good |
bad}} | {address-type {unicast |
monitoring to traffic that is on the specified VLANs;
multicast | broadcast} [rx | tx | it is typically used when monitoring a trunk interface.
both]}
For session_number, specifies the session number
identified with this session (1 through 16).
For vlan_IDs, specifies the VLAN.
Monitoring is established through all the ports in the
specified VLANs
Use the no keyword to restore the defaults.
This example shows how to monitor VLANs 1 through 5 and VLAN 9 when the SPAN source is a trunk
interface:
Switch(config)# monitor session 2 filter vlan 1 - 5 , 9
Configuration Scenario
This example shows how to use the commands described in this chapter to completely configure and
unconfigure a span session. Assume that you want to monitor bidirectional traffic from source interfaces
Fast Ethernet 4/10, 4/11 and 4/12, Interface 4/10 is configured as a trunk interface carrying VLANs 1
through 4094. Interface Fast Ethernet 4/11 is configured as an access port in VLAN 57 and interface Fast
Ethernet 4/12 is configured as an access port in VLAN 58. You want to monitor only traffic in VLAN
57 in that session. Using Fast Ethernet 4/15 as your destination interface, you would enter the following
commands:
Switch(config)# monitor session 1 source interface fastethernet 4/10 - 12
Switch(config)# monitor session 1 filter vlan 57
Switch(config)# monitor session 1 destination interface fastethernet 4/15
You are now monitoring traffic from interface Fast Ethernet 4/10 that is on VLAN 57 out of interface
FastEthernet 4/15. To disable the span session enter the following command:
Switch(config)# no monitor session 1
Command Purpose
Switch(config)# [no] monitor session Specifies that the CPU causes traffic received by
{session_number} {source {interface or sent from the CPU to be copied to the
interface_list | {vlan vlan_IDs | cpu
[queue queue_ids] } [rx | tx | both]
destination of the session. The queue identifier
optionally allows sniffing-only traffic (received)
on the specified CPU queue(s).
For session_number, specifies the session number
identified with this SPAN session (1 through 16).
For interface-list, specifies the source port to
monitor. Valid interfaces include physical
interfaces and port-channel logical interfaces
(port-channel port-channel-number).
For vlan_IDs, specifies the source VLAN.
For queue_ids, specifies the queue(s) involved.
(Optional) [, | -] Specifies a series or range of
interfaces. Enter a space after the comma; enter a
space before and after the hyphen.
(Optional) Specifies the direction of traffic to
monitor. If you do not specify a traffic direction,
the source interface sends both transmitted (Tx)
and received (Rx) traffic. Only received traffic
can be monitored on additional source ports.
• Rx—Monitor received traffic.
• Tx—Monitor transmitted traffic.
• both—Monitor both received and transmitted
traffic (bidirectional).
Queues may be identified either by number or by
name. Queue names may subsume multiple
numbered queues for convenience.
Use the no keyword to restore the defaults.
This example shows how to configure a CPU source to sniff all packets received by the CPU:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# monitor session 1 source cpu rx
This example shows how to use queue names and queue number ranges for the CPU as a SPAN source:
Switch(config)# monitor session 2 source cpu queue control-packet rx
Switch(config)# monitor session 3 source cpu queue 10 rx
Encapsulation Configuration
When configuring a SPAN destination port, you can explicitly enable the encapsulation option. Packets
exiting the port are tagged with 802.1q encapsulation. The encapsulation mode also controls how tagged
packets are handled when the ingress packet option is enabled.
The replicate encapsulation type (in which packets are transmitted from the destination port using
whatever encapsulation applied to the original packet) is not supported. If no encapsulation mode is
specified, the port default is untagged. To view the task of configuring encapsulation, see the command
table below.
Ingress Packets
When ingress is enabled, the SPAN destination port accepts incoming packets (potentially tagged
depending on the encapsulation option) and switches them normally. When configuring a SPAN
destination port, you can specify whether the ingress feature is enabled and what VLAN to use to switch
untagged ingress packets. Although the port is STP forwarding, it does not participate in the STP, so use
caution when configuring this feature lest a spanning-tree loop be introduced in the network. When both
ingress and a trunk encapsulation are specified on a SPAN destination port, the port goes forwarding in
all active VLANs. Configuring a non-existent VLAN as an ingress VLAN is not allowed.
By default, host learning is disabled on SPAN destination ports with ingress enabled. The port is also
removed from VLAN floodsets, so regular traffic is not switched out of the destination port. If learning
is enabled, however, then traffic for hosts learned on the destination port is switched out the destination
port. A host connected to SPAN destination port will not receive broadcast ARP request and so will not
respond. It is also possible to configure static host entries (including a static ARP entry and a static entry
in the MAC-address table) on SPAN destination ports.
Note This configuration does not work if the SPAN session does not have a source configured; the session is
half configured with only the SPAN destination port.
Command Purpose
Switch(config)# [no] monitor session Specifies the configuration of the ingress
<session_number> destination interface packet and the encapsulation of the destination
<interface> [encapsulation dot1q] [ingress
[vlan vlan_IDs] [learning]]
port.
For session_number, specifies the session
number identified with this SPAN session (1
through 16).
For interface, specifies the destination
interface.
For vlan_IDs, specifies the destination VLAN.
Use the no keyword to restore the defaults.
This example shows how to configure a destination port with 802.1q encapsulation and ingress packets
using native VLAN 7:
With this configuration, traffic from SPAN sources associated with session 1 would be copied out of
interface Fast Ethernet 5/48, with 802.1q encapsulation. Incoming traffic would be accepted and
switched, with untagged packets being classified into VLAN 7.
Command Purpose
Switch(config)# [no] monitor session Specifies filter sniffing based on the access list.
{session_number} filter {ip access-group
[name | id] }{vlan vlan_IDs [, | - ] } | For session_number, specify the session number
{packet-type {good | bad}} | identified with this SPAN session (1 through 16).
{address-type {unicast | multicast |
broadcast} [rx | tx | both]} You can specify either a name or a numeric ID for the
access list.
For name, specify the IP access list name.
For id, specify a standard <1 to 199> or extended
<1300-2699> IP access list.
Note IP access lists must be created in configuration mode as described in the chapter “Configuring Network
Security with ACLs.”
This example shows how to configure IP access group 10 on a SPAN session and verify that an access
list has been configured:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# monitor session 1 source interface fa6/1 both
Switch(config)# monitor session 1 destination interface fa6/2
Switch(config)# monitor session 1 filter vlan 1
Switch(config)# monitor session 1 filter ip access-group 10
Switch(config)# exit
Switch# show monitor
Session 1
---------
Type : Local Session
Source Ports :
Both : Fa6/1
Destination Ports : Fa6/2
Encapsulation : Native
Ingress : Disabled
Learning : Disabled
Filter VLANs : 1
IP Access-group : 10
There are two categories of packet filtering: packet-based (good, error) or address-based
(unicast/multicast/broadcast). Packet-based filters can only be applied in the ingress direction. Packets
are classified as broadcast, multicast, or unicast by the hardware based on the destination address.
Note When filters of both types are configured, only packets that pass both filters are spanned. For example,
if you set both “error” and “multicast,” only multicast packets with errors are spanned.
Command Purpose
Switch(config)# [no] monitor session Specifies filter sniffing of the specified packet types in
{session_number} filter {vlan vlan_IDs the specified directions.
[, | - ] } | {packet-type {good | bad}}
| {address-type {unicast | multicast | For session_number, specifies the session number
broadcast} [rx | tx | both]} identified with this SPAN session (1 through 6).
For vlan_IDs, specifies the VLAN.
You can specify both Rx and Tx type filters, as well as
specify multiple type filters at the same time (such as
good and unicast to only sniff non-error unicast
frames). As with VLAN filters, if no type or filter is
specified, then the session sniffs all packet types.
Use the no keyword to restore the defaults.
This example shows how to configure a session to accept only unicast packets in the ingress direction:
Switch(config)# monitor session 1 filter address-type unicast rx
Configuration Example
The following is an example of SPAN configuration using some of the SPAN enhancements.
In the example below, you configure a session to sniff unicast traffic arriving on interface Gi1/1. The
traffic is mirrored out of interface Gi1/2 with dot1q encapsulation. Ingress traffic is permitted.
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# monitor session 1 source interface gi1/1 rx
Switch(config)# monitor session 1 destination interface gi1/2 encapsulation dot1q ingress
Switch(config)# monitor session 1 filter address-type unicast rx
Switch(config)# exit
Switch# show monitor
Session 1
---------
Type : Local Session
Source Ports :
RX Only : Gi1/1
Destination Ports : Gi1/2
Encapsulation : DOT1q
Ingress : Enabled
Learning : Disabled
Filter Addr Type :
RX Only : Unicast
Configuring RSPAN
This section describes how to configure RSPAN on your switch and it contains this configuration
information:
• RSPAN Configuration Guidelines, page 46-16
• Creating an RSPAN Session, page 46-17
• Creating an RSPAN Destination Session, page 46-18
• Creating an RSPAN Destination Session and Enabling Ingress Traffic, page 46-19
• Removing Ports from an RSPAN Session, page 46-21
• Specifying VLANs to Monitor, page 46-22
• Specifying VLANs to Filter, page 46-23
Note Since RSPAN VLANs have special properties, you should reserve a few VLANs across your network
for use as RSPAN VLANs; do not assign access ports to these VLANs.
Note You can apply an output access control list (ACL) to RSPAN traffic to selectively filter or monitor
specific packets. Specify these ACLs on the RSPAN VLAN in the RSPAN source switches.
• RSPAN sessions can coexist with SPAN sessions within the limits described in the “SPAN and
RSPAN Session Limits” section on page 46-6.
• For RSPAN configuration, you can distribute the source ports and the destination ports across
multiple switches in your network.
• RSPAN does not support BPDU packet monitoring or other Layer 2 switch protocols.
• The RSPAN VLAN is configured only on trunk ports and not on access ports. To avoid unwanted
traffic in RSPAN VLANs, make sure that all participating switches support the VLAN remote-span
feature. Access ports on the RSPAN VLAN are silently disabled.
• You should create an RSPAN VLAN before configuring an RSPAN source or destination session.
• If you enable VTP and VTP pruning, RSPAN traffic is pruned in the trunks to prevent the unwanted
flooding of RSPAN traffic across the network for VLAN-IDs that are lower than 1005.
• Because RSPAN traffic is carried across a network on an RSPAN VLAN, the original VLAN
association of the mirrored packets is lost. Therefore, RSPAN can only support forwarding of traffic
from an IDS device onto a single user-specified VLAN.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# no monitor session Clears any existing RSPAN configuration for the session.
{session_number | all | local | remote}
For session_number, specifies the session number identified with
this RSPAN session (1 through 16).
Specifies all to remove all RSPAN sessions, local to remove all local
sessions, or remote to remove all remote SPAN sessions.
Step 3 Switch(config)# vlan {remote_vlan_ID} Specifies a remote VLAN ID.
Ensure that the VLAN ID is not being used for any user traffic.
Step 4 Switch(config-vlan)# remote-span Converts the VLAN ID to a remote VLAN ID.
Step 5 Switch(config-vlan)# exit Returns to global configuration mode.
Step 6 Switch(config)# [no] monitor session Specifies the RSPAN session and the source port (monitored port).
{session_number} {source {interface
<interface_list> | {vlan vlan_IDs | cpu For session_number, specifies the session number identified with
[queue queue_ids]} [rx | tx | both] this RSPAN session (1 through 16).
For interface-list, specifies the source port to monitor. Valid
interfaces include physical interfaces and port-channel logical
interfaces (port-channel port-channel-number).
For vlan-IDs, specifies the source VLAN or VLANs to monitor.
Valid VLANs are in the range from 1 to 4094.
For queue_ids, specifies either a set of CPU queue numerical
identifiers from 1 to 32, or a named queue.
(Optional) [, | -] Specifies a series or range of interfaces. Enter a
space after the comma; enter a space before and after the hyphen.
(Optional) Specifies the direction of traffic to monitor. If you do not
specify a traffic direction, the source interface sends both transmitted
(Tx) and received (Rx) traffic. Only received traffic can be
monitored on additional source ports.
• Rx—Monitor received traffic.
• Tx—Monitor transmitted traffic.
• both—Monitor both received and transmitted traffic
(bidirectional).
Command Purpose
Step 7 Switch(config)# monitor session Specifies the RSPAN session and the destination remote VLAN.
session_number destination remote vlan
vlan-ID For session_number, specifies the session number identified with
this RSPAN session (1 through 16).
For vlan-ID, specifies the RSPAN VLAN to carry the monitored
traffic to the destination port.
Step 8 Switch(config)# end Returns to privileged EXEC mode.
Step 9 Switch# show monitor [session Verifies your entries.
session_number]
Step 10 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to clear any existing RSPAN configuration for session 1, configure RSPAN
session 1 to monitor multiple source interfaces, and configure the destination RSPAN VLAN.
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# no monitor session 1
Switch(config)# monitor session 1 source interface fastEthernet3/10 tx
Switch(config)# monitor session 1 source interface fastEthernet3/2 rx
Switch(config)# monitor session 1 source interface fastEthernet3/3 rx
Switch(config)# monitor session 1 source interface port-channel 102 rx
Switch(config)# monitor session 1 destination remote vlan 901
Switch(config)# end
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# monitor session Specifies the RSPAN session and the source RSPAN VLAN.
session_number source remote vlan
vlan-ID For session_number, specifies the session number identified with
this RSPAN session (1 through 16).
For vlan-ID, specifies the source RSPAN VLAN to monitor.
Command Purpose
Step 3 Switch(config)# [no] monitor session Specifies the RSPAN session and the destination interface.
<session_number> destination interface
<interface> [encapsulation dot1q] For session_number, specifies the session number identified with
[ingress [vlan vlan_IDs] [learning]] this RSPAN session (1 through 16).
For interface, specifies the destination interface.
For vlan_IDs, specifies the ingress VLAN, if necessary.
(Optional) [, | -] Specifies a series or range of interfaces. Enter a
space after the comma; enter a space before and after the hyphen.
(Optional) Specifies the direction of traffic to monitor. If you do not
specify a traffic direction, the source interface sends both sent and
received traffic. Only received (rx) traffic can be monitored on
additional source ports.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# show monitor [session Verifies your entries.
session_number]
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to configure VLAN 901 as the source remote VLAN and port 5 as the
destination interface:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# monitor session 1 source remote vlan 901
Switch(config)# monitor session 1 destination interface gigabitEthernet1/2
Switch(config)# end
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# monitor session Specifies the RSPAN session and the source RSPAN VLAN.
{session_number} source vlan vlan_IDs
For session_number, specifies the session number identified with
this RSPAN session (1 through 16).
For vlan_IDs, specifies the source VLAN or VLANs to monitor.
Valid VLANs are in the range from 1 to 4094.
Command Purpose
Step 3 Switch(config)# [monitor session Specifies the RSPAN session, the destination port, the packet
session_number destination interface encapsulation, and the ingress VLAN.
interface-id [encapsulation dot1q]
ingress vlan vlan id] [learning]] For session_number, specifies the session number identified with
this RSPAN session (1 through 16).
For interface-id, specifies the destination port. Valid interfaces
include physical interfaces.
(Optional) Specifies the encapsulation of the packets transmitted on
the RSPAN destination port. If no encapsulation is specified, all
transmitted packets are sent in native format (untagged).
• Enter encapsulation dot1q to send native VLAN packets
untagged, and all other VLAN tx packets tagged dot1q.
(Optional) Specifies whether forwarding is enabled for ingress
traffic on the RSPAN destination port.
• For native (untagged) and dot1q encapsulation, specify ingress
vlan vlan id to enable ingress forwarding with vlan id as the
native VLAN; vlan id is also used as the native VLAN for
transmitted packets.
• Specify learning to enable learning when ingress is enabled.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# show monitor [session Verifies your entries.
session_number]
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to configure VLAN 901 as the source remote VLAN and how to configure the
destination port for ingress traffic on VLAN 5 by using a security device that supports 802.1Q
encapsulation:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# monitor session 1 source remote vlan 901
Switch(config)# monitor session 1 destination interface gigabitEthernet1/2 ingress vlan 5
Switch(config)# end
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] monitor session Specifies the characteristics of the RSPAN source port (monitored
{session_number} {source {interface port) to remove.
interface_list | {vlan vlan_IDs | cpu
[queue queue_ids]} [rx | tx | both] For session_number, specifies the session number identified with
this RSPAN session (1 through 16).
For interface-list, specifies the source port to no longer monitor.
Valid interfaces include physical interfaces and port-channel
logical interfaces (port-channel port-channel-number).
For vlan_IDs, specifies the source vlan or vlans to monitor. Valid
VLANs are in the range from 1 to 4094.
For queue_ids, specifies either a set of CPU queue numerical
identifiers from 1 to 32, or a named queue.
(Optional) [, | -] Specifies a series or range of interfaces. Enter a
space after the comma; enter a space before and after the hyphen.
(Optional) Specifies the direction of traffic to monitor. If you do
not specify a traffic direction, the source interface sends both
transmitted (Tx) and received (Rx) traffic. Only received traffic
can be monitored on additional source ports.
• Rx—Monitor received traffic.
• Tx—Monitor transmitted traffic.
• both—Monitor both received and transmitted traffic
(bidirectional).
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show monitor [session Verifies your entries.
session_number]
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
This example shows how to remove port 1 as an RSPAN source for RSPAN session 1:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# no monitor session 1 source interface gigabitEthernet1/1
Switch(config)# end
This example shows how to disable received traffic monitoring on port 1, which was configured for
bidirectional monitoring:
Switch(config)# no monitor session 1 source interface gigabitEthernet1/1 rx
The monitoring of traffic received on port 1 is disabled, but traffic transmitted from this port continues
to be monitored.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# no monitor session Clears any existing SPAN configuration for the session.
{session_number | all | local |
remote} For session_number, specifies the session number identified with this
RSPAN session (1 through 16).
Specify all to remove all SPAN sessions, local to remove all local
sessions, or remote to remove all remote SPAN sessions.
Step 3 Switch(config)# [no] monitor session Specifies the RSPAN session and the source VLANs (monitored
{session_number} {source {interface VLANs). You can monitor only received (rx) traffic on VLANs.
interface_list | {vlan vlan_IDs | cpu
[queue queue_ids]} [rx | tx | both] For session_number, specifies the session number identified with this
RSPAN session (1 through 16).
For interface-list, specifies the source port to no longer monitor. Valid
interfaces include physical interfaces and port-channel logical
interfaces (port-channel port-channel-number).
For vlan-IDs, the range is 1 to 4094; do not enter leading zeros.
For queue_ids, specifies the source queue.
(Optional) [, | -] Specifies a series or range of interfaces. Enter a space
after the comma; enter a space before and after the hyphen.
(Optional) Specifies the direction of traffic to monitor. If you do not
specify a traffic direction, the source interface sends both transmitted
(Tx) and received (Rx) traffic. Only received traffic can be monitored
on additional source ports.
• Rx—Monitor received traffic.
• Tx—Monitor transmitted traffic.
• both—Monitor both received and transmitted traffic
(bidirectional).
Step 4 Switch(config)# monitor session Specifies the RSPAN session, the destination remote VLAN.
session_number destination remote
vlan vlan-id For session_number, specifies the session number identified with this
RSPAN session (1 through 16).
For vlan-id, specifies the RSPAN VLAN to carry the monitored traffic
to the destination port.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch# show monitor [session Verifies your entries.
session_number]
Step 7 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To remove one or more source VLANs from the RSPAN session, use the no monitor session
session_number source vlan vlan-id rx global configuration command.
This example shows how to clear any existing configuration on RSPAN session 2, configure RSPAN
session 2 to monitor received traffic on all ports belonging to VLANs 1 through 3, and send it to
destination remote VLAN 902. The configuration is then modified to also monitor received traffic on all
ports belonging to VLAN 10.
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# no monitor session 2
Switch(config)# monitor session 2 source vlan 1 - 3 rx
Switch(config)# monitor session 2 destination remote vlan 902
Switch(config)# monitor session 2 source vlan 10 rx
Switch(config)# end
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# no monitor session Clears any existing SPAN configuration for the session.
{session_number | all | local |
remote} For session_number, specifies the session number identified with this
RSPAN session (1 through 16).
Specify all to remove all SPAN sessions, local to remove all local
sessions, or remote to remove all remote SPAN sessions.
Step 3 Switch(config)# [no] monitor session Specifies the characteristics of the source port (monitored port) and
{session_number} {source {interface RSPAN session.
interface_list | {vlan vlan_IDs | cpu
[queue queue_ids]} [rx | tx | both] For session_number, specifies the session number identified with this
RSPAN session (1 through 16).
For interface-list, specifies the source port to monitor. The interface
specified must already be configured as a trunk port.
For vlan-IDs, the range is 1 to 4094; do not enter leading zeros.
For queue_ids, specifies the source queue.
(Optional) [, | -] Specifies a series or range of interfaces. Enter a space
after the comma; enter a space before and after the hyphen.
(Optional) Specifies the direction of traffic to monitor. If you do not
specify a traffic direction, the source interface sends both transmitted
(Tx) and received (Rx) traffic. Only received traffic can be monitored
on additional source ports.
• Rx—Monitor received traffic.
• Tx—Monitor transmitted traffic.
• both—Monitor both received and transmitted traffic
(bidirectional).
Command Purpose
Step 4 Switch(config)# monitor session Limits the RSPAN source traffic to specific VLANs.
session_number filter vlan vlan-id [,
| -] For session_number, specifies the session number identified with this
RSPAN session (1 through 16).
For vlan-id, the range is 1 to 4094; do not enter leading zeros.
(Optional) Use a comma (,) to specify a series of VLANs or use a
hyphen (-) to specify a range of VLANs. Enter a space after the
comma; enter a space before and after the hyphen.
Step 5 Switch(config)# monitor session Specifies the RSPAN session, the destination remote VLAN.
session_number destination remote vlan
vlan-id For session_number, specifies the session number identified with this
RSPAN session (1 through 16).
For vlan-id, specifies the RSPAN VLAN to carry the monitored traffic
to the destination port.
Step 6 Switch(config)# end Returns to privileged EXEC mode.
Step 7 Switch# show monitor [session Verifies your entries.
session_number]
Step 8 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To monitor all VLANs on the trunk port, use the no monitor session session_number filter vlan global
configuration command.
This example shows how to clear any existing configuration on RSPAN session 2, configure RSPAN
session 2 to monitor traffic received on trunk port 4, and send traffic for only VLANs 1 through 5 and 9
to destination remote VLAN 902.
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# no monitor session 2
Switch(config)# monitor session 2 source interface gigabitethernet1/1 rx
Switch(config)# monitor session 2 filter vlan 1 - 5 , 9
Switch(config)# monitor session 2 destination remote vlan 902
Switch(config)# end
Source VLANs:
RX Only: None
TX Only: None
Both: None
Source RSPAN VLAN: None
Destination Ports: None
Encapsulation: DOT1Q
Ingress:Enabled, default VLAN=5
Filter VLANs: None
Dest RSPAN VLAN: None
Ingress : Enabled, default VLAN=2
Learning : Disabled
This chapter describes how to configure system message logging on the Catalyst 4500 series switch.
This chapter consists of these sections:
• About System Message Logging, page 47-1
• Configuring System Message Logging, page 47-2
• Displaying the Logging Configuration, page 47-12
Note For complete syntax and usage information for the commands used in this chapter, see the
Cisco IOS Configuration Fundamentals Command Reference
http://www.cisco.com/en/US/docs/ios/fundamentals/command/reference/cf_book.html
http://www.cisco.com/en/US/products/ps6350/index.html
When the logging process is disabled, messages are sent only to the console. The messages are sent as
they are generated, so message and debug output are interspersed with prompts or output from other
commands. Messages are displayed on the console after the process that generated them has finished.
You can set the severity level of the messages to control the type of messages displayed on the consoles
and each of the destinations. You can time-stamp log messages or set the syslog source address to
enhance real-time debugging and management. For information on possible messages, see the system
message guide for this release.
You can access logged system messages by using the switch command-line interface (CLI) or by saving
them to a properly configured syslog server. The switch software saves syslog messages in an internal
buffer on the switchIf the switchfails, the log is lost unless you had saved it to flash memory.
You can remotely monitor system messages by viewing the logs on a syslog server or by accessing the
switch through Telnet or through the console port.
Element Description
seq no: Stamps log messages with a sequence number only if the service sequence-numbers global
configuration command is configured.
For more information, see the “Enabling and Disabling Sequence Numbers in Log Messages
(Optional)” section on page 47-7.
timestamp formats: Date and time of the message or event. This information appears only if the service timestamps
log [datetime | log] global configuration command is configured.
mm/dd hh:mm:ss
For more information, see the “Enabling and Disabling Timestamps on Log Messages” section on
or
page 47-7.
hh:mm:ss (short uptime)
or
d h (long uptime)
facility The facility to which the message refers (for example, SNMP, SYS, and so forth). For a list of
supported facilities, see Table 47-4 on page 47-12.
severity Single-digit code from 0 to 7 that is the severity of the message. For a description of the severity
levels, see Table 47-3 on page 47-9.
MNEMONIC Text string that uniquely describes the message.
description Text string containing detailed information about the event being reported.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# no logging on Disables message logging.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show running-config Verifies your entries.
or
show logging
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Disabling the logging process can slow down the switch because a process must wait until the messages
are written to the console before continuing. When the logging process is disabled, messages are
displayed on the console as soon as they are produced, often appearing in the middle of command output.
The logging synchronous global configuration command also affects the display of messages to the
console. When this command is enabled, messages appear only after you press Return. For more
information, see the “Synchronizing Log Messages” section on page 47-6.
To re-enable message logging after it has been disabled, use the logging on global configuration
command.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# logging buffered Logs messages to an internal buffer on the switch. The default buffer size
[size] is 4096. The range is 4096 to 2147483647 bytes.
If the switch, the log file is lost unless you previously saved it to flash
memory. See Step 4.
Note Do not make the buffer size too large because the switch could run
out of memory for other tasks. Use the show memory privileged
EXEC command to view the free processor memory on the switch.
However, this value is the maximum available, and the buffer size
should not be set to this amount.
Step 3 Switch(config)# logging host Logs messages to a UNIX syslog server host.
For host, specify the name or IP address of the host to be used as the
syslog server.
To build a list of syslog servers that receive logging messages, enter this
command more than once.
For complete syslog server configuration steps, see the “Configuring
UNIX Syslog Servers” section on page 47-10.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# terminal monitor Logs messages to a nonconsole terminal during the current session.
Terminal parameter-setting commands are set locally and do not remain
in effect after the session has ended. You must perform this step for each
session to see the debugging messages.
Step 6 Switch# show running-config Verifies your entries.
Step 7 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
The logging buffered global configuration command copies logging messages to an internal buffer. The
buffer is circular, so newer messages overwrite older messages after the buffer is full. To display the
messages that are logged in the buffer, use the show logging privileged EXEC command. The first
message displayed is the oldest message in the buffer. To clear the contents of the buffer, use the
clear logging privileged EXEC command.
To disable logging to the console, use the no logging console global configuration command. To disable
logging to a file, use the no logging file [severity-level-number | type] global configuration command.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# line [console | vty] Specifies the line to be configured for synchronous logging of
line-number [ending-line-number] messages.
• Use the console keyword for configurations that occur through
the switch console port.
• Use the line vty line-number command to specify which vty
lines are to have synchronous logging enabled. You use a vty
connection for configurations that occur through a Telnet
session. The range of line numbers is from 0 to 15.
You can change the setting of all 16 vty lines at once by entering:
line vty 0 15
Or you can change the setting of the single vty line being used for
your current connection. For example, to change the setting for vty
line 2, enter:
line vty 2
When you enter this command, the mode changes to line
configuration.
Step 3 Switch(config)# logging synchronous Enables synchronous logging of messages.
[level [severity-level | all] | limit
number-of-buffers] • (Optional) For level severity-level, specify the message severity
level. Messages with a severity level equal to or higher than this
value are printed asynchronously. Low numbers mean greater
severity and high numbers mean lesser severity. The default is 2.
• (Optional) Specifying level all means that all messages are
printed asynchronously regardless of the severity level.
• (Optional) For limit number-of-buffers, specify the number of
buffers to be queued for the terminal after which new messages
are dropped. The range is 0 to 2147483647. The default is 20.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Command Purpose
Step 5 Switch# show running-config Verifies your entries.
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# service timestamps log uptime Enables log time-stamps.
or
Switch(config)# service timestamps log The first command enables time-stamps on log messages,
datetime [msec] [localtime] [show-timezone] showing the time since the system was rebooted.
The second command enables time-stamps on log messages.
Depending on the options selected, the timestamp can
include the date, time in milliseconds relative to the local
time zone, and the time zone name.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show running-config Verifies your entries.
Step 5 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
To disable time-stamps for both debug and log messages, use the no service timestamps global
configuration command.
This example shows part of a logging display with the service timestamps log datetime global
configuration command enabled:
*Mar 1 18:46:11: %SYS-5-CONFIG_I: Configured from console by vty2 (10.34.195.36)
This example shows part of a logging display with the service timestamps log uptime global
configuration command enabled:
00:00:46: %LINK-3-UPDOWN: Interface Port-channel1, changed state to up
To enable sequence numbers in log messages, perform this task, which is optional.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# service Enables sequence numbers.
sequence-numbers
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show running-config Verifies your entries.
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To disable sequence numbers, use the no service sequence-numbers global configuration command.
This example shows part of a logging display with sequence numbers enabled:
000019: %SYS-5-CONFIG_I: Configured from console by vty2 (10.34.195.36)
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# logging console level Limits messages logged to the console.
By default, the console receives debugging messages and
numerically lower levels (see Table 47-3 on page 47-9).
Step 3 Switch(config)# logging monitor level Limits messages logged to the terminal lines.
By default, the terminal receives debugging messages and
numerically lower levels (see Table 47-3 on page 47-9).
Step 4 Switch(config)# logging trap level Limits messages logged to the syslog servers.
By default, syslog servers receive informational messages and
numerically lower levels (see Table 47-3 on page 47-9).
For complete syslog server configuration steps, see the
“Configuring UNIX Syslog Servers” section on page 47-10.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch# show running-config Verifies your entries.
or
Switch# show logging
Step 7 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
Note Specifying a level causes messages at that level and numerically lower levels to be displayed at the
destination.
To disable logging to the console, use the no logging console global configuration command. To disable
logging to a terminal other than the console, use the no logging monitor global configuration command.
To disable logging to syslog servers, use the no logging trap global configuration command.
Table 47-3 describes the level keywords. It also lists the corresponding UNIX syslog definitions from
the most severe level to the least severe level.
Limiting Syslog Messages Sent to the History Table and to SNMP (Optional)
If you enabled syslog message traps to be sent to an SNMP network management station by using the
snmp-server enable trap global configuration command, you can change the level of messages sent and
stored in the switch history table. You also can change the number of messages that are stored in the
history table.
Messages are stored in the history table because SNMP traps are not guaranteed to reach their
destination. By default, one message of the level warning and numerically lower levels (see Table 47-3
on page 47-9) are stored in the history table even if syslog traps are not enabled.
To change the level and history table size defaults, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
1
Step 2 Switch(config)# logging history level Changes the default level of syslog messages stored in
the history file and sent to the SNMP server.
See Table 47-3 on page 47-9 for a list of level
keywords.
By default, warnings, errors, critical, alerts, and
emergencies messages are sent.
Step 3 Switch(config)# logging history size number Specifies the number of syslog messages that can be
stored in the history table.
The default is to store one message. The range is 0 to
500 messages.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# show running-config Verifies your entries.
Step 6 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
1. Table 47-3 lists the level keywords and severity level. For SNMP usage, the severity level values increase by 1. For example, emergencies
equal 1, not 0, and critical equals 3, not 2.
When the history table is full (it contains the maximum number of message entries specified with the
logging history size global configuration command), the oldest message entry is deleted from the table
to allow the new message entry to be stored.
To return the logging of syslog messages to the default level, use the no logging history global
configuration command. To return the number of messages in the history table to the default value, use
the no logging history size global configuration command.
Note Some recent versions of UNIX syslog daemons no longer accept by default syslog packets from the
network. If this is the case with your system, use the UNIX man syslogd command to decide what
options must be added to or removed from the syslog command line to enable logging of remote syslog
messages.
The local7 keyword specifies the logging facility to be used; see Table 47-4 on page 47-12 for
information on the facilities. The debug keyword specifies the syslog level; see Table 47-3 on page 47-9
for information on the severity levels. The syslog daemon sends messages at this level or at a more severe
level to the file specified in the next field. The file must already exist, and the syslog daemon must have
permission to write to it.
Step 2 Create the log file by entering these commands at the UNIX shell prompt:
$ touch /var/log/cisco.log
$ chmod 666 /var/log/cisco.log
Step 3 Ensure that the syslog daemon reads the new changes:
$ kill -HUP `cat /etc/syslog.pid`
For more information, see the man syslog.conf and man syslogd commands on your UNIX system.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# logging host Logs messages to a UNIX syslog server host by
entering its IP address.
To build a list of syslog servers that receive logging
messages, enter this command more than once.
Step 3 Switch(config)# logging trap level Limits messages logged to the syslog servers.
Be default, syslog servers receive informational
messages and lower. See Table 47-3 on page 47-9 for
level keywords.
Step 4 Switch(config)# logging facility facility-type Configures the syslog facility. See Table 47-4 on
page 47-12 for facility-type keywords.
The default is local7.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch# show running-config Verifies your entries.
Step 7 Switch# copy running-config startup-config (Optional) Saves your entries in the configuration file.
To remove a syslog server, use the no logging host global configuration command, and specify the syslog
server IP address. To disable logging to syslog servers, enter the no logging trap global configuration
command.
Table 47-4 lists the UNIX system facilities supported by the software. For more information about these
facilities, consult the operator’s manual for your UNIX operating system.
Note For complete syntax and usage information for the commands used in this chapter, see these
publications:
http://www.cisco.com/en/US/products/ps11845/prod_command_reference_list.html
Note For complete syntax and usage information for the switch commands used in this chapter, first look at
the Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products//hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Series Switch Command Reference, it will be found in
the larger Cisco IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference
and related publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Overview of OBFL
The Onboard Failure Logging (OBFL) feature collects data such as operating temperatures, hardware
uptime, interrupts, and other important events and messages from system hardware installed in a Cisco
router or switch. The data is stored in nonvolatile memory and helps technical personnel diagnose
hardware problems.
recorded in one of two formats: continuous information that displays a snapshot of measurements and
samples in a continuous file, and summary information that provides details about the data being
collected. The data is displayed using the show logging onboard command. The message “No historical
data to display” is seen when historical data is not available.
Temperature
Temperatures surrounding hardware modules can exceed recommended safe operating ranges and cause
system problems such as packet drops. Higher than recommended operating temperatures can also
accelerate component degradation and affect device reliability. Monitoring temperatures is important for
maintaining environmental control and system reliability. Once a temperature sample is logged, the
sample becomes the base value for the next record. From that point on, temperatures are recorded either
when there are changes from the previous record or if the maximum storage time is exceeded.
Temperatures are measured and recorded in degrees Celsius.
Temperature Example
Switch# sh logging onboard temperature
--------------------------------------------------------------------------------
TEMPERATURE SUMMARY INFORMATION
--------------------------------------------------------------------------------
Number of sensors : 7
Sampling frequency : 1 minutes
Maximum time of storage : 10 minutes
--------------------------------------------------------------------------------
Sensor | ID | Maximum Temperature 0C
--------------------------------------------------------------------------------
Stub A 0 43
Stub B 1 37
XPP 2 51
VFE 3 61
NFE 4 50
CPU 5 55
FPGA 6 44
--------------------------------------
Temp Sensor ID
0C 1 2 3 4 5 6 7
--------------------------------------
1 9y 9y 9y 9y 9y 9y 9y
15 0m 71h 0m 0m 0m 0m 0m
16 0m 183h 0m 0m 0m 0m 0m
--------------------------------------
Temp Sensor ID
0C 1 2 3 4 5 6 7
--------------------------------------
17 0m 142m 0m 0m 0m 0m 0m
18 0m 190m 0m 0m 0m 0m 0m
19 0m 30m 0m 0m 0m 0m 0m
20 113h 0m 0m 0m 0m 0m 0m
21 37h 0m 0m 0m 0m 0m 101h
22 107h 0m 0m 0m 0m 0m 106h
23 110m 12m 0m 0m 0m 0m 47h
24 10m 122m 0m 0m 0m 0m 182m
25 0m 0m 0m 0m 0m 0m 120m
26 0m 56h 0m 0m 0m 0m 30m
27 0m 368h 0m 0m 0m 0m 0m
28 0m 8y 0m 0m 0m 0m 0m
29 134m 8y 0m 0m 139h 0m 0m
30 0m 682h 83h 0m 116h 0m 0m
31 90m 738h 31h 0m 200m 0m 95m
Switch#
Operational Uptime
The operational uptime tracking begins when the module is powered on, and information is retained for
the life of the module.
--------------------------------------------------------------------------------
UPTIME CONTINUOUS INFORMATION
--------------------------------------------------------------------------------
Time Stamp | Reset | Uptime
MM/DD/YYYY HH:MM:SS | Reason | years weeks days hours minutes
--------------------------------------------------------------------------------
04/13/2010 19:45:08 0x0 0 0 0 0 0
04/13/2010 22:26:50 0x9 0 0 0 2 0
04/14/2010 18:54:42 0x9 0 0 0 20 0
04/14/2010 21:31:00 0x9 0 0 0 2 0
04/14/2010 22:04:15 0x9 0 0 0 0 25
04/14/2010 22:22:20 0x9 0 0 0 0 5
04/14/2010 23:05:58 0x9 0 0 0 0 5
04/15/2010 19:03:11 0x9 0 0 0 19 0
04/15/2010 21:29:22 0x9 0 0 0 2 0
04/15/2010 21:49:49 0x8 0 0 0 0 10
04/16/2010 18:46:03 0x9 0 0 0 20 0
04/16/2010 19:25:37 0x9 0 0 0 0 25
04/16/2010 19:34:59 0x9 0 0 0 0 0
04/16/2010 19:46:06 0x9 0 0 0 0 0
04/16/2010 19:57:16 0x9 0 0 0 0 5
04/16/2010 20:17:55 0x9 0 0 0 0 0
--------------------------------------------------------------------------------
Time Stamp | Reset | Uptime
MM/DD/YYYY HH:MM:SS | Reason | years weeks days hours minutes
--------------------------------------------------------------------------------
04/16/2010 20:31:28 0x9 0 0 0 0 0
04/16/2010 20:50:07 0x9 0 0 0 0 10
04/16/2010 22:45:15 0x9 0 0 0 0 0
04/18/2010 19:55:25 0x9 0 0 0 0 0
04/18/2010 20:01:52 0x9 0 0 0 0 0
04/19/2010 00:21:42 0x9 0 0 0 0 0
04/19/2010 01:20:33 0x0 0 0 0 0 30
04/19/2010 19:25:04 0x9 0 0 0 15 0
04/19/2010 20:05:04 0x9 0 0 0 0 15
04/19/2010 20:55:43 0x9 0 0 0 0 0
04/19/2010 21:11:52 0x9 0 0 0 0 0
04/19/2010 21:20:35 0x9 0 0 0 0 0
04/19/2010 21:39:45 0x9 0 0 0 0 10
04/19/2010 21:54:50 0x9 0 0 0 0 5
04/19/2010 22:11:48 0x9 0 0 0 0 5
Switch#
Interrupts
Interrupts are generated by system components that require attention from the CPU such as ASICs and
NMIs. Interrupts are generally related to hardware limit conditions or errors that need to be corrected.
The continuous format records each time a component is interrupted, and this record is stored and used
as base information for subsequent records. Each time the list is saved, a timestamp is added. Time
differences from the previous interrupt are counted, so that technical personnel can gain a complete
record of the component’s operational history when an error occurs.
Interrupts Example
Switch# sh logging onboard interrupt detail
--------------------------------------------------------------------------------
INTERRUPT SUMMARY INFORMATION
--------------------------------------------------------------------------------
Name | ID | Offset | Bit | Count
--------------------------------------------------------------------------------
dropped 2 0x0004 0 27323
ipp 6 0x5A00 0 983763
ipp high 10 0x700A 0 34105
ipp low 11 0x9000 0 30211
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
CONTINUOUS INTERRUPT INFORMATION
--------------------------------------------------------------------------------
MM/DD/YYYY HH:MM:SS mmm | Name | ID | Offset | Bit
--------------------------------------------------------------------------------
12/12/2011 16:06:43 0 ipp high 10 0x7AEA 7
12/12/2011 16:06:43 0 dropped 2 0x0006 0
12/12/2011 16:06:46 0 ipp high 10 0x7AEC 0
12/12/2011 16:06:46 0 ipp high 10 0x7AEC 1
12/12/2011 16:06:46 0 ipp high 10 0x7AEC 4
12/12/2011 16:06:46 0 ipp high 10 0x7AEC 5
12/12/2011 16:06:46 0 ipp low 11 0xC000 0
12/12/2011 16:06:46 0 ipp low 11 0xC000 1
12/12/2011 16:06:46 0 ipp low 11 0xC000 4
12/12/2011 16:06:46 0 ipp low 11 0xC000 5
12/12/2011 16:06:46 0 ipp high 10 0x7AEA 0
12/12/2011 16:06:46 0 ipp high 10 0x7AEA 2
12/12/2011 16:06:46 0 ipp high 10 0x7AEA 3
12/12/2011 16:06:46 0 ipp high 10 0x7AEA 4
12/12/2011 16:06:46 0 ipp high 10 0x7AEA 6
12/12/2011 16:06:46 0 ipp high 10 0x7AEA 7
12/12/2011 16:06:46 0 dropped 2 0x0006 0
12/12/2011 16:06:49 0 ipp high 10 0x7AEC 0
12/12/2011 16:06:49 0 ipp high 10 0x7AEC 1
--------------------------------------------------------------------------------
Switch#
Message Logging
The OBFL feature logs standard system messages. Instead of displaying the message to a terminal, the
message is written to and stored in a file, so the message can be accessed and read at a later time. System
messages range from level 1 alerts to level 7 debug messages, and these levels can be specified in the
hw module logging onboard command.
--------------------------------------------------------------------------------
ERROR MESSAGE CONTINUOUS INFORMATION
--------------------------------------------------------------------------------
MM/DD/YYYY HH:MM:SS Facility-Sev-Name
--------------------------------------------------------------------------------
12/15/2010 11:32:39 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/15/2010 11:32:39 %CAT4K-2-DIAGNOSTIC_STATUS : diagnostic Packet memory Skipped
12/15/2010 13:03:41 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/15/2010 13:03:41 %CAT4K-2-DIAGNOSTIC_STATUS : diagnostic Packet memory Skipped
12/15/2010 13:25:02 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/15/2010 13:25:02 %CAT4K-2-DIAGNOSTIC_STATUS : diagnostic Packet memory Skipped
12/15/2010 13:45:34 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/15/2010 13:45:34 %CAT4K-2-DIAGNOSTIC_STATUS : diagnostic Packet memory Skipped
12/15/2010 14:05:01 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/15/2010 14:05:01 %CAT4K-2-DIAGNOSTIC_STATUS : diagnostic Packet memory Skipped
12/15/2010 14:35:51 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/15/2010 14:35:51 %CAT4K-2-DIAGNOSTIC_STATUS : diagnostic Packet memory Skipped
--------------------------------------------------------------------------------
Switch#
• The Persistence Flag gives a message priority over others that do not have the flag set.
Enabling OBFL
To enable OBFL, perform this task:
--------------------------------------------------------------------------------
UPTIME CONTINUOUS INFORMATION
--------------------------------------------------------------------------------
Time Stamp | Reset | Uptime
MM/DD/YYYY HH:MM:SS | Reason | years weeks days hours minutes
--------------------------------------------------------------------------------
12/13/2012 18:12:53 0x0 0 0 0 0 0
12/14/2012 17:51:14 0x0 0 0 0 23 0
12/20/2012 17:45:52 0x0 0 0 0 1 0
12/20/2012 19:55:22 0x0 0 0 0 2 0
12/20/2012 20:37:26 0x0 0 0 0 0 40
12/21/2012 16:09:14 0x0 0 0 0 0 10
01/07/2013 02:43:04 0x0 0 0 0 2 0
01/07/2013 04:59:35 0x0 0 0 0 2 0
01/16/2013 15:36:32 0x0 0 0 1 17 0
01/17/2013 12:41:42 0x0 0 0 0 3 0
01/18/2013 14:03:21 0x0 0 0 1 1 0
01/18/2013 14:16:08 0x0 0 0 0 0 10
01/18/2013 14:21:58 0x0 0 0 0 0 0
01/18/2013 15:23:02 0x0 0 0 0 1 0
01/18/2013 15:41:25 0x0 0 0 0 0 15
01/22/2013 14:59:05 0x0 0 0 0 3 0
--------------------------------------------------------------------------------
Time Stamp | Reset | Uptime
MM/DD/YYYY HH:MM:SS | Reason | years weeks days hours minutes
--------------------------------------------------------------------------------
01/24/2013 11:47:25 0x0 0 0 0 3 0
01/24/2013 16:40:56 0x0 0 0 0 3 0
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ENVIRONMENT CONTINUOUS INFORMATION
--------------------------------------------------------------------------------
MM/DD/YYYY HH:MM:SS Device Name IOS Version F/W Ver RAM(KB) Event
------------------------------------------------------------
VID PID TAN Serial No
--------------------------------------------------------------------------------
12/13/2012 18:12:57 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
12/14/2012 17:50:55 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
12/20/2012 17:45:55 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
12/20/2012 19:55:27 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
12/20/2012 20:37:27 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
12/21/2012 16:09:15 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/07/2013 02:43:06 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/07/2013 04:59:38 slot-2: NA NA 0 Inserted
--------------------------------------------------------------------------------
ENVIRONMENT CONTINUOUS INFORMATION
--------------------------------------------------------------------------------
MM/DD/YYYY HH:MM:SS Device Name IOS Version F/W Ver RAM(KB) Event
------------------------------------------------------------
VID PID TAN Serial No
--------------------------------------------------------------------------------
Cis WS-C4510R+E NA FOX1503GL5V
01/16/2013 15:36:34 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/17/2013 12:41:44 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/18/2013 14:03:24 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/18/2013 14:16:09 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/18/2013 14:21:59 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/18/2013 15:23:04 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/18/2013 15:41:29 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/22/2013 14:59:10 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/24/2013 11:47:27 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
01/24/2013 16:40:58 slot-2: NA NA 0 Inserted
Cis WS-C4510R+E NA FOX1503GL5V
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
TEMPERATURE CONTINUOUS INFORMATION
--------------------------------------------------------------------------------
Sensor | ID |
--------------------------------------------------------------------------------
Air inlet 0
Air inlet remote 1
Air outlet 2
Air outlet remote 3
--------------------------------------------
Time Stamp |Sensor Temperature 0C
MM/DD/YYYY HH:MM:SS | 0 1 2 3
--------------------------------------------
01/18/2013 12:18:59 32 23 33 27
01/18/2013 12:28:59 32 23 33 27
01/18/2013 12:38:59 32 23 33 27
01/18/2013 12:48:00 32 23 33 27
01/18/2013 12:58:00 32 23 33 27
01/18/2013 13:08:00 32 23 33 27
01/18/2013 13:18:00 32 23 33 27
01/18/2013 13:28:00 32 23 33 27
01/18/2013 13:38:00 32 23 33 27
01/18/2013 13:48:00 32 23 33 27
01/18/2013 13:58:00 32 23 33 27
01/18/2013 14:03:21 30 23 31 27
01/18/2013 14:12:22 32 23 33 27
01/18/2013 14:16:08 30 23 31 27
01/18/2013 14:21:58 30 23 31 26
01/18/2013 14:31:58 32 23 33 28
01/18/2013 14:40:59 32 23 33 28
--------------------------------------------
Time Stamp |Sensor Temperature 0C
MM/DD/YYYY HH:MM:SS | 0 1 2 3
--------------------------------------------
01/18/2013 14:47:04 26 23 26 25
01/18/2013 14:57:04 24 22 24 23
01/18/2013 15:07:04 24 22 24 23
01/18/2013 15:17:04 24 22 24 23
01/18/2013 15:23:03 25 22 26 23
01/18/2013 15:25:03 30 22 31 25
01/18/2013 15:35:03 32 23 33 27
01/18/2013 15:41:25 30 23 31 26
01/18/2013 15:51:25 32 23 33 27
01/18/2013 16:00:27 32 23 33 27
01/18/2013 16:10:27 32 23 33 27
01/18/2013 16:20:27 32 23 33 28
01/18/2013 16:30:27 32 23 33 27
01/18/2013 16:40:27 32 23 33 27
01/18/2013 16:50:27 32 23 33 27
01/18/2013 17:00:27 31 23 33 27
01/18/2013 17:10:27 32 23 33 27
01/18/2013 17:20:27 32 23 33 27
01/18/2013 17:30:27 31 23 33 27
01/18/2013 17:40:27 31 23 33 27
01/18/2013 17:50:27 31 23 33 28
01/18/2013 18:00:27 32 24 34 30
01/18/2013 18:09:28 32 24 34 31
--------------------------------------------
Time Stamp |Sensor Temperature 0C
MM/DD/YYYY HH:MM:SS | 0 1 2 3
--------------------------------------------
01/18/2013 18:19:28 33 24 35 32
01/18/2013 18:29:28 33 25 35 33
01/18/2013 18:39:28 32 25 36 34
01/18/2013 18:49:28 32 25 36 34
01/18/2013 18:54:28 34 26 39 39
01/18/2013 19:04:28 35 27 42 44
01/18/2013 19:14:28 35 27 42 44
01/22/2013 14:59:05 25 22 26 22
01/22/2013 15:02:05 30 23 31 26
01/22/2013 15:09:06 32 24 34 31
01/22/2013 15:12:06 33 26 37 36
01/22/2013 15:15:06 34 27 40 41
01/22/2013 15:25:06 36 28 43 46
01/22/2013 15:35:06 36 28 43 46
01/22/2013 15:45:06 36 28 43 46
01/22/2013 15:55:06 36 28 44 46
01/22/2013 16:05:06 36 28 43 46
01/22/2013 16:14:07 36 28 43 46
01/22/2013 16:24:07 35 28 43 46
01/22/2013 16:34:07 36 28 44 46
01/22/2013 16:44:07 36 28 43 46
01/22/2013 16:54:07 36 28 43 46
01/22/2013 16:58:07 34 26 41 41
--------------------------------------------
Time Stamp |Sensor Temperature 0C
MM/DD/YYYY HH:MM:SS | 0 1 2 3
--------------------------------------------
01/22/2013 17:00:07 32 24 37 34
01/22/2013 17:10:07 31 24 34 32
01/22/2013 17:20:07 31 23 34 30
01/22/2013 17:30:07 32 24 35 33
01/22/2013 17:40:07 32 24 35 33
01/22/2013 17:49:08 32 24 35 33
01/22/2013 17:59:08 32 24 35 33
01/24/2013 11:47:25 26 22 26 23
01/24/2013 11:49:25 30 24 31 28
01/24/2013 11:56:25 33 25 35 33
01/24/2013 12:06:25 32 25 35 33
01/24/2013 12:16:25 33 25 35 33
01/24/2013 12:26:25 33 25 35 33
01/24/2013 12:36:25 33 25 36 33
01/24/2013 12:46:25 33 25 36 33
01/24/2013 12:56:25 34 27 39 38
01/24/2013 13:01:25 35 28 42 43
01/24/2013 13:11:25 36 29 44 46
01/24/2013 13:21:25 37 29 45 47
01/24/2013 13:30:26 37 29 45 47
01/24/2013 13:40:26 37 29 45 47
01/24/2013 13:50:26 37 29 45 47
01/24/2013 14:00:26 36 29 45 47
--------------------------------------------
Time Stamp |Sensor Temperature 0C
MM/DD/YYYY HH:MM:SS | 0 1 2 3
--------------------------------------------
01/24/2013 14:10:26 37 29 45 47
01/24/2013 14:20:26 37 29 45 47
01/24/2013 14:30:26 36 28 43 45
01/24/2013 14:32:26 34 26 39 39
01/24/2013 14:38:26 33 25 36 33
01/24/2013 14:48:26 34 26 37 36
01/24/2013 14:58:26 34 26 38 36
01/24/2013 15:08:26 34 26 38 37
01/24/2013 15:17:27 34 26 38 37
01/24/2013 15:27:27 34 26 38 37
01/24/2013 16:40:56 26 22 27 24
--------------------------------------------
--------------------------------------------------------------------------------
ERROR MESSAGE CONTINUOUS INFORMATION
--------------------------------------------------------------------------------
MM/DD/YYYY HH:MM:SS Facility-Sev-Name
--------------------------------------------------------------------------------
12/13/2012 18:12:32 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/14/2012 17:50:55 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/20/2012 17:45:55 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/20/2012 19:55:27 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/20/2012 20:37:27 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
12/21/2012 16:09:15 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/07/2013 02:43:06 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/07/2013 04:59:38 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/16/2013 15:36:34 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/17/2013 12:41:44 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/18/2013 14:03:24 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/18/2013 14:16:09 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/18/2013 14:21:59 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/18/2013 15:23:04 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/18/2013 15:41:29 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/22/2013 14:59:10 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
01/24/2013 11:47:27 %CAT4K-3-DIAGNOSTICS_PASSED : module passed diagnostics
--------------------------------------------------------------------------------
ERROR MESSAGE CONTINUOUS INFORMATION
--------------------------------------------------------------------------------
MM/DD/YYYY HH:MM:SS Facility-Sev-Name
--------------------------------------------------------------------------------
Switch#
This chapter describes how to configure the Simple Network Management Protocol (SNMP) on the
Catalyst 4500 series switch.
This chapter consists of these sections:
• About SNMP, page 49-1
• Configuring SNMP, page 49-5
• Displaying SNMP Status, page 49-17
Note For complete syntax and usage information for the commands used in this chapter, see the
Cisco IOS Configuration Fundamentals Command Reference
http://www.cisco.com/en/US/docs/ios/fundamentals/command/reference/cf_book.html
http://www.cisco.com/en/US/products/ps6350/index.html
About SNMP
SNMP is an application-layer protocol that provides a message format for communication between
managers and agents. The SNMP system consists of an SNMP manager, an SNMP agent, and a MIB.
The SNMP manager can be part of a network management system (NMS) such as CiscoWorks. The
agent and MIB reside on the switch. To configure SNMP on the switch, you define the relationship
between the manager and the agent.
The SNMP agent contains MIB variables whose values the SNMP manager can request or change. A
manager can get a value from an agent or store a value into the agent. The agent gathers data from the
MIB, the repository for information about device parameters and network data. The agent can also
respond to a manager’s requests to get or set data.
An agent can send unsolicited traps to the manager. Traps are messages alerting the SNMP manager to
a condition on the network. Traps can mean improper user authentication, restarts, link status (up or
down), MAC address tracking, closing of a Transmission Control Protocol (TCP) connection, loss of
connection to a neighbor, or other significant events.
SNMP Versions
The Catalyst 4500 series switch supports these SNMP versions:
• SNMPv1—The Simple Network Management Protocol, a Full Internet Standard, defined in
RFC 1157.
• SNMPv2C replaces the Party-based Administrative and Security Framework of SNMPv2Classic
with the community-string-based Administrative Framework of SNMPv2C while retaining the bulk
retrieval and improved error handling of SNMPv2Classic. It has these features:
– SNMPv2—Version 2 of the Simple Network Management Protocol, a Draft Internet Standard,
defined in RFCs 1902 through 1907.
– SNMPv2C—The community-string-based Administrative Framework for SNMPv2, an
Experimental Internet Protocol defined in RFC 1901.
• SNMPv3—Version 3 of the SNMP is an interoperable standards-based protocol defined in RFCs
2273 to 2275. SNMPv3 provides secure access to devices by authenticating and encrypting packets
over the network and includes these security features:
– Message integrity—ensuring that a packet was not tampered with in transit
– Authentication—determining that the message is from a valid source
– Encryption—mixing the contents of a package to prevent it from being read by an unauthorized
source.
Note To select encryption, enter the priv keyword. This keyword is available only when the
crypto (encrypted) software image is installed.
Both SNMPv1 and SNMPv2C use a community-based form of security. The community of managers
able to access the agent’s MIB is defined by an IP address access control list and password.
SNMPv2C includes a bulk retrieval mechanism and more detailed error message reporting to
management stations. The bulk retrieval mechanism retrieves tables and large quantities of information,
minimizing the number of round-trips required. The SNMPv2C improved error-handling includes
expanded error codes that distinguish different kinds of error conditions; these conditions are reported
through a single error code in SNMPv1. Error return codes in SNMPv2C report the error type.
SNMPv3 provides for both security models and security levels. A security model is an authentication
strategy set up for a user and the group within which the user resides. A security level is the permitted
level of security within a security model. A combination of the security level and the security model
determine which security mechanism is used when handling an SNMP packet. Available security models
are SNMPv1, SNMPv2C, and SNMPv3.
The following table identifies the characteristics of the different combinations of security models and
levels.
You must configure the SNMP agent to use the SNMP version supported by the management station.
Because an agent can communicate with multiple managers, you can configure the software to support
communications using SNMPv1, and SNMPv2C, and SNMPv3 protocols.
Operation Description
get-request Retrieves a value from a specific variable.
get-next-request Retrieves a value from a variable within a table.1
get-bulk-request2 Retrieves large blocks of data, such as multiple rows in a table, that would
otherwise require the transmission of many small blocks of data.
get-response Replies to a get-request, get-next-request, and set-request sent by an NMS.
set-request Stores a value in a specific variable.
trap An unsolicited message sent by an SNMP agent to an SNMP manager when some
event has occurred.
1. With this operation, an SNMP manager does not need to know the exact variable name. A sequential search is performed to
find the needed variable from within a table.
2. The get-bulk command only works with SNMPv2 or later.
SNMP Notifications
SNMP allows the switch to send notifications to SNMP managers when particular events occur. SNMP
notifications can be sent as traps or inform requests. In command syntax, unless there is an option in the
command to select either traps or informs, the keyword traps refers to either traps or informs, or both.
Use the snmp-server host command to specify whether to send SNMP notifications as traps or informs.
Traps are unreliable because the receiver does not send an acknowledgment when it receives a trap, and
the sender cannot determine if the trap was received. When an SNMP manager receives an inform
request, it acknowledges the message with an SNMP response protocol data unit (PDU). If the sender
does not receive a response, the inform request can be sent again. Because they can be re-sent, informs
are more likely than traps to reach their intended destination.
The characteristics that make informs more reliable than traps also consume more resources in the switch
and in the network. Unlike a trap, which is discarded as soon as it is sent, an inform request is held in
memory until a response is received or the request times out. Traps are sent only once, but an inform
might be re-sent or retried several times. The retries increase traffic and contribute to a higher overhead
on the network. Therefore, traps and informs require a trade-off between reliability and resources. If it
is important that the SNMP manager receive every notification, use inform requests. If traffic on the
network or memory in the switch is a concern and notification is not required, use traps.
Configuring SNMP
This section describes how to configure SNMP on your switch. It contains this configuration
information:
• Default SNMP Configuration, page 49-5
• SNMP Configuration Guidelines, page 49-6
• Disabling the SNMP Agent, page 49-7
• Configuring Community Strings, page 49-7
• Configuring SNMP Groups and Users, page 49-9
• Configuring SNMP Notifications, page 49-11
• Setting the Agent Contact and Location Information, page 49-15
• Limiting TFTP Servers Used Through SNMP, page 49-15
• SNMP Examples, page 49-16
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# no snmp-server Disables the SNMP agent operation.
Step 3 Switch(config)# end Returns to privileged EXEC mode.
Step 4 Switch# show running-config Verifies your entries.
Step 5 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
The no snmp-server global configuration command disables all running versions (Version 1,
Version 2C, and Version 3) on the device. No specific IOS command exists to enable SNMP. The first
snmp-server global configuration command that you enter enables all versions of SNMP.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# [no] snmp-server Configures the community string.
community string [view view-name] [ro |
rw] [access-list-number] • For string, specify a string that acts like a password and
permits access to the SNMP protocol. You can configure one
or more community strings up to 117 characters.
• (Optional) For view, specify the view record accessible to the
community.
• (Optional) Specify either read-only (ro) if you want
authorized management stations to retrieve MIB objects, or
specify read-write (rw) if you want authorized management
stations to retrieve and modify MIB objects. By default, the
community string permits read-only access to all objects.
• (Optional) For access-list-number, enter an IP standard access
list numbered from 1 to 99 and 1300 to 1999.
To remove a specific community string, use the
no snmp-server community string global configuration
command.
Step 3 Switch(config)# access-list (Optional) If you specified an IP standard access list number in
access-list-number {deny | permit} source Step 2, create the list, repeating the command as many times as
[source-wildcard]
necessary.
• For access-list-number, enter the access list number specified
in Step 2.
• The deny keyword denies access if the conditions are
matched. The permit keyword permits access if the conditions
are matched.
• For source, enter the IP address of the SNMP managers that
are permitted to use the community string to gain access to the
agent.
• (Optional) For source-wildcard, enter the wildcard bits in
dotted decimal notation to be applied to the source. Place ones
in the bit positions that you want to ignore.
Recall that the access list is always terminated by an implicit deny
statement for everything.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# show running-config Verifies your entries.
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
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).
Note The snmp-server enable informs command is not supported. To enable the sending of SNMP inform
notifications, use the snmp-server enable traps command combined with the snmp-server host
host-addr informs command.
This example shows how to assign the string comaccess to SNMP, to allow read-only access, and to
specify that IP access list 4 can use the community string to gain access to the switch SNMP agent:
Switch(config)# snmp-server community comaccess ro 4
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# snmp-server engineID Configures a name for either the local or remote copy of SNMP.
{local engineid-string | remote
ip-address [udp-port port-number] • The engineid-string is a 24-character ID string with the name of
engineid-string} the copy of SNMP. You need not specify the entire 24-character
engine ID if it has trailing zeros. Specify only the portion of the
engine ID up to the point where only zeros remain in the value.
For example, to configure an engine ID of
123400000000000000000000, you can enter this:
snmp-server engineID local 1234
• If you select remote, specify the ip-address of the device that
contains the remote copy of SNMP and the optional UDP port on
the remote device. The default is 162.
Command Purpose
Step 3 Switch(config)# snmp-server group Configures a new SNMP group on the remote device.
groupname {v1 | v2c | v3 [auth | noauth
| priv]} [read readview] [write • For groupname, specify the name of the group.
writeview] [notify notifyview] [access
access-list]
• Specify a security model:
– v1 is the least secure of the possible security models.
– v2c is the second least secure model. It allows transmission
of informs and integers twice the normal width.
– v3, the most secure, requires you to select an authentication
level:
auth—Enables the Message Digest 5 (MD5) and the Secure
Hash Algorithm (SHA) packet authentication.
noauth—The noAuthNoPriv security level. This is the
default if no keyword is specified.
priv—Enables Data Encryption Standard (DES) packet
encryption (also called privacy).
Note The priv keyword is available only when the crypto software
image is installed.
Command Purpose
Step 4 Switch(config)# snmp-server user Configures a new user to an SNMP group.
username groupname [remote host
[udp-port port]] {v1 | v2c | v3 [auth • The username is the name of the user on the host that connects to
{md5 | sha} auth-password]} [encrypted] the agent.
[access access-list]
• The groupname is the name of the group to which the user is
associated.
• (Optional) Enter remote to specify a remote SNMP entity to
which the user belongs and the hostname or IP address of that
entity with the optional UDP port number. The default is 162.
• Enter the SNMP version number (v1,or v2c, or v3). If you enter
v3, you have these additional options:
– auth is an authentication level setting session, which can be
either the HMAC-MD5-96 or the HMAC-SHA-96
authentication level, and requires a password string (not to
exceed 64 characters).
– encrypted specifies that the password appears in encrypted
format.
• (Optional) Enter access access-list with a string (not to exceed 64
characters) that is the name of the access list.
Step 5 Switch(config)# end Returns to privileged EXEC mode.
Step 6 Switch# show running-config Verifies your entries.
Step 7 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Note Many commands use the word traps in the command syntax. Unless there is an option in the command
to select either traps or informs, the keyword traps refers to either traps, informs, or both. Use the
snmp-server host command to specify whether to send SNMP notifications as traps or informs.
Table 49-3 describes the supported switch traps (notification types). You can enable any or all of these
traps and configure a trap manager to receive them.
Notification Type
Keyword Description
auth-framework Enables SNMP CISCO-AUTH-FRAMEWORK-MIB traps.
bgp Generates BGP state change traps.
Note This option is only available when the enhanced multilayer image is
installed.
bridge Generates STP bridge MIB traps.
bulkstat Enables. Data-Collection-MIB Collection notifications
call-home Enables SNMP CISCO-CALLHOME-MIB traps.
cef Enables SNMP CEF traps.
config Generates a trap for SNMP configuration changes.
config-copy Generates a trap for SNMP copy configuration changes.
cpu-threshold Allows CPU utilization threshold violation traps.
dot1x Enables SNMP 802.1X traps.
eigrp Enable EIBGP traps.
Note This option is only available when the enhanced multilayer image is
installed.
energywise Enables SNMP ENERGYWISE traps.
entity Generates a trap for SNMP entity changes.
entity-diag Enables SNMP CISCO-ENTITY-DIAG-MIB traps.
envmon Generates environmental monitor traps. You can enable any or all of these
environmental traps: fan, shutdown, supply, temperature.
ether-oam Enables SNMP ethernet oam traps.
ethernet Enables SNMP Ethernet traps.
event-manager Enables SNMP Embedded Event Manager traps.
flash Generates SNMP FLASH notifications.
fru-ctrl Enable SNMP entity FRU control traps.
hsrp Generates a trap for Hot Standby Router Protocol (HSRP) changes.
ipmulticast Generates a trap for IP multicast routing changes.
isis Enable IS-IS traps.
Note This option is only available when the enhanced multilayer image is
installed.
license Enables license traps.
mac-notification Generates a trap for MAC address notifications.
memory Enables MEMORY traps.
msdp Generates a trap for Multicast Source Discovery Protocol (MSDP) changes.
Note This option is only available when the enhanced multilayer image is
installed.
Notification Type
Keyword Description
ospf Generates a trap for Open Shortest Path First (OSPF) changes. You can enable
any or all of these traps: Cisco specific, errors, link-state advertisement, rate
limit, retransmit, and state changes.
Note This option is only available when the enhanced multilayer image is
installed.
pim Generates a trap for Protocol-Independent Multicast (PIM) changes. You can
enable any or all of these traps: invalid PIM messages, neighbor changes, and
rendezvous point (RP)-mapping changes.
port-security Generates SNMP port security traps. You can also set a maximum trap rate
per second. The range is from 0 to 1000; the default is 0, which means that
there is no rate limit.
power-ethernet Enables SNMP power ethernet traps.
rep Enables SNMP Resilient Ethernet Protocol Traps.
rf Enable all SNMP traps defined in Cisco-RF-MIB.
rtr Enables SNMP Response Time Reporter traps.
Note It sends Service Assurance Agent RTR (RTR) notifications (from the
CISCO-RTTMON-MIB).
snmp Generates a trap for SNMP-type notifications for authentication, cold start,
warm start, link up or link down.
storm-control Generates a trap for SNMP storm-control. You can also set a maximum trap
rate per second. The range is from 0 to 1000; the default is 0 (no limit is
imposed; a trap is sent at every occurrence).
stpx Generates SNMP STP Extended MIB traps.
syslog Generates SNMP syslog traps.
transceiver Enables SNMP transceiver traps.
tty Generates a trap for TCP connections. This trap is enabled by default.
vlan-membership Generates a trap for SNMP VLAN membership changes.
vlancreate Generates SNMP VLAN created traps.
vlandelete Generates SNMP VLAN deleted traps.
vtp Generates a trap for VLAN Trunking Protocol (VTP) changes.
You can use the snmp-server host global configuration command to a specific host to receive the
notification types listed in Table 49-3.
To configure the switch to send traps or informs to a host, perform this task:
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# snmp-server Specifies the engine ID for the remote host.
engineID remote ip-address
engineid-string
Command Purpose
Step 3 Switch(config)# snmp-server user Configures an SNMP user to be associated with the remote host created
username groupname remote host in Step 2.
[udp-port port] {v1 | v2c | v3
[auth {md5 | sha} auth-password]} Note You cannot configure a remote user for an address without first
[encrypted] [access access-list] configuring the engine ID for the remote host. If you try to
configure the user before configuring the remote engine ID, you
receive an error message, and the command is not executed.
Step 4 Switch(config)# snmp-server host Specifies the recipient of an SNMP trap operation.
host-addr [traps | informs]
[version {1 | 2c | 3 [auth | noauth | • For host-addr, specify the name or Internet address of the host (the
priv]}] community-string [udp-port targeted recipient).
port] [notification-type]
• (Optional) Enter traps (the default) to send SNMP traps to the host.
• (Optional) Enter informs to send SNMP informs to the host.
• (Optional) Specify the SNMP version (1, 2c, or 3). SNMPv1 does
not support informs.
• (Optional) For Version 3, select authentication level auth, noauth, or
priv.
Note The priv keyword is available only when the crypto software
image is installed.
The snmp-server host command specifies which hosts receive the notifications. The
snmp-server enable trap command globally enables the mechanism for the specified notification (for
traps and informs). To enable a host to receive an inform, you must configure an
snmp-server host informs command for the host and globally enable informs by using the
snmp-server enable traps command.
To remove the specified host from receiving traps, use the no snmp-server host host global
configuration command. The no snmp-server host command with no keywords disables traps, but not
informs, to the host. To disable informs, use the no snmp-server host informs global configuration
command. To disable a specific trap type, use the no snmp-server enable traps notification-types global
configuration command.
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# snmp-server contact Sets the system contact string.
text
For example:
snmp-server contact Dial System Operator at beeper 21555.
Step 3 Switch(config)# snmp-server location Sets the system location string.
text
For example:
snmp-server location Building 3/Room 222
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# show running-config Verifies your entries.
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
Command Purpose
Step 1 Switch# configure terminal Enters global configuration mode.
Step 2 Switch(config)# snmp-server Limits TFTP servers used for configuration file copies through
tftp-server-list access-list-number SNMP to the servers in the access list.
For access-list-number, enter an IP standard access list numbered
from 1 to 99 and 1300 to 1999.
Command Purpose
Step 3 Switch(config)# access-list Creates a standard access list, repeating the command as many
access-list-number {deny | permit} times as necessary.
source [source-wildcard]
• For access-list-number, enter the access list number specified
in Step 2.
• The deny keyword denies access if the conditions are matched.
The permit keyword permits access if the conditions are
matched.
• For source, enter the IP address of the TFTP servers that can
access the switch.
• (Optional) For source-wildcard, enter the wildcard bits, in
dotted decimal notation, to be applied to the source. Place ones
in the bit positions that you want to ignore.
Recall that the access list is always terminated by an implicit deny
statement for everything.
Step 4 Switch(config)# end Returns to privileged EXEC mode.
Step 5 Switch# show running-config Verifies your entries.
Step 6 Switch# copy running-config (Optional) Saves your entries in the configuration file.
startup-config
SNMP Examples
This example shows how to enable all versions of SNMP. The configuration permits any SNMP manager
to access all objects with read-only permissions using the community string public. This configuration
does not cause the switch to send any traps.
Switch(config)# snmp-server community public
This example shows how to permit any SNMP manager to access all objects with read-only permission
using the community string public. The switch also sends VTP traps to the hosts 192.180.1.111 and
192.180.1.33 using SNMPv1 and to the host 192.180.1.27 using SNMPv2C. The community string
public is sent with the traps.
Switch(config)# snmp-server community public
Switch(config)# snmp-server enable traps vtp
Switch(config)# snmp-server host 192.180.1.27 version 2c public
Switch(config)# snmp-server host 192.180.1.111 version 1 public
Switch(config)# snmp-server host 192.180.1.33 public
This example shows how to allow read-only access for all objects to members of access list 4 that use
the comaccess community string. No other SNMP managers have access to any objects. SNMP
Authentication Failure traps are sent by SNMPv2C to the host cisco.com using the community string
public.
Switch(config)# snmp-server community comaccess ro 4
Switch(config)# snmp-server enable traps snmp authentication
Switch(config)# snmp-server host cisco.com version 2c public
This example shows how to send Entity MIB traps to the host cisco.com. The community string is
restricted. The first line enables the switch to send Entity MIB traps in addition to any traps previously
enabled. The second line specifies the destination of these traps and overwrites any previous
snmp-server host commands for the host cisco.com.
This example shows how to enable the switch to send all traps to the host myhost.cisco.com using the
community string public:
Switch(config)# snmp-server enable traps
Switch(config)# snmp-server host myhost.cisco.com public
This example shows how to associate a user with a remote host and to send auth (authNoPriv)
authentication-level informs when the user enters global configuration mode:
Switch(config)# snmp-server engineID remote 192.180.1.27 00000063000100a1c0b4011b
Switch(config)# snmp-server group authgroup v3 auth
Switch(config)# snmp-server user authuser authgroup remote 192.180.1.27 v3 auth md5
mypassword
Switch(config)# snmp-server user authuser authgroup v3 auth md5 mypassword
Switch(config)# snmp-server host 192.180.1.27 informs version 3 auth authuser config
Switch(config)# snmp-server enable traps
Switch(config)# snmp-server inform retries 0
This chapter describes how to use Cisco IOS IP Service Level Agreements (SLAs) on the switch. Cisco
IP SLAs is a part of Cisco IOS software that allows Cisco customers to analyze IP service levels for IP
applications and services by using active traffic monitoring—the generation of traffic in a continuous,
reliable, and predictable manner—for measuring network performance. With Cisco IOS IP SLAs,
service provider customers can measure and provide service level agreements, and enterprise customers
can verify service levels, verify outsourced service level agreements, and understand network
performance. Cisco IOS IP SLAs can perform network assessments, verify quality of service (QoS), ease
the deployment of new services, and assist with network troubleshooting. Unless otherwise noted, the
term switch refers to a standalone switch and to a switch stack.
Note Switches running the IP base image support only IP SLAs responder functionality and must be
configured with another device that supports full IP SLAs functionality, for example, a switch.
For more information about IP SLAs, see the Cisco IOS IP SLAs Configuration Guide, Release 12.4T at
this URL:
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/12_4t/sla_12_4t_book.html
This chapter consists of these sections:
• Command Table, page 50-2
• About Cisco IOS IP SLAs, page 50-2
• Configuring IP SLAs Operations, page 50-7
• Monitoring IP SLAs Operations, page 50-13
Note Refer to Cisco IOS XE IP SLAs Features in Cisco IOS XE 3.1.0 SG, page 50-14 for new software
available in Cisco IOS XE 3.1.0.SG but not documented in this chapter. There you will find links to the
item s in the Cisco IOS library.
Command Table
This table lists the commands most commonly used with Cisco IP SLAs.
frequency seconds (Optional) Sets the rate at which a Analyzing IP Service Levels by
specified IP SLAs operation repeats. Using the ICMP Echo Operation,
page 50-11
options such as source and destination IP address, User Datagram Protocol (UDP)/TCP port numbers, a
type of service (ToS) byte (including Differentiated Services Code Point [DSCP] and IP Prefix bits),
Virtual Private Network (VPN) routing/forwarding instance (VRF), and URL web address.
Because Cisco IP SLAs is Layer 2 transport independent, you can configure end-to-end operations over
disparate networks to best reflect the metrics that an end user is likely to experience. IP SLAs collects a
unique subset of these performance metrics:
• Delay (both round-trip and one-way)
• Jitter (directional)
• Packet loss (directional)
• Packet sequencing (packet ordering)
• Path (per hop)
• Connectivity (directional)
• Server or website download time
Because Cisco IOS IP SLAs is SNMP-accessible, it can also be used by performance-monitoring
applications like CiscoWorks Internetwork Performance Monitor (IPM) and other third-party Cisco
partner performance management products. You can find more details about network management
products that use Cisco IOS IP SLAs at this URL: http://www.cisco.com/go/ipsla
Using IP SLAs can provide these benefits:
• Service-level agreement monitoring, measurement, and verification.
• Network performance monitoring
– Measures the jitter, latency, or packet loss in the network.
– Provides continuous, reliable, and predictable measurements.
• IP service network health assessment to verify that the existing QoS is sufficient for new IP services.
• Edge-to-edge network availability monitoring for proactive verification and connectivity testing of
network resources (for example, shows the network availability of an NFS server used to store
business critical data from a remote site).
• Troubleshooting of network operation by providing consistent, reliable measurement that
immediately identifies problems and saves troubleshooting time.
This section includes this information about IP SLAs functionality:
• Using Cisco IOS IP SLAs to Measure Network Performance, page 50-3
• IP SLAs Responder and IP SLAs Control Protocol, page 50-4
• Response Time Computation for IP SLAs, page 50-5
• IP SLAs Operation Scheduling, page 50-6
• IP SLAs Operation Threshold Monitoring, page 50-6
on the type of IP SLAs operation, it responds with time-stamp information for the source to make the
calculation on performance metrics. An IP SLAs operation performs a network measurement from the
source device to a destination in the network using a specific protocol such as UDP.
Performance
Any IP device management
application
IP SLA measurement
and IP SLA responder to
IP SLA Responder SNMP
IP SLA IP SLA
IP network
121381
IP SLA responder IP SLA source
IP SLA measurement
and IP SLA responder to
IP SLA Responder
To implement IP SLAs network performance measurement, you need to perform these tasks:
1. Enable the IP SLAs responder, if required.
2. Configure the required IP SLAs operation type.
3. Configure any options available for the specified operation type.
4. Configure threshold conditions, if required.
5. Schedule the operation to run, then let the operation run for a period of time to gather statistics.
6. Display and interpret the results of the operation using the Cisco IOS CLI or a network
management system (NMS) system with SNMP.
For more information about IP SLAs operations, see the operation-specific chapters in the Cisco IOS IP
SLAs Configuration Guide, Release 12.4T at this URL:
http://www.cisco.com/en/US/docs/ios/12_4/ip_sla/configuration/guide/hsla_c.html
The switch does not support Voice over IP (VoIP) service levels using the gatekeeper registration delay
operations measurements. Before configuring any IP SLAs application, use the show ip sla application
privileged EXEC command to verify that the operation type is supported on your software image.
Note The IP SLAs responder can be a Cisco IOS Layer 2, responder-configurable switch, such as a
Catalyst 4500 running the IP base image. The responder does not need to support full IP SLAs
functionality.
Figure 50-1 shows where the Cisco IOS IP SLAs responder fits in the IP network. The responder listens
on a specific port for control protocol messages sent by an IP SLAs operation. Upon receipt of the
control message, it enables the specified UDP or TCP port for the specified duration. During this time,
the responder accepts the requests and responds to them. It disables the port after it responds to the IP
SLAs packet, or when the specified time expires. MD5 authentication for control messages is available
for added security.
You do not need to enable the responder on the destination device for all IP SLAs operations. For
example, a responder is not required for services that are already provided by the destination router (such
as Telnet or HTTP). You cannot configure the IP SLAs responder on non-Cisco devices and Cisco IOS
IP SLAs can send operational packets only to services native to those devices.
An additional benefit of the two time stamps at the target device is the ability to track one-way delay,
jitter, and directional packet loss. Because much network behavior is asynchronous, it is critical to have
these statistics. However, to capture one-way delay measurements, you must configure both the source
router and target router with Network Time Protocol (NTP) so that the source and target are
synchronized to the same clock source. One-way jitter measurements do not require clock
synchronization.
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/12_4t/sla_12_4t_book.html
To support successful service level agreement monitoring, you must have mechanisms that notify you
immediately of any possible violation. IP SLAs can send SNMP traps that are triggered by events such
as these:
• Connection loss
• Timeout
• Round-trip time threshold
• Average jitter threshold
• One-way packet loss
• One-way jitter
• One-way mean opinion score (MOS)
• One-way latency
An IP SLAs threshold violation can also trigger another IP SLAs operation for further analysis. For
example, the frequency could be increased or an ICMP path echo or ICMP path jitter operation could be
initiated for troubleshooting.
Determining the type of threshold and the level to set can be complex, and depends on the type of IP
service being used in the network.
For details about configuring other operations, see he Cisco IOS IP SLAs Configuration Guide at this
URL
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/12_4t/sla_12_4t_book.html
This section includes this information:
• Default Configuration, page 50-7
• Configuration Guidelines, page 50-7
• Configuring the IP SLAs Responder, page 50-8
• Analyzing IP Service Levels by Using the UDP Jitter Operation, page 50-9
• Analyzing IP Service Levels by Using the ICMP Echo Operation, page 50-11
Default Configuration
No IP SLAs operations are configured.
Configuration Guidelines
For detailed descriptions and configuration procedures, see the Cisco IOS IP SLAs Configuration Guide,
Release 12.4T at this URL:
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/12_4t/sla_12_4t_book.html
Note that not all of the IP SLAs commands or operations described in this guide are supported on the
switch. The switch supports IP service level analysis by using UDP jitter, UDP echo, HTTP, TCP
connect, ICMP echo, ICMP path echo, ICMP path jitter, FTP, DNS, and DHCP, as well as multiple
operation scheduling and proactive threshold monitoring. It does not support VoIP service levels using
the gatekeeper registration delay operations measurements.
Before configuring any IP SLAs application, use the show ip sla application privileged EXEC
command to verify that the operation type is supported on your software image.
This is an example of the output from the command:
Switch# show ip sla application
IP SLAs
Version: 2.2.0 Round Trip Time MIB, Infrastructure Engine-II
Time of last change in whole IP SLAs: 22:17:39.117 UTC Fri Jun
Estimated system max number of entries: 15801
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 ip sla responder {tcp-connect | Configures the switch as an IP SLAs responder.
udp-echo} ipaddress ip-address port
port-number The optional keywords have these meanings:
• tcp-connect—Enable the responder for TCP connect operations.
• udp-echo—Enable the responder for User Datagram Protocol (UDP)
echo or jitter operations.
• ipaddress ip-address—Enter the destination IP address.
• port port-number—Enter the destination port number.
Note The IP address and port number must match those configured on
the source device for the IP SLAs operation.
Step 3 end Returns to privileged EXEC mode.
Step 4 show ip sla responder Verifies the IP SLAs responder configuration on the device.
Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
To disable the IP SLAs responder, enter the no ip sla responder global configuration command. This
example shows how to configure the device as a responder for the UDP jitter IP SLAs operation in the
next procedure:
Switch(config)# ip sla responder udp-echo 172.29.139.134 5000
Note The IP SLA precision microsecond feature does not provide microsecond accuracy; it provides only
microsecond granularity of the timestamps.
To provide accurate one-way delay (latency) measurements, time synchronization, such as that provided
by NTP, is required between the source and the target device. Time synchronization is not required for
the one-way jitter and packet loss measurements. If the time is not synchronized between the source and
target devices, one-way jitter and packet loss data is returned, but values of 0 are returned for the
one-way delay measurements provided by the UDP jitter operation.
Note Before you configure a UDP jitter operation on the source device, you must enable the IP SLAs
responder on the target device (the operational target).
To configure UDP jitter operation on the source device, follow these steps:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 ip sla operation-number Creates an IP SLAs operation, and enter IP SLAs configuration mode.
Command Purpose
Step 3 udp-jitter Configures the IP SLAs operation as a UDP jitter operation, and enter UDP
{destination-ip-address | jitter configuration mode.
destination-hostname}
destination-port [source-ip • destination-ip-address | destination-hostname—Specify the destination IP
{ip-address | hostname}] address or hostname.
[source-port port-number]
[control {enable | disable}] • destination-port—Specify the destination port number in the range from 1
[num-packets to 65535.
number-of-packets] [interval
interpacket-interval] • (Optional) source-ip {ip-address | hostname}—Specify the source IP
address or hostname. When a source IP address or hostname is not
specified, IP SLAs chooses the IP address nearest to the destination
• (Optional) source-port port-number—Specify the source port number in
the range from 1 to 65535. When a port number is not specified, IP SLAs
chooses an available port.
• (Optional) control—Enable or disable sending of IP SLAs control
messages to the IP SLAs responder. By default, IP SLAs control messages
are sent to the destination device to establish a connection with the IP
SLAs responder
• (Optional) num-packets number-of-packets—Enter the number of
packets to be generated. The range is 1 to 6000; the default is 10.
• (Optional) interval inter-packet-interval—Enter the interval between
sending packets in milliseconds. The range is 1 to 6000; the default value
is 20 ms.
Step 4 frequency seconds (Optional) Sets the rate at which a specified IP SLAs operation repeats. The
range is from 1 to 604800 seconds; the default is 60 seconds.
Step 5 exit Exits UDP jitter configuration mode, and return to global configuration mode.
Step 6 ip sla monitor schedule Configures the scheduling parameters for an individual IP SLAs operation.
operation-number [life
{forever | seconds}] • operation-number—Enter the RTR entry number.
[start-time {hh:mm [:ss]
[month day | day month] |
• (Optional) life—Set the operation to run indefinitely (forever) or for a
pending | now | after specific number of seconds. The range is from 0 to 2147483647. The
hh:mm:ss] [ageout seconds] default is 3600 seconds (1 hour).
[recurring]
• (Optional) start-time—Enter the time for the operation to begin collecting
information:
– To start at a specific time, enter the hour, minute, second (in 24-hour
notation), and day of the month. If no month is entered, the default is
the current month.
– Enter pending to select no information collection until a start time is
selected.
– Enter now to start the operation immediately.
– Enter after hh:mm:ss to show that the operation should start after the
entered time has elapsed.
• (Optional) ageout seconds—Enter the number of seconds to keep the
operation in memory when it is not actively collecting information. The
range is 0 to 2073600 seconds, the default is 0 seconds (never ages out).
• (Optional) recurring—Set the operation to automatically run every day.
Command Purpose
Step 7 end Returns to privileged EXEC mode.
Step 8 show ip sla configuration (Optional) Displays configuration values, including all defaults for all IP SLAs
[operation-number] operations or a specified operation.
Step 9 copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To disable the IP SLAs operation, enter the no ip sla operation-number global configuration command.
This example shows how to configure a UDP jitter IP SLAs operation:
Switch(config)# ip sla 10
Switch(config-ip-sla)# udp-jitter 172.29.139.134 5000
Switch(config-ip-sla-jitter)# frequency 30
Switch(config-ip-sla-jitter)# exit
Switch(config)# ip sla schedule 5 start-time now life forever
Switch(config)# end
Switch# show ip sla configuration 10
IP SLAs, Infrastructure Engine-II.
Entry number: 10
Owner:
Tag:
Type of operation to perform: udp-jitter
Target address/Source address: 1.1.1.1/0.0.0.0
Target port/Source port: 2/0
Request size (ARR data portion): 32
Operation timeout (milliseconds): 5000
Packet Interval (milliseconds)/Number of packets: 20/10
Type Of Service parameters: 0x0
Verify data: No
Vrf Name:
Control Packets: enabled
Schedule:
Operation frequency (seconds): 30
Next Scheduled Start Time: Pending trigger
Group Scheduled : FALSE
Randomly Scheduled : FALSE
Life (seconds): 3600
Entry Ageout (seconds): never
Recurring (Starting Everyday): FALSE
Status of entry (SNMP RowStatus): notInService
Threshold (milliseconds): 5000
Distribution Statistics:
Number of statistic hours kept: 2
Number of statistic distribution buckets kept: 1
Statistic distribution interval (milliseconds): 20
Enhanced History:
Note This operation does not require the IP SLAs responder to be enabled.
To configure an ICMP echo operation on the source device, follow these steps:
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 ip sla operation-number Creates an IP SLAs operation and enter IP SLAs configuration mode.
Step 3 icmp-echo Configures the IP SLAs operation as an ICMP Echo operation and enter ICMP
{destination-ip-address | echo configuration mode.
destination-hostname}
[source-ip {ip-address | • destination-ip-address | destination-hostname—Specify the destination IP
hostname} | source-interface address or hostname.
interface-id]
• (Optional) source-ip {ip-address | hostname}—Specify the source IP
address or hostname. When a source IP address or hostname is not
specified, IP SLAs chooses the IP address nearest to the destination
• (Optional) source-interface interface-id—Specify the source interface for
the operation.
Step 4 frequency seconds (Optional) Sets the rate at which a specified IP SLAs operation repeats. The
range is from 1 to 604800 seconds; the default is 60 seconds.
Step 5 exit Exits UDP jitter configuration mode, and return to global configuration mode.
Step 6 ip sla schedule Configures the scheduling parameters for an individual IP SLAs operation.
operation-number [life
{forever | seconds}] • operation-number—Enter the RTR entry number.
[start-time {hh:mm [:ss]
[month day | day month] |
• (Optional) life—Set the operation to run indefinitely (forever) or for a
pending | now | after specific number of seconds. The range is from 0 to 2147483647. The
hh:mm:ss] [ageout seconds] default is 3600 seconds (1 hour)
[recurring]
• (Optional) start-time—Enter the time for the operation to begin collecting
information:
– To start at a specific time, enter the hour, minute, second (in 24-hour
notation), and day of the month. If no month is entered, the default is
the current month.
– Enter pending to select no information collection until a start time is
selected.
– Enter now to start the operation immediately.
– Enter after hh:mm:ss to indicate that the operation should start after
the entered time has elapsed.
• (Optional) ageout seconds—Enter the number of seconds to keep the
operation in memory when it is not actively collecting information. The
range is 0 to 2073600 seconds; the default is 0 seconds (never ages out).
• (Optional) recurring—Set the operation to automatically run every day.
Step 7 end Returns to privileged EXEC mode.
Command Purpose
Step 8 show ip sla configuration (Optional) Displays configuration values including all defaults for all IP SLAs
[operation-number] operations or a specified operation.
Step 9 copy running-config (Optional) Saves your entries in the configuration file.
startup-config
To disable the IP SLAs operation, enter the no ip sla operation-number global configuration command.
This example shows how to configure an ICMP echo IP SLAs operation:
Switch(config)# ip sla 12
Switch(config-ip-sla)# icmp-echo 172.29.139.134
Switch(config-ip-sla-echo)# frequency 30
Switch(config-ip-sla-echo)# exit
Switch(config)# ip sla schedule 5 start-time now life forever
Switch(config)# end
Switch# show ip sla configuration 22
IP SLAs, Infrastructure Engine-II.
Entry number: 12
Owner:
Tag:
Type of operation to perform: echo
Target address: 2.2.2.2
Source address: 0.0.0.0
Request size (ARR data portion): 28
Operation timeout (milliseconds): 5000
Type Of Service parameters: 0x0
Verify data: No
Vrf Name:
Schedule:
Operation frequency (seconds): 60
Next Scheduled Start Time: Pending trigger
Group Scheduled : FALSE
Randomly Scheduled : FALSE
Life (seconds): 3600
Entry Ageout (seconds): never
Recurring (Starting Everyday): FALSE
Status of entry (SNMP RowStatus): notInService
Threshold (milliseconds): 5000
Distribution Statistics:
Number of statistic hours kept: 2
Number of statistic distribution buckets kept: 1
Statistic distribution interval (milliseconds): 20
History Statistics:
Number of history Lives kept: 0
Number of history Buckets kept: 15
History Filter Type: None
Enhanced History:
Command Purpose
show ip sla application Displays global information about Cisco IOS IP SLAs.
show ip sla authentication Displays IP SLAs authentication information.
show ip sla configuration [entry-number] Displays configuration values including all defaults for
all IP SLAs operations or a specific operation.
show ip sla enhanced-history {collection-statistics | Displays enhanced history statistics for collected
distribution statistics} [entry-number] history buckets or distribution statistics for all IP SLAs
operations or a specific operation.
show ip sla ethernet-monitor configuration [entry-number] Displays IP SLAs automatic Ethernet configuration.
show ip sla group schedule [schedule-entry-number] Displays IP SLAs group scheduling configuration and
details.
show ip sla history [entry-number | full | tabular] Displays history collected for all IP SLAs operations
show ip sla mpls-lsp-monitor {collection-statistics | Displays MPLS label switched path (LSP) Health
configuration | ldp operational-state | scan-queue | Monitor operations,
summary [entry-number] | neighbors}
show ip sla reaction-configuration [entry-number] Displays the configured proactive threshold monitoring
settings for all IP SLAs operations or a specific
operation.
show ip sla reaction-trigger [entry-number] Displays the reaction trigger information for all IP
SLAs operations or a specific operation.
show ip sla responder Displays information about the IP SLAs responder.
show ip sla statistics [entry-number | aggregated | Displays current or aggregated operational status and
details] statistics.
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_dhcp.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_overview.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_dns.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_ftp.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_http.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_icmp_echo.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_icmp_pathecho.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_overview.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_multi_scheduler.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_overview.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_icmp_pathjitter.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_threshold_mon.html
IP SLAs - Scheduler
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_overview.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_tcp.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_udp_echo.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_udp_jitter.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_multi_scheduler.html
IPv6 - IP SLAs (UDP Jitter, UDP Echo, ICMP Echo, TCP Connect)
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_udp_jitter.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_udp_echo.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_icmp_echo.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_tcp.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_overview.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_lsp_mon_autodisc.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_lsp_mon_autodisc.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_overview.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_dlsw.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_overview.html
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_lsp_mon_autodisc.html
IP SLAs Responder
http://www.cisco.com/en/US/docs/ios/ipsla/configuration/guide/sla_overview.html
This chapter describes how to configure Remote Network Monitoring (RMON) on your Catalyst 4500
series switch. RMON is a standard monitoring specification that defines a set of statistics and functions
that can be exchanged between RMON-compliant console systems and network probes. RMON provides
you with comprehensive network-fault diagnosis, planning, and performance-tuning information.
Note For complete syntax and usage information for the commands used in this chapter, see the
Cisco IOS Configuration Fundamentals Command Reference
http://www.cisco.com/en/US/docs/ios/fundamentals/command reference/cf_book.html
http://www.cisco.com/en/US/products/ps6350/index.html
About RMON
RMON is an Internet Engineering Task Force (IETF) standard monitoring specification that allows
various network agents and console systems to exchange network monitoring data. You can use the
RMON feature with the Simple Network Management Protocol (SNMP) agent in the switch to monitor
all the traffic flowing among switches on all connected LAN segments.
Catalyst 4500
switch
RMON alarms and events
configured. SNMP configured.
RMON history
and statistic
collection enabled.
Catalyst 4500 Catalyst 4500
switch switch
133836
Workstations Workstations
RMON history
and statistic
collection enabled.
92428
BladeCenter BladeCenter
• Alarm (RMON group 3)—Monitors a specific MIB object for a specified interval, triggers an alarm
at a specified value (rising threshold), and resets the alarm at another value (falling threshold).
Alarms can be used with events; the alarm triggers an event, which can generate a log entry or an
SNMP trap.
• Event (RMON group 9)—Determines the action to take when an event is triggered by an alarm. The
action can be to generate a log entry or an SNMP trap.
Because switches supported by Cisco IOS Release 12.2(31)SG use hardware counters for RMON data
processing, the monitoring is more efficient, and little processing power is required.
Configuring RMON
This section describes how to configure RMON on your switch. It contains this configuration
information:
• Default RMON Configuration, page 51-3
• Configuring RMON Alarms and Events, page 51-3
• Configuring RMON Collection on an Interface, page 51-5
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 rmon alarm number variable interval {absolute | delta} Sets an alarm on a MIB object.
rising-threshold value [event-number]
falling-threshold value [event-number] • For number, specify the alarm number. The
[owner string] range is 1 to 65535.
• For variable, specify the MIB object to
monitor.
• For interval, specify the time in seconds the
alarm monitors the MIB variable. The range is
1 to 4294967295 seconds.
• Specify the absolute keyword to test each MIB
variable directly; specify the delta keyword to
test the change between samples of a MIB
variable.
• For value, specify a number at which the alarm
is triggered and one for when the alarm is reset.
The range for the rising threshold and falling
threshold values is -2147483648 to
2147483647.
• (Optional) For event-number, specify the event
number to trigger when the rising or falling
threshold exceeds its limit.
• (Optional) For owner string, specify the owner
of the alarm.
Step 3 rmon event number [description string] [log] [owner Adds an event in the RMON event table that is
string] [trap community] associated with an RMON event number.
• For number, assign an event number. The range
is 1 to 65535.
• (Optional) For description string, specify a
description of the event.
• (Optional) Use the log keyword to generate an
RMON log entry when the event is triggered.
• (Optional) For owner string, specify the owner
of this event.
• (Optional) For community, enter the SNMP
community string used for this trap.
Step 4 end Returns to privileged EXEC mode.
Step 5 show running-config Verifies your entries.
Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration
file.
To disable an alarm, use the no rmon alarm number global configuration command on each alarm you
configured. You cannot disable at once all the alarms that you configured. To disable an event, use the
no rmon event number global configuration command. To learn more about alarms and events and how
they interact with each other, see RFC 1757.
You can set an alarm on any MIB object. The following example configures RMON alarm number 10
by using the rmon alarm command. The alarm monitors the MIB variable ifEntry.20.1 once every 20
seconds until the alarm is disabled and checks the change in the variable’s rise or fall. If the ifEntry.20.1
value shows a MIB counter increase of 15 or more, such as from 100000 to 100015, the alarm is
triggered. The alarm in turn triggers event number 1, which is configured with the rmon event
command. Possible events can include a log entry or an SNMP trap. If the ifEntry.20.1 value changes
by 0, the alarm is reset and can be triggered again.
Switch(config)# rmon alarm 10 ifEntry.20.1 20 delta rising-threshold 15 1
falling-threshold 0 owner jjohnson
The following example creates RMON event number 1 by using the rmon event command. The event
is defined as High ifOutErrors and generates a log entry when the event is triggered by the alarm. The
user jjones owns the row that is created in the event table by this command. This example also generates
an SNMP trap when the event is triggered.
Switch(config)# rmon event 1 log trap eventtrap description “High ifOutErrors” owner
jjones
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 interface interface-id Specifies the interface on which to collect history, and enter
interface configuration mode.
Step 3 rmon collection history index Enables history collection for the specified number of buckets
[buckets bucket-number] [interval seconds] and time period.
[owner ownername]
• For index, identify the RMON group of statistics The range
is 1 to 65535.
• (Optional) For buckets bucket-number, specify the
maximum number of buckets desired for the RMON
collection history group of statistics. The range is 1 to
65535. The default is 50 buckets.
• (Optional) For interval seconds, specify the number of
seconds in each polling cycle.
• (Optional) For owner ownername, enter the name of the
owner of the RMON group of statistics.
To disable history collection, use the no rmon collection
history index interface configuration command.
Step 4 end Returns to privileged EXEC mode.
Step 5 show running-config Verifies your entries.
Command Purpose
Step 6 show rmon history Displays the contents of the switch history table.
Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Command Purpose
Step 1 configure terminal Enters global configuration mode.
Step 2 interface interface-id Specifies the interface on which to collect statistics, and enter
interface configuration mode.
Step 3 rmon collection stats index [owner Enables RMON statistic collection on the interface.
ownername]
• For index, specify the RMON group of statistics. The range
is from 1 to 65535.
• (Optional) For owner ownername, enter the name of the
owner of the RMON group of statistics.
To disable the collection of group Ethernet statistics, use the no
rmon collection stats index interface configuration command.
Step 4 end Returns to privileged EXEC mode.
Step 5 show running-config Verifies your entries.
Step 6 show rmon statistics Displays the contents of the switch statistics table.
Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Command Purpose
show rmon Displays general RMON statistics.
show rmon alarms Displays the RMON alarm table.
show rmon events Displays the RMON event table.
show rmon history Displays the RMON history table.
show rmon statistics Displays the RMON statistics table.
This chapter describes how to configure the Call Home feature in Catalyst 4500 Series Switch.
Note For complete syntax and usage information for the switch commands used in this chapter, refer to the
Catalyst 4500 Series Switch Cisco IOS Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
a network support engineer, e-mail notification to a Network Operations Center, XML delivery to a
support website, and utilization of Cisco Smart Call Home services for direct case generation with the
Cisco Systems Technical Assistance Center (TAC).
The Call Home feature can deliver alert messages containing information on configuration, diagnostics,
environmental conditions, inventory, and syslog events.
The Call Home feature can deliver alerts to multiple recipients, referred to as Call Home destination
profiles, each with configurable message formats and content categories. A predefined destination
profile is provided for sending alerts to the Cisco TAC ([email protected]), and you also can define
your own destination profiles.
Flexible message delivery and format options make it easy to integrate specific support requirements.
The Call Home feature offers the following advantages:
• Multiple message-format options:
– Short Text—Suitable for pagers or printed reports.
– Plain Text—Full formatted message information suitable for human reading.
– XML—Matching readable format using Extensible Markup Language (XML) and Adaptive
Markup Language (AML) document type definitions (DTDs). The XML format enables
communication with the Cisco TAC.
• Multiple concurrent message destinations.
• Multiple message categories including configuration, diagnostics, environmental conditions,
inventory, and syslog events.
• Filtering of messages by severity and pattern matching.
• Scheduling of periodic message sending.
Note No version of the call-home command will remove the config setting.
Tip From the Smart Call Home web application, you can download a basic configuration script to assist you
in the configuration of the Call Home feature for use with Smart Call Home and the Cisco TAC. The
script will also assist in configuring the trustpoint CA for secure communications with the Smart Call
Home service. The script, provided on an as-is basis, can be downloaded from this URL:
http://www.cisco.com/en/US/products/ps7334/serv_home.html
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# call-home Enters the Call Home configuration submode.
Note No version of this command will re move
the settings.
Step 3 Switch(cfg-call-home)# contact-email-addr Assigns the customer’s e-mail address. Enter up
email-address to 200 characters in e-mail address format with
no spaces.
Step 4 Switch(cfg-call-home)# phone-number (Optional) Assigns the customer’s phone
+phone-number number.
Note The number must begin with a plus (+)
prefix, and may contain only dashes (-)
and numbers. Enter up to 16 characters.
If you include spaces, you must enclose
your entry in quotes (“”).
Step 5 Switch(cfg-call-home)# street-address (Optional) Assigns the customer’s street address
street-address where RMA equipment can be shipped. Enter up
to 200 characters. If you include spaces, you
must enclose your entry in quotes (“”).
Step 6 Switch(cfg-call-home)# customer-id text (Optional) Identifies the customer ID. Enter up to
64 characters. If you include spaces, you must
enclose your entry in quotes (“”).
Step 7 Switch(cfg-call-home)# site-id text (Optional) Identifies the customer site ID. Enter
up to 200 characters. If you include spaces, you
must enclose your entry in quotes (“”).
Step 8 Switch(cfg-call-home)# contract-id text (Optional) Identifies the customer’s contract ID
for the switch. Enter up to 64 characters. If you
include spaces, you must enclose your entry in
quotes (“”).
Note If you use the Cisco Smart Call Home service, the destination profile must use the XML message format.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# call-home Enters the Call Home configuration submode.
Step 3 Switch(cfg-call-home)# profile name Enters the Call Home destination profile configuration
submode for the specified destination profile. If the
specified destination profile does not exist, it is created.
Step 4 Switch(cfg-call-home-profile)# [no] (Optional) Enables the message transport method. The no
destination transport-method {email option disables the method.
| http}
Command Purpose
Step 5 Switch(cfg-call-home-profile)# Configures the destination e-mail address or URL to which
destination address {email Call Home messages will be sent.
email-address | http url}
Note When entering a destination URL, include either
http:// or https://, depending on whether the server
is a secure server. If the destination is a secure
server, you must also configure a trustpoint CA.
Step 6 Switch(cfg-call-home-profile)# (Optional) Configures a preferred message format. The
destination preferred-msg-format default is XML.
{long-text | short-text | xml}
Step 7 Switch(cfg-call-home-profile)# (Optional) Configures a maximum destination message size
destination message-size-limit bytes for the destination profile.
Step 8 Switch(cfg-call-home-profile)# Enables the destination profile. By default, the profile is
active enabled when it is created.
Step 9 Switch(cfg-call-home-profile)# exit Exits the Call Home destination profile configuration
submode and returns to the Call Home configuration
submode.
Step 10 Switch(cfg-call-home)# end Returns to privileged EXEC mode.
Step 11 Switch# show call-home profile {name Displays the destination profile configuration for a
| all} specified profile or all configured profiles.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# call-home Enters the Call Home configuration submode.
Step 3 Switch(cfg-call-home)# copy profile Creates a new destination profile with the same
source-profile target-profile configuration settings as the existing destination
profile.
You can select one or more alert groups to be received by a destination profile.
Note A Call Home alert is only sent to destination profiles that have subscribed to the alert group containing
that Call Home alert. In addition, the alert group must be enabled.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# call-home Enters Call Home configuration submode.
Step 3 Switch(cfg-call-home)# alert-group Enables the specified alert group. Use the
{all|configuration|diagnostic| keyword all to enable all alert groups. By
environment|inventory|syslog}
default, all alert groups are enabled.
Step 4 Switch(cfg-call-home)# profile name Enters the Call Home destination profile
configuration submode for the specified
destination profile.
Step 5 Switch(cfg-call-home-profile)# Subscribes this destination profile to the
subscribe-to-alert-group configuration Configuration alert group. The Configuration
[periodic {daily hh:mm | monthly date hh:mm |
weekly day hh:mm}]
alert group can be configured for periodic
notification, as described in the “Configuring
Periodic Notification” section on page 52-8.
Switch(cfg-call-home-profile)# Subscribes to all available alert groups.
subscribe-to-alert-group all
Step 6 Switch(cfg-call-home-profile)# Subscribes this destination profile to the
subscribe-to-alert-group diagnostic Diagnostic alert group. The Diagnostic alert
[severity catastrophic|disaster|
fatal|critical|major|minor|warning|
group can be configured to filter messages based
notification|normal|debugging] on severity, as described in the “Configuring
Message Severity Threshold” section on
page 52-8.
Step 7 Switch(cfg-call-home-profile)# Subscribes this destination profile to the
subscribe-to-alert-group environment Environment alert group. The Environment alert
[severity catastrophic|disaster|
fatal|critical|major|minor|warning|
group can be configured to filter messages based
notification|normal|debugging] on severity, as described in the “Configuring
Message Severity Threshold” section on
page 52-8.
Step 8 Switch(cfg-call-home-profile)# Subscribes this destination profile to the
subscribe-to-alert-group inventory Inventory alert group. The Inventory alert group
[periodic {daily hh:mm | monthly date hh:mm |
weekly day hh:mm}]
can be configured for periodic notification, as
described in the “Configuring Periodic
Notification” section on page 52-8.
Command Purpose
Step 9 Switch(cfg-call-home-profile)# Subscribes this destination profile to the Syslog
subscribe-to-alert-group syslog alert group. The Syslog alert group can be
[severity catastrophic|disaster|
fatal|critical|major|minor|warning|
configured to filter messages based on severity,
notification|normal|debugging] as described in the “Configuring Message
[pattern string] Severity Threshold” section on page 52-8. You
can specify a pattern to be matched in the syslog
message. If the pattern contains spaces, you
must enclose it in quotes (“”).
Step 10 Switch(cfg-call-home-profile)# exit Exits the Call Home destination profile
configuration submode.
Note Call Home severity levels differ from the system message logging severity levels.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# call-home Enters Call Home configuration submode.
Step 3 Switch(cfg-call-home)# mail-server Assigns an e-mail server address and its relative priority
{ipv4-address | name} priority number among configured e-mail servers.
Provide either of these:
• The e-mail server’s IP address
• The e-mail server’s fully qualified domain name
(FQDN) of 64 characters or less.
Assign a priority number between 1 (highest priority) and
100 (lowest priority).
Step 4 Switch(cfg-call-home)# sender from (Optional) Assigns the e-mail address that will appear in
email-address the from field in Call Home e-mail messages. If no
address is specified, the contact e-mail address is used.
Step 5 Switch(cfg-call-home)# sender (Optional) Assigns the e-mail address that will appear in
reply-to email-address the reply-to field in Call Home e-mail messages.
Step 6 Switch(cfg-call-home)# rate-limit (Optional) Specifies a limit on the number of messages
number sent per minute, from 1 to 60. The default is 20.
Step 7 Switch(cfg-call-home)# vrf vrf-name (Optional) Specifies the VRF instance to send Call Home
e-mail messages. If no VRF is specified, the global
routing table is used.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# service call-home Enables the Call Home feature.
Command Purpose
Step 1 Switch# configure terminal Enters configuration mode.
Step 2 Switch(config)# no service call-home Enables the Call Home feature.
Command Purpose
Step 1 Switch# call-home test [“test-message”] Sends a test message to the specified destination
profile name profile. The user-defined test message text is optional,
but must be enclosed in quotes (“”) if it contains
spaces. If no user-defined message is configured, a
default message will be sent.
This example shows how to manually send a Call Home test message:
Switch# call-home test “test of the day” profile Ciscotac1
Command Purpose
Step 1 Switch# call-home send alert-group Sends a configuration alert group message to one
configuration [profile name] destination profile if specified, or to all subscribed
destination profiles.
Switch# call-home send alert-group Sends a diagnostic alert group message to the
diagnostic {module number | slot/subslot configured destination profile if specified, or to all
| slot/bay} [profile name]
subscribed destination profiles. You must specify the
module or port whose diagnostic information should
be sent.
Switch# call-home send alert-group Sends an inventory alert group message to one
inventory [profile name] destination profile if specified, or to all subscribed
destination profiles.
When manually sending Call Home alert group messages, note the following guidelines:
• You can only manually send the configuration, diagnostic, and inventory alert groups.
• When you manually trigger a configuration, diagnostic, or inventory alert group message and you
specify a destination profile name, a message is sent to the destination profile regardless of the
profile’s active status, subscription status, or severity setting.
• When you manually trigger a configuration or inventory alert group message and do not specify a
destination profile name, a message is sent to all active profiles that have either a normal or periodic
subscription to the specified alert group.
• When you manually trigger a diagnostic alert group message and do not specify a destination profile
name, the command will cause the following actions:
– For any active profile that subscribes to diagnostic events with a severity level of less than
minor, a message is sent regardless of whether the module or interface has observed a diagnostic
event.
– For any active profile that subscribes to diagnostic events with a severity level of minor or
higher, a message is sent only if the specified module or interface has observed a diagnostic
event of at least the subscribed severity level; otherwise, no diagnostic message is sent to the
destination profile.
This example shows how to send the configuration alert-group message to the destination profile:
Switch# call-home send alert-group configuration
This example shows how to send the diagnostic alert-group message to the destination profile for a
specific module, slot/subslot, or slot/bay number.
Switch# call-home send alert-group diagnostic module 3 5/2
This example shows how to send the diagnostic alert-group message to all destination profiles for a
specific module, slot/subslot, or slot/bay number.
Switch# call-home send alert-group diagnostic module 3 5/2 profile Ciscotac1
Command Purpose
Step 1 Switch# call-home request Sends the output of the specified show command for
output-analysis “show-command” analysis. The show command must be contained in
[profile name] [ccoid user-id]
quotes (“”).
Switch# call-home request {config-sanity Sends the output of a predetermined set of commands
| bugs-list | command-reference | for analysis such as show running-config all, show
product-advisory}
[profile name] [ccoid user-id]
version, or show module commands. In addition, the
call-home request product-advisory command
includes all inventory alert group commands.
The keyword specified after the call home request
command specifies the type of report required.
When manually sending a Call Home report and analysis request, note the following guidelines:
• If you specify a profile name value, the request is sent to the profile. If you do not specify a profile
name, the request is sent to the Cisco TAC profile. The recipient profile does not need to be enabled
for the Call Home request. The profile should specify the e-mail address where the transport
gateway is configured so that the request message can be forwarded to the Cisco TAC and the user
can receive the reply from the Smart Call Home service.
• The ccoid user-id value is the registered identifier of the Smart Call Home user. If you specify a
user-id, the response is sent to the e-mail address of the registered user. If do not specify a user-id,
the response is sent to the contact e-mail address of the device.
• Based on the keyword specifying the type of report requested, the following information is returned:
– config-sanity—Information on best practices as related to the current running configuration
– bugs-list—Known bugs in the running version and in the currently applied features
– command-reference—Reference links to all commands in the running configuration
– product-advisory—Product Security Incident Response Team (PSIRT) notices, End of Life
(EOL) or End of Sales (EOS) notices, or field notices (FN) that may affect devices in your
network
This example shows a request for analysis of a user-specified show command:
Switch# call-home request output-analysis "show diagnostic result module all" profile TG
Command Purpose
Step 1 Switch# call-home send “command” Executes the specified CLI command and e-mails the
[email email-addr] [service-number SR] output.
Command Purpose
Switch# show call-home Displays the Call Home configuration in summary.
Switch# show call-home detail Displays the Call Home configuration in detail.
Switch# show call-home alert-group Displays the available alert groups and their status.
Switch# show call-home mail-server status Checks and displays the availability of the
configured e-mail server(s).
Switch# show call-home profile {all | name} Displays the configuration of the specified
destination profile. Use the keyword all to display
the configuration of all destination profiles.
Switch# show call-home statistics Displays the statistics of Call Home events.
Examples 52-1 to 52-7 show the results when using different options of the show call-home command.
Profiles:
Profile Name: campus-noc
Profile Name: CiscoTAC-1
Switch#
Profiles:
Alert-group Severity
------------------------ ------------
inventory normal
Syslog-Pattern Severity
------------------------ ------------
N/A N/A
Periodic configuration info message is scheduled every 1 day of the month at 09:27
Periodic inventory info message is scheduled every 1 day of the month at 09: 12
Alert-group Severity
------------------------ ------------
diagnostic minor
environment warning
inventory normal
Syslog-Pattern Severity
------------------------ ------------
.* major
Switch#
Switch#
Translating "smtp.example.com"
Mail-server[1]: Address: smtp.example.com Priority: 1 [Not Available]
Mail-server[2]: Address: 192.168.0.1 Priority: 2 [Not Available]
Switch#
Example 52-5 Information for All Destination Profiles (Predefined and User-Defined)
Alert-group Severity
------------------------ ------------
inventory normal
Syslog-Pattern Severity
------------------------ ------------
N/A N/A
Periodic configuration info message is scheduled every 1 day of the month at 09:27
Periodic inventory info message is scheduled every 1 day of the month at 09:12
Alert-group Severity
------------------------ ------------
diagnostic minor
environment warning
inventory normal
Syslog-Pattern Severity
------------------------ ------------
.* major
Switch#
Periodic configuration info message is scheduled every 11 day of the month at 11:25
Periodic inventory info message is scheduled every 11 day of the month at 11:10
Alert-group Severity
------------------------ ------------
diagnostic minor
environment warning
inventory normal
Syslog-Pattern Severity
------------------------ ------------
.* major
Total In-Queue 0 0 0
Config 0 0 0
Diagnostic 0 0 0
Environment 0 0 0
Inventory 0 0 0
SysLog 0 0 0
Test 0 0 0
Request 0 0 0
Send-CLI 0 0 0
Total Failed 0 0 0
Config 0 0 0
Diagnostic 0 0 0
Environment 0 0 0
Inventory 0 0 0
SysLog 0 0 0
Test 0 0 0
Request 0 0 0
Send-CLI 0 0 0
Total Ratelimit
-dropped 0 0 0
Config 0 0 0
Diagnostic 0 0 0
Environment 0 0 0
Inventory 0 0 0
SysLog 0 0 0
Test 0 0 0
Request 0 0 0
Send-CLI 0 0 0
Default Settings
Table 52-2 lists the default Call Home settings.
Parameters Default
Call Home feature status Disabled
User-defined profile status Active
Predefined Cisco TAC profile status Inactive
Transport method E-mail
Message format type XML
Destination message size for a message sent in long text, short text, or XML format 3,145,728
Alert group status Enabled
Call Home message severity threshold 1 (normal)
Message rate limit for messages per minute 20
Call Home
Alert Group Trigger Event Syslog Event Severity Description and CLI Commands Executed
Syslog Event logged to syslog. (Only sent to TAC if syslog
level 0, 1, or 2)
CLI commands executed:
show logging
show inventory
SYSLOG LOG_EMERG 7 System is unusable.
SYSLOG LOG_ALERT 6 Action must be taken immediately.
SYSLOG LOG_CRIT 5 Critical conditions.
SYSLOG LOG_ERR 4 Error conditions.
SYSLOG LOG_WARNING 3 Warning conditions.
SYSLOG LOG_NOTICE 2 Normal but signification condition.
SYSLOG LOG_INFO 1 Informational.
SYSLOG LOG_DEBUG 0 Debug-level messages.
Environmental Events related to power, fan, and environment sensing
elements, such as temperature alarms. (Sent to TAC.)
CLI commands executed:
show module
show environment
show logging
show power
show inventory
TEMP_FAILU TempHigh 5 The temperature of the chassis is above the normal
RE threshold.
TEMP_FAILU Critical Temp 5 The temperature of the chassis has risen above the
RE critical threshold.
TEMP_FAILU Shutdown Temp 5 The temperature of the chassis is very high and the
RE system will be shut down.
TEMP_FAILU Some Temp Sensors 3 Some of the temperature sensors have failed.
RE Failed
TEMP_FAILU All Temp Sensors 5 All temperature sensors have failed.
RE Failed
TEMP_RECO TempOk 5 The temperature of the chassis is normal.
VER
POWER_FAIL PowerSupplyBad 5 A power supply has failed or has been turned off.
URE
POWER_REC PowerSupplyGood 5 A failed power supply has been fixed.
OVERY
POWER_FAIL PowerSupplyFanBad 3 A power supply fan has failed.
URE
Table 52-3 Call Home Alert Groups, Events, and Actions (continued)
Call Home
Alert Group Trigger Event Syslog Event Severity Description and CLI Commands Executed
POWER_ PowerSupplyFanGood 3 A failed power supply fan has been fixed.
RECOVERY
POWER_REC PowerSupplyOutputInc 3 A power supply output has increased.
OVERY reased
POWER_FAIL PowerSupplyOutputDe 3 A powet supply output has decreased.
URE creased
POWER_FAIL InlinePowerSupplyBad 3 Inline power source from a power supply has failed or
URE turned off.
POWER_FAIL MixedPowerSupplyInC 3 Mixed power supplies have been detected in the
URE hassis chassis.
POWER_FAIL NotEnoughPowerChass 6 There is insufficient power to support the system. The
URE is system might shut down.
POWER_ InlinePowerSupplyGoo 3 A failed source for inline power has been fixed.
RECOVERY d
FANTRAY_FA FanTrayPartialFailure 3 Either a fan or thermistors in system fan tray has
ILURE failed.
FANTRAY_FA FanTrayMismatch 3 The fantray, supervisor, chassis combination is
ILURE disallowed.
FANTRAY_FA FanTrayBad 5 Fan tray has failed.
ILURE
FANTRAY_ FanTrayGood 3/5 Failed fan tray has been fixed.The severity of the
RECOVERY notification depends on the failure which has been
recovered from.
FANTRAY_ InsufficientFantray 6 There are not enough FanTray to support the system.
FAILURE This may be followed by a system shut down.
CLOCK_ALA ClockSwitchover 2 Clock module has switched over to another clock.
RM
CLOCK_ALA Clock Faulty 3 The clock module has been found to be faulty.
RM
Inventory Inventory status should be provided whenever a unit is
cold-booted, or when FRUs are inserted or removed.
it is considered a noncritical event, and the
information is used for status and entitlement.
CLI commands executed:
show module
show version
show inventory oid
show idprom all
show power
INSERTION Module 1 A linecard or supervisor engine has been inserted into
a slot.
Table 52-3 Call Home Alert Groups, Events, and Actions (continued)
Call Home
Alert Group Trigger Event Syslog Event Severity Description and CLI Commands Executed
REMOVAL Module 1 A linecard or supervisor engine has been removed
from a slot.
Diagnostic 1/3/4/5 Events related to standard or intelligent line cards.
Failure
CLI commands executed:
show module
show version
show inventory
show buffers
show logging
show diagnostic result module x detail
show diagnostic result module all
Test TEST 1 User-generated test message.
CLI commands executed:
show module
show version
show inventory
Configuration 1 User-generated request for configuration.
CLI commands executed:
show module
show inventory
show version
show running-config all
show startup-config
Message Contents
The following tables display the content formats of alert group messages:
• Table 52-4 describes the content fields of a short text message.
• Table 52-5 describes the content fields that are common to all long text and XML messages. The
fields specific to a particular alert group message are inserted at a point between the common fields.
The insertion point is identified in the table.
• Table 52-6 describes the inserted content fields for reactive messages (system failures that require a
TAC case) and proactive messages (issues that might result in degraded system performance).
• Table 52-7 describes the inserted content fields for an inventory message.
Table 52-5 Common Fields for All Long Text and XML Messages
Table 52-5 Common Fields for All Long Text and XML Messages (continued)
Table 52-5 Common Fields for All Long Text and XML Messages (continued)
len=29, strlen=29) *Aug 5 02:21:32.535 PDT: CALL-HOME-TRACE: Have {4} to convert to int
*Aug 5 02:21:32.535 PDT: CALL-HOME-TRACE: call_home_get_event_src_slot: slot for given
event is 4 *Aug 5 02:21:32.535 PDT: CALL-HOME-TRACE: Time zome NAME=PDT, offset=61200,
display=+17:00 *Aug 5 02:21:32.535 PDT: CALL-HOME-TRACE: Date/time is <2010-08-05
02:21:26 GMT+17:00> (fmt len=29, strlen=29) *Aug 5 02:21:32.535 PDT: CALL-HOME-TRACE:
Have {4} to convert to int *Aug 5 02:21:32.535 PDT: CALL-HOME-TRACE: collector:Total
alloted entries =1 *Aug 5 02:21:32.535 PDT: CALL-HOME-TRACE: collector: frus value is =1
*Aug 5 02:21:32.535 PDT: CALL-HOME-TRACE: GaliosCallHome_platformSpecificSlotString():
vslot=4, module=4.
*Aug 5 02:21:32.535 PDT: CALL-HOME-TRACE: Event 141 description <Module 4: Unknown is
removed> *Aug 5 02:21:32.535 PDT: CALL-HOME-TRACE: Unable to get SNMP contact string *Aug
5 02:21:32.536 PDT: CALL-HOME-TRACE: call_home_make_xml: Formatting XML message body
(29004) *Aug 5 02:21:32.537 PDT: CALL-HOME-TRACE: call_home_send_msg() is entered,
transport 1, httpc_enabled 1 *Aug 5 02:21:32.537 PDT: CALL-HOME-TRACE: xml args: <?xml
version="1.0"
encoding="UTF-8"?><fh_smtp_args><fh_smtp_vrf_name>vrf1</fh_smtp_vrf_name></fh_smtp_args>
*Aug 5 02:21:32.537 PDT: CALL-HOME-TRACE: Sending message to [[email protected]]
(size=29004) *Aug 5 02:21:32.537 PDT: CALL-HOME-TRACE: mail servers 0 round retry *Aug 5
02:21:32.537 PDT: CALL-HOME-TRACE: Retrieved mail-server <64.104.123.94> priority 1 *Aug
5 02:21:32.734 PDT: CALL-HOME-TRACE: Retrieved mail-server <64.104.193.198> priority 2
*Aug 5 02:21:36.893 PDT: CALL-HOME-TRACE: Mail sent successfully *Aug 5 02:21:36.893
PDT: CALL-HOME-TRACE: call_home_increment_success_call_home_event_counter is entered *Aug
5 02:21:36.893 PDT: CALL-HOME-TRACE: call_home_sync_statistics() is entered *Aug 5
02:21:36.893 PDT: CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5
02:21:36.893 PDT: CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:36.893
PDT: CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5 02:21:36.893 PDT:
CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:36.893 PDT:
CALL-HOME-TRACE: call_home_decrement_inqueue_call_home_event_counter is entered *Aug 5
02:21:36.893 PDT: CALL-HOME-TRACE: call_home_sync_statistics() is entered *Aug 5
02:21:36.893 PDT: CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5
02:21:36.893 PDT: CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:36.893
PDT: CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5 02:21:36.893 PDT:
CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:36.893 PDT:
CALL-HOME-TRACE: call_home_set_test_result_with_lock is entered *Aug 5 02:21:36.893 PDT:
CALL-HOME-TRACE: call_home_sync_statistics() is entered *Aug 5 02:21:36.893 PDT:
CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5 02:21:36.893 PDT:
CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:36.893 PDT:
CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5 02:21:36.893 PDT:
CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:36.893 PDT:
CALL-HOME-TRACE: call_home_event_callback context 0x892BED30, info 0x87353318 *Aug 5
02:21:36.893 PDT: CALL-HOME-TRACE: Callback done TYPE 141 ID 3 SEV 2 SN 0 *Aug 5
02:21:36.893 PDT: CALL-HOME-TRACE:
clean_up_notification_info() is entered....
*Aug 5 02:21:39.716 PDT: CALL-HOME-TRACE: Mail sent successfully *Aug 5 02:21:39.716
PDT: CALL-HOME-TRACE: call_home_increment_success_call_home_event_counter is entered *Aug
5 02:21:39.716 PDT: CALL-HOME-TRACE: call_home_sync_statistics() is entered *Aug 5
02:21:39.716 PDT: CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5
02:21:39.716 PDT: CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:39.716
PDT: CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5 02:21:39.716 PDT:
CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:39.716 PDT:
CALL-HOME-TRACE: call_home_decrement_inqueue_call_home_event_counter is entered *Aug 5
02:21:39.716 PDT: CALL-HOME-TRACE: call_home_sync_statistics() is entered *Aug 5
02:21:39.716 PDT: CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5
02:21:39.716 PDT: CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:39.716
PDT: CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5 02:21:39.716 PDT:
CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:39.716 PDT:
CALL-HOME-TRACE: call_home_set_test_result_with_lock is entered *Aug 5 02:21:39.716 PDT:
CALL-HOME-TRACE: call_home_sync_statistics() is entered *Aug 5 02:21:39.716 PDT:
CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5 02:21:39.716 PDT:
CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:39.716 PDT:
CALL-HOME-TRACE: call_home_get_statistics() is entered *Aug 5 02:21:39.716 PDT:
CALL-HOME-TRACE: call_home_ha_incr_sync: is entered *Aug 5 02:21:39.716 PDT:
NAME: "Mux Buffer 1 ", DESCR: "Mux Buffers for Redundancy Logic"
PID: WS-X4590-EX= , VID: , SN: JAE13093YQZ
NAME: "Mux Buffer 2 ", DESCR: "Mux Buffers for Redundancy Logic"
PID: WS-X4590-EX= , VID: , SN: JAE13093YV4
NAME: "Mux Buffer 5 ", DESCR: "Mux Buffers for Redundancy Logic"
PID: WS-X4590-EX= , VID: , SN: JAE13093YSP
NAME: "Mux Buffer 6 ", DESCR: "Mux Buffers for Redundancy Logic"
PID: WS-X4590-EX= , VID: , SN: JAE13093YRI
NAME: "Mux Buffer 7 ", DESCR: "Mux Buffers for Redundancy Logic"
PID: WS-X4590-EX= , VID: , SN: JAE13093YSJ
NAME: "Linecard(slot 1)", DESCR: "10/100/1000BaseT (RJ45)V with 48 10/100/1000 baseT voice
power ports (Cisco/IEEE)"
PID: WS-X4548-GB-RJ45V , VID: V08 , SN: JAE1121HUQ8
NAME: "Linecard(slot 3)", DESCR: "Sup 7-E 10GE (SFP+), 1000BaseX (SFP) with 4 SFP+ Ports"
PID: WS-X45-SUP7-E , VID: V00 , SN: CAT1351L02Q
NAME: "Linecard(slot 4)", DESCR: "Sup 7-E 10GE (SFP+), 1000BaseX (SFP) with 4 SFP+ Ports"
PID: WS-X45-SUP7-E , VID: V00 , SN: CAT1351L02E
NAME: "Linecard(slot 6)", DESCR: "10/100/1000BaseT (RJ45)V with 48 10/100/1000 baseT voice
power ports (Cisco/IEEE)"
PID: WS-X4548-GB-RJ45V , VID: V08 , SN: JAE1120HNVZ
<ch:ContactPhoneNumber>+919901233008</ch:ContactPhoneNumber>
<ch:StreetAddress>9th Main, HSR, Bangalore, 560034</ch:StreetAddress> </ch:SystemInfo>
<ch:CCOID></ch:CCOID> </ch:CustomerData> <ch:Device> <rme:Chassis
xmlns:rme="http://www.cisco.com/rme/4.0">
<rme:Model>WS-C4507R-E</rme:Model>
<rme:HardwareVersion>1.1</rme:HardwareVersion>
<rme:SerialNumber>FOX1310GHG7</rme:SerialNumber>
<rme:AdditionalInformation>
<rme:AD name="PartNumber" value="73-9975-04" /> <rme:AD name="SoftwareVersion"
value="15.0(100)XO(1.42)" /> <rme:AD name="SystemObjectId" value="1.3.6.1.4.1.9.1.876" />
<rme:AD name="SystemDescription" value="Cisco IOS Software, Catalyst 4500 L3 Switch
Software (cat4500e-UNIVERSALK9-M), Version 15.0(100)XO(1.42), INTERIM SOFTWARE Copyright
(c) 1986-2010 by Cisco Systems, Inc.
Compiled Sun 01-Aug-10 02:58 by gsbuprod" /> </rme:AdditionalInformation> </rme:Chassis>
</ch:Device> </ch:CallHome> </aml-block:Content> <aml-block:Attachments>
<aml-block:Attachment type="inline"> <aml-block:Name>show logging</aml-block:Name>
<aml-block:Data encoding="plain"> <![CDATA[ Syslog logging: enabled (9172 messages
dropped, 1 messages rate-limited, 161 flushes, 0 overruns, xml disabled, filtering
disabled)
NAME: "Mux Buffer 1 ", DESCR: "Mux Buffers for Redundancy Logic"
PID: WS-X4590-EX= , VID: , SN: JAE13093YQZ
NAME: "Mux Buffer 2 ", DESCR: "Mux Buffers for Redundancy Logic"
PID: WS-X4590-EX= , VID: , SN: JAE13093YV4
NAME: "Mux Buffer 5 ", DESCR: "Mux Buffers for Redundancy Logic"
PID: WS-X4590-EX= , VID: , SN: JAE13093YSP
NAME: "Mux Buffer 6 ", DESCR: "Mux Buffers for Redundancy Logic"
PID: WS-X4590-EX= , VID: , SN: JAE13093YRI
NAME: "Mux Buffer 7 ", DESCR: "Mux Buffers for Redundancy Logic"
PID: WS-X4590-EX= , VID: , SN: JAE13093YSJ
NAME: "Linecard(slot 1)", DESCR: "10/100/1000BaseT (RJ45)V with 48 10/100/1000 baseT voice
power ports (Cisco/IEEE)"
PID: WS-X4548-GB-RJ45V , VID: V08 , SN: JAE1121HUQ8
NAME: "Linecard(slot 3)", DESCR: "Sup 7-E 10GE (SFP+), 1000BaseX (SFP) with 4 SFP+ Ports"
PID: WS-X45-SUP7-E , VID: V00 , SN: CAT1351L02Q
NAME: "Linecard(slot 4)", DESCR: "Sup 7-E 10GE (SFP+), 1000BaseX (SFP) with 4 SFP+ Ports"
PID: WS-X45-SUP7-E , VID: V00 , SN: CAT1351L02E
NAME: "Linecard(slot 6)", DESCR: "10/100/1000BaseT (RJ45)V with 48 10/100/1000 baseT voice
power ports (Cisco/IEEE)"
PID: WS-X4548-GB-RJ45V , VID: V08 , SN: JAE1120HNVZ
Callista-4507E#]]></aml-block:Data>
</aml-block:Attachment>
</aml-block:Attachments>
</aml-block:Block>
</soap-env:Body>
</soap-env:Envelope>
You can use diagnostics to test and verify the functionality of the hardware components of your system
(chassis, supervisor engines, modules, and ASICs) while your Catalyst 4500 series switch is connected
to a live network. Diagnostics consists of packet-switching tests that test hardware components and
verify the data path and control signals.
Online diagnostics are categorized as bootup, on-demand, schedule, or health-monitoring diagnostics.
Bootup diagnostics run during bootup; on-demand diagnostics run from the CLI; scheduled diagnostics
run at user-designated intervals or specified times when the switch is connected to a live network; and
health-monitoring runs in the background.
This chapter consists of these sections:
• Configuring Online Diagnostics, page 53-1
• Performing Diagnostics, page 53-2
• Power-On Self-Test Diagnostics, page 53-9
Note For complete syntax and usage information for the switch commands used in this chapter, refer to the
Catalyst 4500 Series Switch Cisco IOS Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Command Purpose
Switch# diagnostic ondemand Configures on-demand diagnostic tests to run, how many
{iteration iteration_count} | times to run (iterations), and what action to take when errors
{action-on-error {continue | stop}
[error_count]}
are found.
This example shows how to set the on-demand testing iteration count:
Switch# diagnostic ondemand iterations 3
Switch#
This example shows how to set the execution action when an error is detected:
Switch# diagnostic ondemand action-on-fAilure continue 2
Switch#
Command Purpose
Switch(config)# diagnostic Schedules on-demand diagnostic tests on the specified
schedule module number test module for a specific date and time, how many times to run
{test_id | test_id_range | all}
[port {num | num_range | all} {on
(iterations), and what action to take when errors are found.
mm dd yyyy hh:mm} | {daily hh:mm}
| {weekly day_of_week hh:mm}}
This example shows how to schedule diagnostic testing on a specific date and time for a specific port on
module 6:
Switch(config)# diagnostic schedule module 6 test 2 port 3 on may 23 2009 23:32
Switch(config)#
Performing Diagnostics
After you configure online diagnostics, you can start or stop diagnostic tests or display the test results.
You can also see which tests are configured and what diagnostic tests have already run.
These sections describe how to run online diagnostic tests after they have been configured:
• Starting and Stopping Online Diagnostic Tests, page 53-3
• Displaying Online Diagnostic Tests and Test Results, page 53-4
• Line card Online Diagnostics, page 53-7
• Troubleshooting with Online Diagnostics, page 53-7
Note Before you enable any online diagnostics tests, enable the logging console or monitor to observe all
warning messages.
Note When running disruptive tests, only run them when you are connected through the console. When
disruptive tests complete, a warning message on the console will recommend that you reload the system
to return to normal operation. Strictly follow this warning.
Command Purpose
Switch# diagnostic start module Starts a diagnostic test on a port or range of ports on the
number test {test_id | specified module.
test_id_range | minimal | complete
| basic | per-port |
non-disruptive | all} [port {num |
port#_range | all}]
Switch# diagnostic stop module Stops a diagnostic test on the specified module.
number
Command Purpose
Switch# show diagnostic content [ Displays diagnostic test information for a module.
module { num | all } ]
Switch# show diagnostic Displays test description for a given test on a module.
description module num [ test
test_id ]
Switch# show diagnostic events Displays diagnostic event log.
Switch# show diagnostic ondemand Displays ondemand test configuration.
settings
Switch# show diagnostic result Shows diagnostic test results.
module { num | all } [ detail |
failure | xml | test { test_id |
test_range | all } [ detail ] ]
Switch# show diagnostic status Shows status of currently running diagnostic tests.
This example shows how to display the online diagnostics configured on module 1:
Switch# show diagnostic content module 6
module 6:
Diagnostics test suite attributes:
M/C/* - Minimal bootup level test / Complete bootup level test / NA
B/* - Basic ondemand test / NA
P/V/* - Per port test / Per device test / NA
D/N/* - Disruptive test / Non-disruptive test / NA
S/* - Only applicable to standby unit / NA
X/* - Not a health monitoring test / NA
F/* - Fixed monitoring interval test / NA
E/* - Always enabled monitoring test / NA
A/I - Monitoring is active / Monitoring is inactive
cable-tdr/* - Interface cable diags / NA
o/* - Ongoing test, always active / NA
Test Interval Thre-
ID Test Name Attributes day hh:mm:ss.ms shold
==== ================================== ============ =============== =====
1) linecard-online-diag ------------> M**D****I** not configured n/a
2) online-diag-tdr -----------------> **PD****Icable- not configured n/a
This example shows how to display the test description for a given test on a module:
Switch# show diagnostic description module 6 test 1
linecard-online-diag :
Linecard online-diagnostics run after the system boots up but
before it starts passing traffic. Each linecard port is placed in
loopback, and a few packets are injected into the switching fabric
from the cpu to the port. If the packets are successfully
received by the cpu, the port passes the test. Sometimes one port
Switch#
This example shows how to display the online diagnostic results for module 6:
Switch# show diagnostic result module 6
1) linecard-online-diag ------------> .
2) online-diag-tdr:
Port 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
----------------------------------------------------------------------------
U U . U U U U U U U U U U U U U U U U U U U U U
Switch#
This example shows how to display the online diagnostic results details for module 6:
Switch# show diagnostic result module 6 detail
Detailed Status
---------------
. = Pass U = Unknown
L = Loopback failure S = Stub failure
P = Port failure
E = SEEPROM failure G = GBIC integrity check failure
Ports 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
. . . . . . . . . . . . . . . .
Ports 17 18 19 20 21 22 23 24
. . . . . . . .
___________________________________________________________________________
2) online-diag-tdr:
Port 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
----------------------------------------------------------------------------
U U . U U U U U U U U U U U U U U U U U U U U U
Detailed Status
---------------
Interface Speed Local pair Cable length Remote channel Status
Gi6/3 1Gbps 1-2 N/A Unknown Terminated
3-6 N/A Unknown Terminated
4-5 N/A Unknown Terminated
7-8 N/A Unknown Terminated
___________________________________________________________________________
Switch#
This example shows how to display the test schedule for a module:
This example shows how to display the status of currently running tests
Switch# show diagnostic status
1 N/A N/A
Note This test is run only for line cards that have stub chips.
Line card online diagnostics runs only once, when the line cards boot. This situation can happen when
you insert a linecard or power up a chassis.
Line card online diagnostics are performed by sending a packet from the CPU to every port on the line
card. Because this packet is marked loopback, the CPU expects to see this packet return from the port.
The packet first traverses the ASICs on the supervisor engine card, then travels via the chassis backplane
and the stub chip on the line cards to the PHYs. The PHY sends it back down the same path.
Note The packet does not reach or exit the front panel port.
1) linecard-online-diag ------------> F
Switch#
Issue an RMA for the line card, contact TAC, and skip steps 2 and 3.
The output may display the following:
module 3:
1) linecard-online-diag --------------------> .
The message indicates that the line card passed online diagnostics either when it was inserted into the
chassis the last time or when the switch was powered up (as reported by the “.”). You need to obtain
additional information to determine the cause.
Step 2 Insert a different supervisor engine card and reinsert the line card.
If the linecard passes the test, it suggests that the supervisor engine card is defective.
Issue an RMA for the supervisor engine, contact TAC, and skip step 3.
Because online diagnostics does not run on the supervisor engine card, you cannot use the
#show diagnostic module 1 command to test whether the supervisor engine card is faulty.
Step 3 Reinsert the linecard in a different chassis.
If the linecard passes the test, the problem is associated with the chassis.
Issue an RMA for the chassis and contact TAC.
Overview
All Catalyst 4500 series switches have power-on self-test (POST) diagnostics that run whenever a
supervisor engine boots. POST tests the basic hardware functionality for the supervisor switching
engine, its associated packet memory and other on-board hardware components. The results of the POST
impacts how the switch boots, because the health of the supervisor engine is critical to the operation of
the switch. The switch might boot in a marginal or faulty state.
POST is currently supported on the following supervisor engines:
• WS-X4014
• WS-X4515
• WS-X4516
• WS-X4516-10GE
• WS-X4013+
• WS-X4013+TS
• WS-X4013+10GE
• WS-C4948G
• WS-C4948G-10GE
• ME-4924-10GE
• WS-X45-SUP6-E
• WS-X45-SUP6L-E
The POST results are indicated with a period (.) or a Pass for Pass, an F for a Fail and a U for Untested.
Note A supervisor engine runs POST during boot up (insertion or power on). In a redundant topology, both
supervisor engines run POST individually. Switchovers are allowed only after both supervisor engines
have booted. During a switchover, the standby supervisor engine does not run POST again because it
has already booted.
The following example illustrates the output of a CPU subsystem test on a WS-X4013+TS supervisor
engine.
[..]
Cpu Subsystem Tests ...
seeprom: . temperature_sensor: .
[..]
For traffic tests, POST sends packets from the CPU to the switch. These packets loop several times
within the switch core and validate the switching, the Layer 2 and the Layer 3 functionality. To isolate
the hardware failures accurately, the loop back is done both inside and outside the switch ports.
The following example illustrates the output of a Layer 2 traffic test at the switch ports on the supervisor
engines WS-X4516, WS-X4516-10GE, WS-X4013+10GE, WS-C4948G-10GE:
Port Traffic: L2 Serdes Loopback ...
0: . 1: . 2: . 3: . 4: . 5: . 6: . 7: . 8: . 9: . 10: . 11: .
12: . 13: . 14: . 15: . 16: . 17: . 18: . 19: . 20: . 21: . 22: . 23: .
24: . 25: . 26: . 27: . 28: . 29: . 30: . 31: . 32: . 33: . 34: . 35: .
36: . 37: . 38: . 39: . 40: . 41: . 42: . 43: . 44: . 45: . 46: . 47: .
The following example illustrates the output of a Layer 2 traffic test at the switch ports on the supervisor
engines WS-X4013+TS, WS-X4515, WS-X4013+, WS-X4014, WS-C4948G:
Port Traffic: L2 Serdes Loopback ...
0: . 1: . 2: . 3: . 4: . 5: . 6: . 7: . 8: . 9: . 10: . 11: .
12: . 13: . 14: . 15: . 16: . 17: . 18: . 19: . 20: . 21: . 22: . 23: .
24: . 25: . 26: . 27: . 28: . 29: . 30: . 31:
POST also performs tests on the packet and system memory of the switch. These are numbered
dynamically in ascending order starting with 1 and represent different memories.
The following example illustrates the output from a system memory test:
Switch Subsystem Memory ...
1: . 2: . 3: . 4: . 5: . 6: . 7: . 8: . 9: . 10: . 11: . 12: .
13: . 14: . 15: . 16: . 17: . 18: . 19: . 20: . 21: . 22: . 23: . 24: .
25: . 26: . 27: . 28: . 29: . 30: . 31: . 32: . 33: . 34: . 35: . 36: .
37: . 38: . 39: . 40: . 41: . 42: . 43: . 44: . 45: . 46: . 47: . 48: .
49: . 50: . 51: . 52: . 53: . 54: . 55: .
POST also tests the NetFlow services card (Supervisor Engine IV and Supervisor Engine V) and the
NetFlow services feature (Supervisor Engine V -10GE). Failures from these tests are treated as marginal,
as they do not impact functionality of the switch (except for the unavailability of the NetFlow features):
Netflow Services Feature ...
se: . cf: . 52: . 53: . 54: . 55: . 56: . 57: . 58: . 59: . 60: . 61: .
62: . 63: . 64: . 65: .
Note Supervisor Engine VI-E retains most of the previous supervisor engines’ POST features including the
CPU subsystem tests, Layer 3 and Layer 2 traffic tests, and memory tests. Redundant ports on redundant
systems are not tested. All POST diagnostics are local to the supervisor engine running the tests.
The following example shows the output for a WS-X4516 supervisor engine:
Switch# show diagnostic result module 2 detail
module 2:
___________________________________________________________________________
1) supervisor-bootup -----------------------> .
Module 2 Passed
___________________________________________________________________________
2) packet-memory-bootup --------------------> U
___________________________________________________________________________
3) packet-memory-ongoing -------------------> U
0 0 0 0 0 0 0 0 0 0
Per hour in the last day:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0
Per day in the last 30 days:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Direct memory test failures per minute in the last hour:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Potential false positives: 0 0
Ignored because of rx errors: 0 0
Ignored because of cdm fifo overrun: 0 0
Ignored because of oir: 0 0
Ignored because isl frames received: 0 0
Ignored during boot: 0 0
Ignored after writing hw stats: 0 0
Ignored on high gigaport: 0
Ongoing diag action mode: Normal
Last 1000 Memory Test Failures:
Last 1000 Packet Memory errors:
First 1000 Packet Memory errors:
___________________________________________________________________________
Switch#
The following example shows the output for a WS-X45-SUP6-E supervisor engine:
Switch# show diagnostic result module 3 detail
1) supervisor-bootup --------------->
Error code ------------------> 0 (DIAG_SUCCESS)
Total run count -------------> 1
Last test execution time ----> Oct 01 2007 17:37:04
First test failure time -----> n/a
Last test failure time ------> n/a
Last test pass time ---------> Oct 01 2007 17:37:04
Total failure count ---------> 0
Consecutive failure count ---> 0
Power-On-Self-Test Results for ACTIVE Supervisor
prod: WS-X45-SUP6-E part: XXXXXXXXX serial: XXXXXXXXXX
Power-on-self-test for Module 3: WS-X45-SUP6-E
Test Status: (. = Pass, F = Fail, U = Untested)
Module 3 Passed
___________________________________________________________________________
2) linecard-online-diag ------------>
Error code ------------------> 0 (DIAG_SUCCESS)
Total run count -------------> 1
Last test execution time ----> Oct 01 2007 17:37:04
First test failure time -----> n/a
Last test failure time ------> n/a
Last test pass time ---------> Oct 01 2007 17:37:04
Total failure count ---------> 0
Consecutive failure count ---> 0
Ports 1 2 3 4 5 6
. . . . . .
___________________________________________________________________________
Switch#
module 1:
___________________________________________________________________________
1) supervisor-bootup -----------------------> .
13: . 14: . 15: . 16: . 17: . 18: . 19: . 20: . 21: . 22: . 23: . 24: .
25: . 26: . 27: . 28: . 29: . 30: . 31: . 32: . 33: . 34: . 35: . 36: .
37: . 38: . 39: . 40: . 41: . 42: . 43: . 44: . 45: . 46: . 47: . 48: .
49: . 50: . 51: .
Module 1 Passed
___________________________________________________________________________
2) packet-memory-bootup --------------------> U
___________________________________________________________________________
3) packet-memory-ongoing -------------------> U
0 0 0 0
Per day in the last 30 days:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Direct memory test failures per minute in the last hour:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Potential false positives: 0 0
Ignored because of rx errors: 0 0
Ignored because of cdm fifo overrun: 0 0
Ignored because of oir: 0 0
Ignored because isl frames received: 0 0
Ignored during boot: 0 0
Ignored after writing hw stats: 0 0
Ignored on high gigaport: 0
Ongoing diag action mode: Normal
Last 1000 Memory Test Failures:
Last 1000 Packet Memory errors:
First 1000 Packet Memory errors:
___________________________________________________________________________
Switch#
Note On a redundant chassis, concurrent POST is supported on supervisor engines that are already inserted.
However, if a second supervisor engine is inserted while the first one is loading, you might boot the first
supervisor engine in a faulty IOS state (POST will abort and some of the POST’s tests will be bypassed).
This situation only happens during concurrent bootup of the supervisor engines. You should not insert
any additional supervisor engines in the empty supervisor engine slot while an already seated supervisor
engine is running POST. The POST sequence is completed when the “Exiting to ios...” message is
displayed.
module 2:
___________________________________________________________________________
1) supervisor-bootup -----------------------> .
Module 2 Passed
___________________________________________________________________________
2) packet-memory-bootup --------------------> U
___________________________________________________________________________
3) packet-memory-ongoing -------------------> U
___________________________________________________________________________
Switch#
Note To ensure that the maximum number of ports are tested, ensure that both supervisor engines are present
on power-up.
Note On a redundant chassis, concurrent POST is supported on supervisor engines that are already inserted.
However, if a second supervisor engine is inserted while the first one is loading, you might boot the first
supervisor engine in a faulty Cisco IOS state (POST will abort, and some of the POST”s tests will be
bypassed). This situation only happens during concurrent bootup of the supervisor engines. You should
not insert any additional supervisor engines in the empty supervisor engine slot while an already seated
supervisor engine is running POST. The POST sequence is completed when the “Exiting to ios...”
message is displayed.
This appendix describes the Cisco Catalyst 4500 switch ROM monitor (also called the bootloader
program). The ROM monitor firmware runs when the switch is powered up or reset. The firmware helps
to initialize the hardware and boot the operating system software. Use the ROM monitor to perform
certain configuration tasks, such as recovering a lost password, booting an IOS image on the on-board
flash/removeable storage media/management port, and upgrading the Rommon image itself. If there is
no Cisco IOS software image loaded on the switch, the ROM monitor runs the switch.
This appendix contains the following sections:
• Entering the ROM Monitor, page 54-1
• ROM Monitor Commands, page 54-2
• Command Descriptions, page 54-2
• Configuration Register, page 54-3
• Exiting the ROM Monitor, page 54-5
• Digital Signing, page 54-6
Note For complete syntax and usage information for the switch commands used in this chapter, refer to the
Catalyst 4500 Series Switch Cisco IOS Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Command Task
Step 1 enable Enters privileged EXEC mode.
Step 2 configure terminal Enters global configuration mode.
Step 3 config-reg 0x0 Resets the configuration register.
Command Task
Step 4 exit Exits global configuration mode.
Step 5 reload Reboots the switch with the new
configuration register value. The router
remains in ROM monitor and does not boot
the Cisco IOS software.
As long as the configuration value is 0x0, you
must manually boot the operating system
from the console. See the boot command in
the “Command Descriptions” section in this
appendix.
After the switch reboots, it is in ROM monitor
mode. The number in the prompt increments
with each new line.
Command Descriptions
Table 54-1 describes the most commonly used ROM monitor commands.
Command Description
reset or i Resets and initializes the router, similar to a power up.
dev Lists boot device identifications on the switch; for example:
rommon 1 > dev
Device Table
============
Logical Physical Partition Status Begin Size Drive
Number Number Number sector in Kb Name
------- -------- --------- ------ -------- -------- --------
0 0 0 1 3f 16384 flash0:
1 0 1 1 81f0 824832 flash1:
2 0 2 1 19afa0 16384 flash2:
3 0 3 1 1a3190 142336 flash3:
4 0 4 0 0 0 flash4:
5 0 5 0 0 0 flash5:
6 1 0 0 0 0 slot0:
7 2 0 0 0 0 usb0:
rommon 2 >
dir device: Lists the files on the named device; flash, for example:
rommon 1 > dir bootflash:
rommon 2 >
boot commands For more information about the ROM monitor boot commands, refer to the
Cisco IOS Configuration Guide and the Cisco IOS Command Reference.
b Boots the first image in Flash memory.
Configuration Register
The virtual configuration register is in nonvolatile RAM (NVRAM) and has the same functionality as
other Cisco switches/routers. You can view or modify the virtual configuration register from either the
ROM monitor or the operating system software. Within ROM monitor, you can change the configuration
register by allowing the ROM monitor to prompt you for the setting of each bit.
Entering the confreg command without an argument displays the contents of the virtual configuration
register and a prompt to alter the contents by describing the meaning of each bit. The new virtual
configuration register value is written into NVRAM but does not take effect until you reset or reboot the
switch.
The configuration register can be used to control the following things:
• Baud rate of the console part
• Autoboot settings
• Ignore IOS system configuration (useful for password recovery)
• Enabling/disabling the "break" character sequence (ie. Ctrl-C)
• Enabling/disabling of diagnostics mode
• Various other network connectivity settings
The following display shows an example of entering the confreg command:
rommon 1 > confreg
Configuration Summary :
=> console baud: 9600
=> autoboot from: autoboot disabled
enter rate:
0 = 9600, 1 = 4800, 2 = 1200, 3 = 2400
4 = 19200, 5 = 38400, 6 = 57600 [0]: 5
enter to boot:
0 = disable autoboot
1 = the first file from internal flash device
2 = commands specified in 'BOOT' environment variable
[0]: 2
Configuration Summary :
=> console baud: 38400
=> autoboot from: commands specified in 'BOOT' environment variable
rommon 2 >
Debug Commands
The following ROM monitor commands can be useful during debugging:
• meminfo-displays the size main memory and the size of NVRAM; for example:
rommon 1 > meminfo
Main memory size: 2048 MB.
NVRAM size: 512KB
rommon 2 >
rommon 8 >
Configuration Summary :
=> console baud: 9600
enter to boot:
0 = disable autoboot
1 = the first file from internal flash device
2 = commands specified in 'BOOT' environment variable
[0]: 1
Configuration Summary :
=> console baud: 9600
=> autoboot from: the first file from internal flash device
rommon 7 >
You must reset or power cycle for new config to take effect
rommon 2 >reset
Then, the switch boots the first Cisco IOS image in Flash memory.
Digital Signing
All bootable images (Rommon, Rommon upgrade utilities, IOS, offline diags, etc) are cryptographically
signed to guard against tampering as per the FIPS 140-3 standard. When an image is booted, this
signature is inspected. If the signature is valid, the image is allowed to boot. Otherwise, a suitable error
message is displayed and the image is not allowed to boot. The most common reason for signatures to
fail verification is due to image corruption caused by FTP'ing an image in ASCII mode or e-mailing the
image (some e-mail clients have been known to alter the contents of binary files). Other reasons include
a corrupted image and an image that has intentionally been tampered with or counterfeited.
An example of booting an image with a successful signature verification looks like this:
rommon 2 > boot bootflash:cat4500e-universalk9.SSA.03.00.00.1.63.150.1.XO.bin
loading image
An example of booting an image with a failed signature verification looks like this:
rommon 2 > boot bootflash:cat4500e-universalk9.SSA.03.00.00.1.63.150.1.XO.bin
loading image
For more detailed information on Digital Signing, refer to the following URLs:
This chapter describes how to configure SNMP and MIB support for the Catalyst 4500 series switch. It
includes the following sections:
• Determining MIB Support for Cisco IOS Releases, page 55-1
• Using Cisco IOS MIB Tools, page 55-2
• Downloading and Compiling MIBs, page 55-2
• Enabling SNMP Support, page 55-4
Note For complete syntax and usage information for the switch commands used in this chapter, look at the
Cisco Catalyst 4500 Series Switch Command Reference and related publications at this location:
http://www.cisco.com/en/US/products/hw/switches/ps4324/index.html
If the command is not found in the Catalyst 4500 Command Reference, it is located in the larger Cisco
IOS library. Refer to the Catalyst 4500 Series Switch Cisco IOS Command Reference and related
publications at this location:
http://www.cisco.com/en/US/products/ps6350/index.html
Step 4 From the MIB Locator page, you can search for the MIB from the list of MIBs in the menu. You can
select one, or for multiple selections, hold down the CTRL key, then click the Submit button.
Note After you make a selection, follow the links and instructions.
• Mismatches on datatype definitions might cause compiler errors or warning messages. Although
Cisco MIB datatype definitions are not mismatched, some standard RFC MIBs do mismatch. For
example:
MIB A defines: SomeDatatype ::= INTEGER(0..100)
MIB B defines: SomeDatatype ::= INTEGER(1..50)
This example is considered to be a trivial error and the MIB loads successfully with a warning
message.
The next example is considered as a nontrivial error (even though the two definitions are essentially
equivalent), and the MIB is not successfully parsed.
MIB A defines: SomeDatatype ::= DisplayString
MIB B defines: SomeDatatype ::= OCTET STRING (SIZE(0..255))
If your MIB compiler treats these as errors, or you want to delete the warning messages, edit one of
the MIBs that define this same datatype so that the definitions match.
• Many MIBs import definitions from other MIBs. If your management application requires MIBs to
be loaded, and you experience problems with undefined objects, you might want to load the
following MIBs in this order:
SNMPv2-SMI.my
SNMPv2-TC.my
SNMPv2-MIB.my
RFC1213-MIB.my
IF-MIB.my
CISCO-SMI.my
CISCO-PRODUCTS-MIB.my
CISCO-TC.my
• For a list of SNMP OIDs assigned to MIB objects, go to the following URL and click on
SNMP Object Navigator and follow the links:
http://tools.cisco.com/ITDIT/MIBS/servlet/index
Note You must have a Cisco CCO name and password to access the MIB Locator.
• For information about how to download and compile Cisco MIBs, go to the following URL:
http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a00800b4cee.shtml
Downloading MIBs
Follow these steps to download the MIBs onto your system if they are not already there:
Step 1 Review the considerations in the previous section (“Considerations for Working with MIBs”).
Step 2 Go to one of the following Cisco URLs. If the MIB you want to download is not there, try the other URL;
otherwise, go to one of the URLs in Step 5.
ftp://ftp.cisco.com/pub/mibs/v2
ftp://ftp.cisco.com/pub/mibs/v1
Step 3 Click the link for a MIB to download that MIB to your system.
Step 4 Select File > Save or File > Save As to save the MIB on your system.
Step 5 You can download industry-standard MIBs from the following URL:
• http://www.oidview.com/mibs/0/md-0-1.html
Compiling MIBs
If you plan to integrate the Catalyst 4500 series switch with an SNMP-based management application,
then you must also compile the MIBs for that platform. For example, if you are running HP OpenView
on a UNIX operating system, you must compile Catalyst 4500 series switch MIBs with the HP
OpenView Network Management System (NMS). For instructions, see the NMS documentation.
Step 1 Set up your basic SNMP configuration through the command line interface (CLI) on the router. Note
that these basic configuration commands are issued for SNMP version 2c. For SNMP version 3, you
must also set up SNMP users and groups. (See the preceding list of documents for command and setup
information.)
a. Define SNMP read-only and read-write communities:
Router (config)# snmp-server community Read_Only_Community_Name ro
Router (config)# snmp-server community Read_Write_Community_Name rw
b. Configure SNMP views (to limit the range of objects accessible to different SNMP user groups):
Router (config)# snmp-server view view_name oid-tree {included | excluded}
Step 2 Identify (by IP address) the host to receive SNMP notifications from the router:
Router (config)# snmp-server host host
Step 3 Configure the router to generate notifications. You can use keywords to limit the number and types of
messages generated.
Router (config)# snmp-server enable traps [notification-type] [notification-option]
Step 4 Optional. Configure the router to generate SNMP notifications released to field replaceable units
(FRUs):
Router (config)# snmp-server enable traps fru-ctrl
Step 5 Optional. Configure the router to generate SNMP notifications related to environmental monitoring:
Router (config)# snmp-server enable traps envmon
Table A-1 defines the acronyms and abbreviations used in this publication.
Acronym Expansion
ACE access control entry
ACL access control list
AFI authority and format identifier
Agport aggregation port
ALPS Airline Protocol Support
AMP Active Monitor Present
APaRT Automated Packet Recognition and Translation
ARP Address Resolution Protocol
AV attribute value
AVVID Architecture for Voice, Video and Integrated Data
BDD binary decision diagrams
BECN backward explicit congestion notification
BGP Border Gateway Protocol
BPDU bridge protocol data unit
BRF bridge relay function
BSC Bisync
BSTUN Block Serial Tunnel
BUS broadcast and unknown server
BVI bridge-group virtual interface
CAM content-addressable memory
CAR committed access rate
CCA circuit card assembly
CDP Cisco Discovery Protocol
CEF Cisco Express Forwarding
CGMP Cisco Group Management Protocol
Acronym Expansion
CHAP Challenge Handshake Authentication Protocol
CIR committed information rate
CIST Common and Internal Spanning Tree
CLI command-line interface
CLNS Connection-Less Network Service
CMNS Connection-Mode Network Service
COPS Common Open Policy Server
COPS-DS Common Open Policy Server Differentiated Services
CoS class of service
CPLD Complex Programmable Logic Device
CRC cyclic redundancy check
CRF concentrator relay function
CST Common Spanning Tree
CUDD University of Colorado Decision Diagram
DBL Dynamic Buffer Limiting
DCC Data Country Code
dCEF distributed Cisco Express Forwarding
DDR dial-on-demand routing
DE discard eligibility
DEC Digital Equipment Corporation
DFI Domain-Specific Part Format Identifier
DFP Dynamic Feedback Protocol
DISL Dynamic Inter-Switch Link
DLC Data Link Control
DLSw Data Link Switching
DMP data movement processor
DNS Domain Name System
DoD Department of Defense
DOS denial of service
DRAM dynamic RAM
DSAP destination service access point
DSCP differentiated services code point
DSPU downstream SNA Physical Units
DTP Dynamic Trunking Protocol
DTR data terminal ready
DXI data exchange interface
Acronym Expansion
EAP Extensible Authentication Protocol
EARL Enhanced Address Recognition Logic
EEPROM electrically erasable programmable read-only memory
EHSA enhanced high system availability
EHT Explicit Host Tracking
EIA Electronic Industries Association
ELAN Emulated Local Area Network
EOBC Ethernet out-of-band channel
ESI end-system identifier
FECN forward explicit congestion notification
FM feature manager
FRU field replaceable unit
FSM feasible successor metrics
GARP General Attribute Registration Protocol
GMRP GARP Multicast Registration Protocol
GVRP GARP VLAN Registration Protocol
HSRP Hot Standby Routing Protocol
ICC Inter-card Communication
ICD International Code Designator
ICMP Internet Control Message Protocol
IDB interface descriptor block
IDP initial domain part or Internet Datagram Protocol
IFS IOS File System
IGMP Internet Group Management Protocol
IGRP Interior Gateway Routing Protocol
ILMI Integrated Local Management Interface
IP Internet Protocol
IPC interprocessor communication
IPX Internetwork Packet Exchange
ISL Inter-Switch Link
ISO International Organization of Standardization
LAN local area network
LANE LAN Emulation
LAPB Link Access Procedure, Balanced
LDA Local Director Acceleration
LCP Link Control Protocol
Acronym Expansion
LEC LAN Emulation Client
LECS LAN Emulation Configuration Server
LEM link error monitor
LER link error rate
LES LAN Emulation Server
LLC Logical Link Control
LTL Local Target Logic
MAC Media Access Control
MACL MAC Access Control
MD5 Message Digest 5
MFD multicast fast drop
MIB Management Information Base
MII media-independent interface
MLS Multilayer Switching
MLSE maintenance loop signaling entity
MOP Maintenance Operation Protocol
MOTD message-of-the-day
MLSE maintenance loops signaling entity
MRM multicast routing monitor
MSDP Multicast Source Discovery Protocol
MST Multiple Spanning Tree
MSTI MST instance
MTU maximum transmission unit
MVAP multiple VLAN access port
NBP Name Binding Protocol
NCIA Native Client Interface Architecture
NDE NetFlow Data Export
NET network entity title
NetBIOS Network Basic Input/Output System
NFFC NetFlow Feature Card
NMP Network Management Processor
NSAP network service access point
NTP Network Time Protocol
NVRAM nonvolatile RAM
OAM Operation, Administration, and Maintenance
ODM order dependent merge
Acronym Expansion
OSI Open System Interconnection
OSPF open shortest path first
PACL Port Access Control List
PAE port access entity
PAgP Port Aggregation Protocol
PBD packet buffer daughterboard
PBR Policy Based Routing
PC Personal Computer
PCM pulse code modulation
PCR peak cell rate
PDP policy decision point
PDU protocol data unit
PEP policy enforcement point
PGM Pragmatic General Multicast
PHY physical sublayer
PIB policy information base
PIM Protocol Independent Multicast
PoE Power over Internet
PPP Point-to-Point Protocol
PRID Policy Rule Identifiers
PVST+ Per VLAN Spanning Tree+
QM QoS manager
QoS quality of service
RADIUS Remote Access Dial-In User Service
RAM random-access memory
RCP Remote Copy Protocol
RGMP Router-Ports Group Management Protocol
RIB routing information base
RIF Routing Information Field
RMON remote network monitor
ROM read-only memory
ROMMON ROM monitor
RP route processor or rendezvous point
RPC remote procedure call
RPF reverse path forwarding
RPR Route Processor Redundancy
Acronym Expansion
RSPAN remote SPAN
RST reset
RSVP ReSerVation Protocol
SAID Security Association Identifier
SAP service access point
SCM service connection manager
SCP Switch-Module Configuration Protocol
SDLC Synchronous Data Link Control
SGBP Stack Group Bidding Protocol
SIMM single in-line memory module
SLB server load balancing
SLCP Supervisor Line-Card Processor
SLIP Serial Line Internet Protocol
SMDS Software Management and Delivery Systems
SMF software MAC filter
SMP Standby Monitor Present
SMRP Simple Multicast Routing Protocol
SMT Station Management
SNAP Subnetwork Access Protocol
SNMP Simple Network Management Protocol
SPAN Switched Port Analyzer
SSTP Cisco Shared Spanning Tree
STP Spanning Tree Protocol
SVC switched virtual circuit
SVI switched virtual interface
TACACS+ Terminal Access Controller Access Control System Plus
TARP Target Identifier Address Resolution Protocol
TCAM Ternary Content Addressable Memory
TCL table contention level
TCP/IP Transmission Control Protocol/Internet Protocol
TFTP Trivial File Transfer Protocol
TIA Telecommunications Industry Association
TopN Utility that allows the user to analyze port traffic by reports
TOS type of service
TLV type-length-value
TTL Time To Live
Acronym Expansion
TVX valid transmission
UDLD UniDirectional Link Detection Protocol
UDP User Datagram Protocol
UNI User-Network Interface
UTC Coordinated Universal Time
VACL VLAN access control list
VCC virtual channel circuit
VCI virtual circuit identifier
VCR Virtual Configuration Register
VINES Virtual Network System
VLAN virtual LAN
VMPS VLAN Membership Policy Server
VPN virtual private network
VRF VPN routing and forwarding
VTP VLAN Trunking Protocol
VVID voice VLAN ID
WFQ weighted fair queueing
WRED weighted random early detection
WRR weighted round-robin
XNS Xerox Network System
B BPDUs
and media speed 16-2
Baby Giants
pseudobridges and 16-25
interacting with 7-20
what they contain 16-3
BackboneFast
bridge ID
adding a switch (figure) 18-4
See STP bridge ID
and MST 16-23
bridge priority (STP) 16-16
configuring 18-16
bridge protocol data units
link failure (figure) 18-14, 18-15
See BPDUs
not supported MST 16-23
Broadcast Storm Control
understanding 18-14
disabling 45-5
See also STP
enabling 45-3
banners
configuring
login 4-19
Unicast RPF
C
BGP optional attributes 28-5
Call Home cautions for passwords
description 1-16, 52-1 encrypting 3-22
message format options 52-2 CDP
messages configuration 20-2
format options 52-2 defined with LLDP 23-1
call home 52-1 displaying configuration 20-3
alert groups 52-6 enabling on interfaces 20-3
configuring e-mail options 52-9 host presence detection 36-8
contact information 52-4 maintaining 20-3
default settings 52-18 monitoring 20-3
destination profiles 52-5 overview 1-2, 20-1
displaying information 52-14 cdp enable command 20-3
mail-server priority 52-10 CEF
pattern matching 52-9 adjacency tables 27-2
periodic notification 52-8 and NSF with SSO 9-4
rate limit messages 52-9 configuring load balancing 27-7
severity threshold 52-8 displaying statistics 27-8
smart call home feature 52-2 enabling 27-6, 53-2
SMTP server 52-9 hardware switching 27-4
testing communications 52-10 load balancing 27-6
call home alert groups overview 27-2
configuring 52-6 software switching 27-4
description 52-6 certificate authority (CA) 52-3
subscribing 52-7 CGMP
call home contacts overview 21-1
assigning information 52-4 channel-group group command 19-8, 19-10
call home destination profiles Cisco 7600 series Internet router
attributes 52-5 enabling SNMP 55-4, 55-5
configuring 52-5 Cisco Discovery Protocol
description 52-5 See CDP
displaying 52-16 Cisco Express Forwarding
call home notifications See CEF
full-txt format for syslog 52-25 Cisco Group Management Protocol
XML format for syslog 52-34 See CGMP
Capturing control packets Cisco IOS IP SLAs 50-2
selecting mode 42-7 Cisco IOS NSF-aware
cautions support 9-2
overview 4-31
E
emergency alarms on Sup Engine 6-E systems 10-3
EAP frames enable command 3-9, 3-28
changing retransmission time 36-63 enable mode 2-5
exchanging (figure) 36-4, 36-6, 36-12 enabling SNMP 55-4, 55-5
request/identity 36-3 encapsulation types 14-3
response/identity 36-3 Enhanced Interior Gateway Routing Protocol
setting retransmission number 36-64 See EIGRP
EAPOL frames Enhanced PoE support on E-series 11-15
802.1X authentication and 36-3 environmental monitoring
OTP authentication, example (figure) 36-4, 36-12 using CLI commands 10-1
start 36-4 EPM logging 36-70
edge ports EtherChannel
description 16-27 channel-group group command 19-8, 19-10
EGP configuration guidelines 19-5
overview 1-11 configuring 19-6 to 19-14
EIGRP configuring Layer 2 19-9
configuration examples 26-18 configuring Layer 3 19-6
monitoring and maintaining 26-17 displaying to a virtual switch system 19-14
EIGRP (Enhanced IGRP) interface port-channel command 19-7
stub routing lacp system-priority
benefits 26-16 command example 19-12
configuration tasks 26-16 modes 19-3
configuring 26-12 overview 19-1
overview 26-12 PAgP
restrictions 26-16 Understanding 19-3
verifying 26-17 physical interface configuration 19-7
EIGRP (enhanced IGRP) port-channel interfaces 19-2
overview 1-12 port-channel load-balance command 19-13
eigrp stub command 26-17 removing 19-14
EIGRP stub routing, configuring 26-11 removing interfaces 19-13
ELIN location 23-3 EtherChannel guard
e-mail addresses disabling 18-7
assigning for call home 52-4 enabling 18-6
e-mail notifications overview 18-6
Call Home 1-16, 52-1 explicit host tracking
Embedded CiscoView enabling 21-11
displaying information 4-33 extended range VLANs
installing and configuring 4-31 See VLANs
FIB Guest-VLANs
description 27-2 configure with 802.1X 36-46, 36-54
Per-User ACL and Filter-ID ACL, configure 36-38 See QoS policing
Per-VLAN Rapid Spanning Tree 16-6 policing, PoE 11-11
promiscuous 38-16
Power-On-Self-Test for Supervisor Engine
V-10GE 53-14
topology 38-15, 38-18, 38-32
power redundancy-mode command 10-10
on trunk port 38-17
power supplies
guidelines and restrictions 38-15, 38-18, 38-21, 38-32
available power for Catalyst 4500 Switch 10-12
port mode changes 38-22
fixed 10-6
on voice ports 38-22
variable 10-6
sticky learning 38-5
pre-authentication open access 36-8
using with 802.1X 36-16
pre-authentication open access. See port-based
violations 38-6 authentication.
with 802.1X Authentication 38-32 primary VLANs 35-3, 35-5
with DHCP and IP Source Guard 38-31 associating with secondary VLANs 35-14
with other features 38-33 configuring as a PVLAN 35-13
port states priority
description 16-5 overriding CoS of incoming frames 34-5
port VLAN ID TLV 23-2 priority queuing, QoS on Sup 6-E 33-28
power private VLAN
inline 34-5 configure port security 38-14, 38-15
limiting the services to the user 3-21 Topology change notification processing
operation of 3-17 MLD Snooping
overview 3-15 Topology change notification processing 22-4
tracking services accessed by user 3-21 TOS
TCAM programming and ACLs 42-7 description 33-4
for Sup II-Plust thru V-10GE 42-6 trace command 8-9
TDR traceroute
checking cable connectivity 8-3 See IP traceroute
enabling and disabling test 8-3 See Layer 2 Traceroute
guidelines 8-3 traceroute mac command 8-11
Telnet traceroute mac ip command 8-11
accessing CLI 2-2 traffic
disconnecting user sessions 8-7 blocking flooded 44-2
executing 8-5 traffic control
monitoring user sessions 8-6 using ACLs (figure) 42-4
telnet command 8-6 using VLAN maps (figure) 42-5
Terminal Access Controller Access Control System Plus traffic marking procedure flowchart 33-19
See TACACS+ traffic shaping 33-9
TFTP translational bridge numbers (defaults) 12-5
configuration files in base directory 3-5 traps
configuring for autoconfiguration 3-4 configuring MAC address notification 4-22
limiting access by servers 49-15 configuring MAC move notification 4-24
threshold monitoring, IP SLAs 50-6 configuring MAC threshold notification 4-26
time configuring managers 49-11
See NTP and system clock defined 49-3
Time Domain Reflectometer enabling 4-22, 4-24, 4-26, 49-11
See TDR notification types 49-11
time exceeded messages 8-9 overview 49-1, 49-4
timer troubleshooting
See login timer with CiscoWorks 49-4
timestamps in log messages 47-7 with system message logging 47-1
time zones 4-12 with traceroute 8-9
TLV troubleshooting high CPU due to ACLs 42-6
host presence detection 36-8 trunk ports
TLVs configure port security 38-17
defined 1-4, 23-2 configuring PVLAN 35-18 to 35-19
LLDP-MED 23-2 trunks
Token Ring 802.1Q restrictions 14-5
media not supported (note) 12-5, 12-9 configuring 14-6
overview 25-1
configuring 42-17
enabling 18-16
using (figure) 42-5
overview 18-11
VLAN maps, PACL and Router ACLs 42-31
VLANs
user EXEC mode 2-5
allowed on trunk 14-6
user sessions
disconnecting configuration guidelines 12-3
8-7
configuring 12-5
monitoring 8-6
default configuration 12-4
using PACL with access-group mode 42-29
description 1-7
extended range 12-3
V IDs (default) 12-4
Layer 4 port operations 42-9 limiting source traffic with RSPAN 46-23
pruning
configuring 12-15
See also VTP version 2
server, configuring 12-16
statistics 12-19
transparent mode, configuring 12-16
version 2
enabling 12-15
VTP advertisements
description 12-9
VTP domains
description 12-8
VTP modes 12-8
VTP pruning
overview 12-11
VTP versions 2 and 3
overview 12-9
See also VTP
VVID (voice VLAN ID)
and 802.1X authentication 36-19
configuring 34-3
Wake-on-LAN
configure with 802.1X 36-52
web-based authentication
authentication proxy web pages 37-4
description 1-25, 36-13, 37-1
web-based authentication, interactions with other
features 37-4