Chapter 1. New and Changed Information

New and Changed Information

Chapter 2. Overview

System Management Features

Chapter 3. Configuring Switch Profiles

Information About Switch Profiles

Switch Profile Configuration Modes

Configuration Validation

Software Upgrades and Downgrades with Switch Profiles

Prerequisites for Switch Profiles

Guidelines and Limitations for Switch Profiles

Configuring Switch Profiles

Adding a Switch to a Switch Profile

Adding or Modifying Switch Profile Commands

Importing a Switch Profile

Importing Configurations in a vPC Topology

Verifying Commands in a Switch Profile

Isolating a Peer Switch

Deleting a Switch Profile

Deleting a Switch from a Switch Profile

Displaying the Switch Profile Buffer

Synchronizing Configurations After a Switch Reboot

Switch Profile Configuration show Commands

Creating a Switch Profile on a Local and Peer Switch Example

Verifying the Synchronization Status Example

Displaying the Running Configuration

Displaying the Switch Profile Synchronization Between Local and Peer Switches

Displaying Verify and Commit on Local and Peer Switches

Successful and Unsuccessful Synchronization Examples

Configuring the Switch Profile Buffer, Moving the Buffer, and Deleting the Buffer

Importing Configurations

Migrating Cisco NX-OS Release 5.0(2)N1(1) in a Fabric Extender A-A Topology Example

Migrating Cisco NX-OS Release 5.0(2)N1(1) in a Fabric Extender Fabric Extender Straight-Through Topology Example

Chapter 4. Configuring Module Pre-Provisioning

Information About Module Pre-Provisioning

Guidelines and Limitations

Enabling Module Pre-Provisioning

Removing Module Pre-Provisioning

Verifying the Pre-Provisioned Configuration

Configuration Examples for Pre-Provisioning

Chapter 5. Using Cisco Fabric Services

Information About CFS

Cisco Fabric Services over Ethernet

Guidelines and Limitations for CFS

CFS Distribution

CFS Distribution Modes

Uncoordinated Distribution

Coordinated Distribution

Unrestricted Uncoordinated Distributions

Disabling or Enabling CFS Distribution on a Switch

Verifying the CFS Distribution Status

CFS Distribution over IP

CFS Distribution over Fibre Channel

CFS Distribution Scopes

CFS Merge Support

CFS Application Requirements

Enabling CFS for an Application

Verifying Application Registration Status

Locking the Network

Verifying CFS Lock Status

Committing Changes

Discarding Changes

Saving the Configuration

Clearing a Locked Session

About CFS Regions

Example Scenario

Creating CFS Regions

Assigning Applications to CFS Regions

Moving an Application to a Different CFS Region

Removing an Application from a Region

Deleting CFS Regions

Enabling CFS over IPv4

Enabling CFS over IPv6

Verifying the CFS Over IP Configuration

Configuring IP Multicast Addresses for CFS over IP

Configuring IPv4 Multicast Address for CFS

Configuring IPv6 Multicast Address for CFS

Verifying the IP Multicast Address Configuration for CFS over IP

Displaying CFS Distribution Information

Default Settings for CFS

Enabling CFS to Distribute Smart Call Home Configurations

Enabling CFS to Distribute DPVM Configurations

Enabling CFS to Distribute FC Domain Configurations

Enabling CFS to Distribute FC Port Security Configurations

Enabling CFS to Distribute FC Timer Configurations

Enabling CFS to Distribute IVR Configurations

Enabling CFS to Distribute NTP Configurations

Enabling CFS to Distribute RADIUS Configurations

Enabling CFS to Distribute RSCN Configurations

Enabling CFS to Distribute TACACS+ Configurations

Chapter 6. Configuring PTP

Information About PTP

PTP Device Types

PTP Process

Clock Management

High Availability for PTP

Licensing Requirements for PTP

Guidelines and Limitations for PTP

Default Settings for PTP

Configuring PTP Globally

Configuring PTP on an Interface

Verifying the PTP Configuration

Chapter 7. Configuring User Accounts and RBAC

Information About User Accounts and RBAC

User Roles

Predefined SAN Admin User Role

Rules

SAN Admin Role-Feature Rule Mapping

User Role Policies

User Account Configuration Restrictions

User Password Requirements

Guidelines and Limitations for User Accounts

Configuring User Accounts

Configuring SAN Admin Users

Creating User Roles and Rules

Creating Feature Groups

Changing User Role Interface Policies

Changing User Role VLAN Policies

Changing User Role VSAN Policies

Verifying the User Accounts and RBAC Configuration

Configuring User Accounts Default Settings for the User Accounts and RBAC

Chapter 8. Configuring Session Manager

Information About Session Manager

Guidelines and Limitations for Session Manager

Creating a Session

Configuring ACLs in a Session

Verifying a Session

Committing a Session

Saving a Session

Discarding a Session

Configuration Example for Session Manager

Verifying the Session Manager Configuration

Chapter 9. Configuring Online Diagnostics

Information About Online Diagnostics

Bootup Diagnostics

Health Monitoring Diagnostics

Expansion Module Diagnostics

Configuring Online Diagnostics

Verifying the Online Diagnostics Configuration

Default Settings for Online Diagnostics

Chapter 10. Configuring System Message Logging

Information About System Message Logging

Syslog Servers

Licensing Requirements for System Message Logging

Guidelines and Limitations for System Message Logging

Default Settings for System Message Logging

Configuring System Message Logging to Terminal Sessions

Configuring System Message Logging to a File

Configuring Module and Facility Messages Logging

Configuring Logging Timestamps

Configuring the ACL Logging Cache

Applying ACL Logging to an Interface

Configuring the ACL Log Match Level

Configuring Syslog Servers

Configuring syslog on a UNIX or Linux System

Configuring syslog Server Configuration Distribution

Displaying and Clearing Log Files

Enabling DOM Logging

Disabling DOM Logging

Verifying the DOM Logging Configuration

Verifying the System Message Logging Configuration

Chapter 11. Configuring Smart Call Home

Information About Smart Call Home

Smart Call Home Overview

Smart Call Home Destination Profiles

Smart Call Home Alert Groups

Smart Call Home Message Levels

Call Home Message Formats

Guidelines and Limitations for Smart Call Home

Prerequisites for Smart Call Home

Default Call Home Settings

Registering for Smart Call Home

Configuring Contact Information

Creating a Destination Profile

Modifying a Destination Profile

Associating an Alert Group with a Destination Profile

Adding Show Commands to an Alert Group

Configuring E-Mail Server Details

Configuring Periodic Inventory Notifications

Disabling Duplicate Message Throttling

Enabling or Disabling Smart Call Home

Testing the Smart Call Home Configuration

Verifying the Smart Call Home Configuration

Sample Syslog Alert Notification in Full-Text Format

Sample Syslog Alert Notification in XML Format

Chapter 12. Configuring Rollback

Information About Rollbacks

Guidelines and Limitations

Creating a Checkpoint

Implementing a Rollback

Verifying the Rollback Configuration

Chapter 13. Configuring DNS

Information About DNS Client

Name Servers

DNS Operation

High Availability

Prerequisites for DNS Clients

Licensing Requirements for DNS Clients

Default Settings for DNS Clients

Configuring DNS Clients

Chapter 14. Configuring SNMP

Information About SNMP

SNMP Functional Overview

SNMP Notifications

SNMPv3

Security Models and Levels for SNMPv1, v2, and v3

User-Based Security Model

CLI and SNMP User Synchronization

Group-Based SNMP Access

Licensing Requirements for SNMP

Guidelines and Limitations for SNMP

Default SNMP Settings

Configuring SNMP Users

Enforcing SNMP Message Encryption

Assigning SNMPv3 Users to Multiple Roles

Creating SNMP Communities

Filtering SNMP Requests

Configuring SNMP Notification Receivers

Configuring SNMP Notification Receivers with VRFs

Filtering SNMP Notifications Based on a VRF

Configuring a Source Interface for Sending Out All SNMP Notifications

Configuring a Host Receiver for SNMP Notifications

Configuring SNMP for Inband Access

Enabling SNMP Notifications

Configuring Link Notifications

Disabling Link Notifications on an Interface

Enabling One-Time Authentication for SNMP over TCP

Assigning SNMP Switch Contact and Location Information

Configuring the Context to Network Entity Mapping

Disabling SNMP

Verifying the SNMP Configuration

Feature History for SNMP

Chapter 15. Configuring RMON

Information About RMON

RMON Alarms

RMON Events

Configuration Guidelines and Limitations for RMON

Verifying the RMON Configuration

Default RMON Settings

Configuring RMON Alarms

Configuring RMON Events

Chapter 16. Configuring SPAN

Information About SPAN

SPAN Sources

Characteristics of Source Ports

SPAN Destinations

Characteristics of Destination Ports

Guidelines and Limitations for SPAN

Creating or Deleting a SPAN Session

Configuring an Ethernet Destination Port

Configuring MTU Truncation for Each SPAN Session

Configuring the Rate Limit for SPAN Traffic

Configuring Fibre Channel Destination Port

Configuring Source Ports

Configuring Source Port Channels, VSANs, or VLANs

Configuring the Description of a SPAN Session

Activating a SPAN Session

Suspending a SPAN Session

Troubleshooting SPAN session issues

Troubleshooting SPAN session with large number of source ports issues

Displaying SPAN Information

Chapter 17. Configuring ERSPAN

Information About ERSPAN

ERSPAN Source Sessions

Monitored Traffic

ERSPAN Sources

Truncated ERSPAN

Multiple ERSPAN Sessions

High Availability

Licensing Requirements for ERSPAN

Prerequisites for ERSPAN

Guidelines and Limitations for ERSPAN

Default Settings for ERSPAN

Configuring an ERSPAN Source Session

Configuring a Source Rate Limit for an ERSPAN Session

Configuring an Origin IP Address for ERSPAN Packets

Configuring Truncated ERSPAN

Shutting Down or Activating an ERSPAN Session

Verifying the ERSPAN Configuration

Configuration Example for an ERSPAN Source Session

Configuration Example for an IP Address as the Source for an ERSPAN Session

Configuration Example for Truncated ERSPAN

Related Documents

Preface

Audience

Document Conventions

Documentation Feedback

Obtaining Documentation and Submitting a Service Request

Copyright Page

Chapter 1. New and Changed Information

This chapter contains the following sections:

- New and Changed Information

New and Changed Information

The following table provides an overview of the significant changes made to this configuration guide. The table does not provide an exhaustive list of all changes made to this guide or all new features in a particular release.

New and Changed Information in Release 5.2(1)N1(1)

Feature

Description

Where Documented

Predefined SAN Admin Role

New predefined SAN admin role for RBAC

Configuring User Accounts and RBAC

Precision Time Protocol (PTP) Support

IEEE 1588 Support for PTP

Configuring PTP

Configuration Synchronization Enhancements

Configuration Synchronization improvements for deleting and restoring switch profile configuration.

Configuring Switch Profiles

Chapter 2. Overview

This chapter contains the following sections:

- System Management Features

System Management Features

The system management features documented in this guide are described below:

Feature

Description

Switch Profiles

Configuration synchronization allows administrators to make configuration changes on one switch and have the system automatically synchronize the configuration to a peer switch. This feature eliminates misconfigurations and reduces the administrative overhead.

The configuration synchronization mode (config-sync) allows users to create switch profiles to synchronize local and peer switch.

Module Pre-Provisioning

Module pre-provisioning feature allows users to pre-configure interfaces before inserting or attaching a module to a Cisco Nexus Series switch. If a module goes offline, users can also use pre-provisioning to make changes to the interface configurations for the offline module. In some vPC topologies, pre-provisioning is required for the configuration synchronization feature. Pre-provisioning allows users to synchronize the configuration for an interface that is online with one peer but offline with another peer.

Cisco Fabric Services

The Cisco MDS NX-OS software uses the Cisco Fabric Services (CFS) infrastructure to enable efficient database distribution and to promote device flexibility. CFS simplifies SAN provisioning by automatically distributing configuration information to all switches in a fabric.

Precision Time Protocol

The Precision Time Protocol (PTP) is a time synchronization protocol for nodes distributed across a network. Its hardware timestamp feature provides greater accuracy than other time synchronization protocols such as Network Time Protocol (NTP).

User Accounts and RBAC

User accounts and role-based access control (RBAC) allow you to define the rules for an assigned role. Roles restrict the authorization that the user has to access management operations. Each user role can contain multiple rules and each user can have multiple roles.

Session Manager

Session Manager allows you to create a configuration and apply it in batch mode after the configuration is reviewed and verified for accuracy and completeness.

Online Diagnostics

Cisco Generic Online Diagnostics (GOLD) define a common framework for diagnostic operations across Cisco platforms. The online diagnostic framework specifies the platform-independent fault-detection architecture for centralized and distributed systems, including the common diagnostics CLI and the platform-independent fault-detection procedures for boot-up and run-time diagnostics.

The platform-specific diagnostics provide hardware-specific fault-detection tests and allow you to take appropriate corrective action in response to diagnostic test results.

System Message Logging

You can use system message logging to control the destination and to filter the severity level of messages that system processes generate. You can configure logging to a terminal session, a log file, and syslog servers on remote systems.

System message logging is based on RFC 3164. For more information about the system message format and the messages that the device generates, see the Cisco NX-OS System Messages Reference.

Smart Call Home

Call Home provides an e-mail-based notification of critical system policies. Cisco NX-OS provides a range of message formats for optimal compatibility with pager services, standard e-mail, or XML-based automated parsing applications. You can use this feature to page a network support engineer, e-mail a Network Operations Center, or use Cisco Smart Call Home services to automatically generate a case with the Technical Assistance Center.

Configuration Rollback

The configuration rollback feature allows users to take a snapshot, or user checkpoint, of the Cisco NX-OS configuration and then reapply that configuration to a switch at any point without having to reload the switch. A rollback allows any authorized administrator to apply this checkpoint configuration without requiring expert knowledge of the features configured in the checkpoint.

SNMP

The Simple Network Management Protocol (SNMP) is an application-layer protocol that provides a message format for communication between SNMP managers and agents. SNMP provides a standardized framework and a common language used for the monitoring and management of devices in a network.

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. Cisco NX-OS supports RMON alarms, events, and logs to monitor Cisco NX-OS devices.

SPAN

The Switched Port Analyzer (SPAN) feature (sometimes called port mirroring or port monitoring) selects network traffic for analysis by a network analyzer. The network analyzer can be a Cisco SwitchProbe, a Fibre Channel Analyzer, or other Remote Monitoring (RMON) probes.

ERSPAN

Encapsulated remote switched port analyzer (ERSPAN) is used to transport mirrored traffic in an IP network. ERSPAN supports source ports, source VLANs, and destinations on different switches, which provide remote monitoring of multiple switches across your network. ERSPAN uses a generic routing encapsulation (GRE) tunnel to carry traffic between switches.

ERSPAN consists of an ERSPAN source session, routable ERSPAN GRE-encapsulated traffic, and an ERSPAN destination session. You separately configure ERSPAN source sessions and destination sessions on different switches.

To configure an ERSPAN source session on one switch, you associate a set of source ports or VLANs with a destination IP address, ERSPAN ID number, and virtual routing and forwarding (VRF) name. To configure an ERSPAN destination session on another switch, you associate the destinations with the source IP address, the ERSPAN ID number, and a VRF name.

The ERSPAN source session copies traffic from the source ports or source VLANs and forwards the traffic using routable GRE-encapsulated packets to the ERSPAN destination session. The ERSPAN destination session switches the traffic to the destinations.

Chapter 3. Configuring Switch Profiles

This chapter contains the following sections:

- Information About Switch Profiles

- Switch Profile Configuration Modes

- Configuration Validation

- Software Upgrades and Downgrades with Switch Profiles

- Prerequisites for Switch Profiles

- Guidelines and Limitations for Switch Profiles

- Configuring Switch Profiles

- Adding a Switch to a Switch Profile

- Adding or Modifying Switch Profile Commands

- Importing a Switch Profile

- Importing Configurations in a vPC Topology

- Verifying Commands in a Switch Profile

- Isolating a Peer Switch

- Deleting a Switch Profile

- Deleting a Switch from a Switch Profile

- Displaying the Switch Profile Buffer

- Synchronizing Configurations After a Switch Reboot

- Switch Profile Configuration show Commands

Information About Switch Profiles

Several applications require consistent configuration across Cisco Nexus Series switches in the network. For example, with a Virtual Port Channel (vPC), you must have identical configurations. Mismatched configurations can cause errors or misconfigurations that can result in service disruptions.

The configuration synchronization (config-sync) feature allows you to configure one switch profile and have the configuration be automatically synchronized to the peer switch. A switch profile provides the following benefits:

- Allows configurations to be synchronized between switches.

- Merges configurations when connectivity is established between two switches.

- Provides control of exactly which configuration gets synchronized.

- Ensures configuration consistency across peers through merge and mutual-exclusion checks.

- Provides verify and commit semantics.

- Supports configuring and synchronizing port profile configurations.

- Provides an import command to migrate existing vPC configurations to a switch profile.

Switch Profile Configuration Modes

The switch profile feature includes the following configuration modes:

- Configuration Synchronization Mode

- Switch Profile Mode

- Switch Profile Import Mode

Configuration Synchronization Mode

The configuration synchronization mode (config-sync) allows you to create switch profiles using the config sync command on the local switch that you want to use as the master. After you create the profile, you can enter the config sync command on the peer switch that you want to synchronize.

Switch Profile Mode

The switch profile mode allows you to add supported configuration commands to a switch profile that is later synchronized with a peer switch. Commands that you enter in the switch profile mode are buffered until you enter the commit command.

Switch Profile Import Mode

When you upgrade from an earlier release, you have the option to enter the import command to copy supported running-configuration commands to a switch profile. After entering the import command, the switch profile mode (config-sync-sp) changes to the switch profile import mode (config-sync-sp-import). The switch profile import mode allows you to import existing switch configurations from the running configuration and specify which commands you want to include in the switch profile.

Because different topologies require different commands that are included in a switch profile, the import command mode allows you to modify the imported set of commands to suit a specific topology. For example, a dual homed Fabric Extender (FEX) topology requires that most of the configuration is synchronized. In other vPC topologies, the configuration that needs to be synchronized might be a much smaller set of commands.

You need to enter the commit command to complete the import process and move the configuration into the switch profile. Because configuration changes are not supported during the import process, if you added new commands before entering the commit command, the switch profile remains unsaved and the switch remains in the switch profile import mode. You can remove the added commands or abort the import. Unsaved configurations are lost if the process is aborted. You can add new commands to the switch profile after the import is complete.

Configuration Validation

Two types of configuration validation checks can identify two types of switch profile failures:

- Mutual Exclusion Checks

- Merge Checks

Mutual Exclusion Checks

To reduce the possibility of overriding configuration settings that are included in a switch profile, mutual exclusion (mutex) checks the switch profile commands against the commands that exist on the local switch and the commands on the peer switch. A command that is included in a switch profile cannot be configured outside of the switch profile or on a peer switch. This requirement reduces the possibility that an existing command is unintentionally overwritten.

As a part of the commit process, the mutex-check occurs on both switches if the peer switch is reachable; otherwise, the mutex-check is performed locally. Configuration changes made from the configuration terminal occur only on the local switch.

If a mutex-check identifies errors, they are reported as mutex failures and they must be manually corrected.

The following exceptions apply to the mutual exclusion policy:

- Interface configuration—Port channel interfaces must be configured fully in either switch profile mode or global configuration mode.

Note

Several port channel subcommands are not configurable in switch profile mode. These commands can be configured from global configuration mode even if the port channel is created and configured in switch profile mode.

For example, the following command can only be configured in global configuration mode:

switchport private-vlan association trunk primary-vlan secondary-vlan

- Shutdown/no shutdown

- System QoS

Merge Checks

Merge checks are done on the peer switch that is receiving a configuration. The merge checks ensure that the received configuration does not conflict with the switch profile configuration that already exists on the receiving switch. The merge check occurs during the merge or commit process. Errors are reported as merge failures and must be manually corrected.

When one or both switches are reloaded and the configurations are synchronized for the first time, the merge check verifies that the switch profile configurations are identical on both switches. Differences in the switch profiles are reported as merge errors and must be manually corrected.

Software Upgrades and Downgrades with Switch Profiles

When you downgrade to an earlier release, you are prompted to remove an existing switch profile that is not supported on earlier releases.

When you upgrade from an earlier release, you have the option to move some of the running-configuration commands to a switch profile. The import command allows you to import relevant switch profile commands. An upgrade can occur if there are buffered configurations (uncommitted); however, the uncommitted configurations are lost.

When you perform an In Service Software Upgrade (ISSU) on one of the switches included in a switch profile, a configuration synchronization cannot occur because the peer is unreachable.

Prerequisites for Switch Profiles

Switch profiles have the following prerequisites:

- You must enable Cisco Fabric Series over IP (CFSoIP) distribution over mgmt0 on both switches by entering the cfs ipv4 distribute command.

- You must configure a switch profile with the same name on both peer switches by entering the config sync and switch-profile commands.

- Configure each switch as peer switch by entering the sync-peers destination command

Guidelines and Limitations for Switch Profiles

The Switch profile has the following guidelines and limitations:

- You can only enable configuration synchronization using the mgmt0 interface.

- Configuration synchronization is performed using the mgmt 0 interface and cannot be performed using a management SVI.

- You must configure synchronized peers with the same switch profile name.

- Commands that are qualified for a switch profile configuration are allowed to be configured in the configuration switch profile (config-sync-sp) mode.

- Supported switch profile commands relate to virtual port channel (vPC) commands. Fiber Channel over Ethernet (FCoE) commands are not supported.

- One switch profile session can be in progress at a time. Attempts to start another session will fail.

- Supported command changes made from the configuration terminal mode are blocked when a switch profile session is in progress. You should not make unsupported command changes from the configuration terminal mode when a switch profile session is in progress.

- When you enter the commit command and a peer switch is reachable, the configuration is applied to both peer switches or neither switch. If there is a commit failure, the commands remain in the switch profile buffer. You can then make necessary corrections and try the commit again.

- We recommend that you enable preprovisioning for all Generic Expansion Modules (GEMs) and Cisco Nexus Fabric Extender modules whose interface configurations are synchronized using the configuration synchronization feature. Follow these guidelines in Cisco Nexus Fabric Extender active/active topologies where the Fabric Extenders might not be online on one switch and its configuration is changed and synchronized on the other switch. In this scenario, if you do not enable preprovisioning, a commit fails and the configuration is rolled back on both switches.

- Once a port channel is configured using switch profile mode, it cannot be configured using global configuration (config terminal) mode.

Note

Several port channel subcommands are not configurable in switch profile mode. These commands can be configured from global configuration mode even if the port channel is created and configured in switch profile mode.

For example, the following command can only be configured in global configuration mode:

switchport private-vlan association trunk primary-vlan secondary-vlan

- Shutdown and no shutdown can be configured in either global configuration mode or switch profile mode.

- If a port channel is created in global configuration mode, channel groups including member interfaces must also be created using global configuration mode.

- Port channels that are configured within switch profile mode may have members both inside and outside of a switch profile.

- If you want to import a member interface to a switch profile, the port channel including the member interface must also be present within the switch profile.

Guidelines for Synchronizing After Reboot, Connectivity Loss, or Failure

- Synchronizing configurations after vPC peer link failure— If both switches are operational when a peer link fails, the secondary switch shuts down its vPC ports. In a Fabric Extender A/A topology, the A/A Fabric Extender disconnects from the secondary switch. If the configuration is changed using a switch profile on the primary switch, configurations are not accepted on the secondary switch unless the A/A Fabric Extender is preprovisioned. When using the configuration synchronization feature, we recommend that you preprovision all A/A Fabric Extenders.

- Synchronizing configurations after mgmt0 interface connectivity loss—When mgmt0 interface connectivity is lost and configuration changes are required, apply the configuration changes on both switches using the switch profile. When connectivity to the mgmt0 interface is restored, both switches synchronize automatically.

If a configuration change is made on only one switch, a merge occurs when the mgmt0 interface comes up and the configuration is applied on the other switch.

- Synchronizing configurations when an ISSU is performed on one switch and a configuration change is made on the peer switch—In a vPC topology, configuration changes on the peer switch are not allowed when an ISSU is performed on the other switch. In topologies without vPCs, configuration changes are allowed and the switch undergoing an ISSU synchronizes new configurations when the upgrade is complete.

Configuring Switch Profiles

You can create and configure a switch profile. Enter the switch-profile name command in the configuration synchronization mode (config-sync).

Before You Begin

You must create the switch profile with the same name on each switch and the switches must configure each other as a peer. When connectivity is established between switches with the same active switch profile, the switch profiles are synchronized.

Procedure

Command or Action

Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

cfs ipv4 distribute

Example:

switch(config)# cfs ipv4 distribute
switch(config)#

Enables CFS distribution between the peer switches.

Step 3

config sync

Example:

switch# config sync
switch(config-sync)#

Enters configuration synchronization mode.

Step 4

switch-profile name

Example:

switch(config-sync)# switch-profile abc
switch(config-sync-sp)#

Configures the switch profile, names the switch profile, and enters switch profile synchronization configuration mode.

Step 5

sync-peers destination IP-address

Example:

switch(config-sync-sp)# sync-peers destination 10.1.1.1
switch(config-sync-sp)#

Configures the peer switch.

Step 6

show switch-profile name status

Example:

switch(config-sync-sp)# show switch-profile abc status
switch(config-sync-sp)#

(Optional)
Views the switch profile on the local switch and the peer switch information.

Step 7

exit

Example:

switch(config-sync-sp)# exit
switch#

Exits the switch profile configuration mode and returns to EXEC mode.

Step 8

copy running-config startup-config

Example:

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to configure a switch profile and shows the switch profile status.

switch# configuration terminal
switch(config)# cfs ipv4 distribute
switch(config-sync)# switch-profile abc
switch(config-sync-sp)# sync-peers destination 10.1.1.1
switch(config-sync-sp)# show switch-profile abc status
Start-time:  15801 usecs after Mon Aug 23 06:21:08 2010
End-time:   6480 usecs after Mon Aug 23 06:21:13 2010

Profile-Revision: 1
Session-type: Initial-Exchange
Peer-triggered: Yes
Profile-status: Sync Success

Local information:
----------------
Status: Commit Success
Error(s):

Peer information:
----------------
IP-address: 10.1.1.1
Sync-status: In Sync.
Status: Commit Success
Error(s):
switch(config-sync-sp)# exit
switch#

Adding a Switch to a Switch Profile

Enter the sync-peers destination destination IP command in switch profile configuration mode to add the switch to a switch profile.

Follow these guidelines when adding switches:

- Switches are identified by their IP address.

- Destination IPs are the IP addresses of the switches that you want to synchronize.

- The committed switch profile is synchronized with the newly added peers (when they are online) if the peer switch is also configured with configuration synchronization.

If you want to import a member interface to a switch profile, the port channel including the member interface must also be present within the switch profile.

Before You Begin

After creating a switch profile on the local switch, you must add the second switch that will be included in the synchronization.

Procedure

Command or Action

Purpose

Step 1

config sync

Example:

switch# config sync
switch(config-sync)#

Enters configuration synchronization mode.

Step 2

switch-profile name

Example:

switch(config-sync)# switch-profile abc
switch(config-sync-sp)#

Configures switch profile, names the switch profile, and enters switch profile synchronization configuration mode.

Step 3

sync-peers destination destination IP

Example:

switch(config-sync-sp)# sync-peers destination 10.1.1.1
switch(config-sync-sp)#

Adds a switch to the switch profile.

Step 4

exit

Example:

switch(config-sync-sp)# exit
switch#

Exits switch profile configuration mode.

Step 5

show switch-profile peer

Example:

switch# show switch-profile peer

(Optional)
Displays the switch profile peer configuration.

Step 6

copy running-config startup-config

Example:

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

Adding or Modifying Switch Profile Commands

To modify a command in a switch profile, add the modified command to the switch profile and enter the commit command to apply the command and synchronize the switch profile to the peer switch if it is reachable.

Follow these guidelines when adding or modifying switch profile commands:

- Commands that are added or modified are buffered until you enter the commit command.

- Commands are executed in the same order in which they are buffered. If there is an order-dependency for certain commands, for example, a QoS policy must be defined before being applied, you must maintain that order; otherwise, the commit might fail. You can use utility commands, such as the show switch-profile name buffer command, the buffer-delete command, or the buffer-move command, to change the buffer and correct the order of already entered commands.

Before You Begin

After configuring a switch profile on the local and the peer switch, you must add and commit the supported commands to the switch profile. The commands are added to the switch profile buffer until you enter the commit command. The commit command does the following:

- Triggers the mutex check and the merge check to verify the synchronization.

- Creates a checkpoint with a rollback infrastructure.

- Applies the configuration on the local switch and the peer switch.

- Executes a rollback on all switches if there is a failure with an application on any of the switches in the switch profile.

- Deletes the checkpoint.

Procedure

Command or Action

Purpose

Step 1

config sync

Example:

switch# config sync
switch(config-sync)#

Enters configuration synchronization mode.

Step 2

switch-profile name

Example:

switch(config-sync)# switch-profile abc
switch(config-sync-sp)#

Configures the switch profile, names the switch profile, and enters switch profile synchronization configuration mode.

Step 3

Command argument

Example:

switch(config-sync-sp)# interface Port-channel100
switch(config-sync-sp-if)# speed 1000
switch(config-sync-sp-if)# interface Ethernet1/1
switch(config-sync-sp-if)# speed 1000
switch(config-sync-sp-if)# channel-group 100

Adds a command to the switch profile.

Step 4

show switch-profile name buffer

Example:

switch(config-sync-sp)# show switch-profile abc buffer
switch(config-sync-sp)#

(Optional)
Displays the configuration commands in the switch profile buffer.

Step 5

verify

Example:

switch(config-sync-sp)# verify

Verifies the commands in the switch profile buffer.

Step 6

commit

Example:

switch(config-sync-sp)# commit

Saves the commands in the switch profile and synchronizes the configuration with the peer switch.

Step 7

show switch-profile name status

Example:

switch(config-sync-sp)# show switch-profile abc status
switch(config-sync-sp)#

(Optional)
Displays the status of the switch profile on the local switch and the status on the peer switch.

Step 8

exit

Example:

switch(config-sync-sp)# exit
switch#

Exits the switch profile configuration mode.

Step 9

copy running-config startup-config

Example:

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

The following example shows how to create a switch profile, configure a peer switch, and add commands to the switch profile.

switch# configuration terminal
switch(config)# cfs ipv4 distribute
switch(config-sync)# switch-profile abc
switch(config-sync-sp)# sync-peers destination 10.1.1.1
switch(config-sync-sp)# interface port-channel100
switch(config-sync-sp-if)# speed 1000
switch(config-sync-sp-if)# interface Ethernet1/1
switch(config-sync-sp-if)# speed 1000
switch(config-sync-sp-if)# channel-group 100
switch(config-sync-sp)# verify
switch(config-sync-sp)# commit
switch(config-sync-sp)# exit
switch#

The following example shows an existing configuration with a defined switch profile. The second example shows how the switch profile command changed by adding the modified command to the switch profile.

switch# show running-config
switch-profile abc
interface Ethernet1/1
switchport mode trunk
switchport trunk allowed vlan 1-10

switch# config sync
switch(config-sync)# switch-profile abc
switch(config-sync-sp)# interface Ethernet1/1
switch(config-sync-sp-if)# switchport trunk allowed vlan 5-10
switch(config-sync-sp-if)# commit

switch# show running-config
switch-profile abc
interface Ethernet1/1
switchport mode trunk
switchport trunk allowed vlan 5-10

Importing a Switch Profile

You can import a switch profile based on the set of commands that you want to import. Using the configuration terminal mode, you can do the following:

- Add selected commands to the switch profile.

- Add supported commands that were specified for an interface.

- Add supported system-level commands.

- Add supported system-level commands excluding the physical interface commands.

When you import commands to a switch profile, the switch profile buffer must be empty.

If new commands are added during the import, the switch profile remains unsaved and the switch remains in the switch profile import mode. You can enter the abort command to stop the import. For additional information importing a switch profile, see the “Switch Profile Import Mode” section.

Procedure

Command or Action

Purpose

Step 1

config sync

Example:

switch# config sync
switch(config-sync)#

Enters configuration synchronization mode.

Step 2

switch-profile name

Example:

switch(config-sync)# switch-profile abc
switch(config-sync-sp)#

Configures the switch profile, names the switch profile, and enters switch profile synchronization configuration mode.

Step 3

import {interface port/slot | running-config [exclude interface ethernet]}

Example:

switch(config-sync-sp)# import ethernet 1/2
switch(config-sync-sp-import)#

Identifies the commands that you want to import and enters switch profile import mode.

- <CR>—Adds selected commands.

- interface—Adds the supported commands for a specified interface.

- running-config—Adds supported system-level commands.

- running-config exclude interface ethernet—Adds supported system-level commands excluding the physical interface commands.

Step 4

commit

Example:

switch(config-sync-sp-import)# commit

Imports the commands and saves the commands to the switch profile.

Step 5

abort

Example:

switch(config-sync-sp-import)# abort

(Optional)
Aborts the import process.

Step 6

exit

Example:

switch(config-sync-sp)# exit
switch#

Exits switch profile import mode.

Step 7

show switch-profile

Example:

switch# show switch-profile

(Optional)
Displays the switch profile configuration.

Step 8

copy running-config startup-config

Example:

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

The following example shows how to import supported system-level commands excluding the Ethernet interface commands into the switch profile named sp:

switch(config-vlan)# conf sync
switch(config-sync)# switch-profile sp
Switch-Profile started, Profile ID is 1
switch(config-sync-sp)# show switch-profile buffer

switch-profile  : sp
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------

switch(config-sync-sp)# import running-config exclude interface ethernet
switch(config-sync-sp-import)#
switch(config-sync-sp-import)# show switch-profile buffer

switch-profile  : sp
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------
3       vlan 100-299
4       vlan 300
4.1       state suspend
5       vlan 301-345
6       interface port-channel100
6.1       spanning-tree port type network
7       interface port-channel105

switch(config-sync-sp-import)#

Importing Configurations in a vPC Topology

You can import configurations in a two-switch vPC topology.

Note

For specific information about the following steps, see the appropriate sections in this chapter.

1. Configure the switch profile with the same name on both switches.

2. Import the configurations to both switches independently.

Note

Ensure that the configuration moved to the switch profile on both switches is identical; otherwise, a merge-check failure might occur.

3. Configure the switches by entering the sync-peer destination command.

4. Verify that the switch profiles are the same by entering the appropriate show commands.

Verifying Commands in a Switch Profile

You can verify the commands that are included in a switch profile by entering the verify command in switch profile mode.

Procedure

Command or Action

Purpose

Step 1

config sync

Example:

switch# config sync
switch(config-sync)#

Enters configuration synchronization mode.

Step 2

switch-profile name

Example:

switch(config-sync)# switch-profile abc
switch(config-sync-sp)#

Configures the switch profile, names the switch profile, and enters switch profile synchronization configuration mode.

Step 3

verify

Example:

switch(config-sync-sp)# verify

Verifies the commands in the switch profile buffer.

Step 4

exit

Example:

switch(config-sync-sp)# exit
switch#

Exits the switch profile configuration mode.

Step 5

copy running-config startup-config

Example:

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

Isolating a Peer Switch

You can isolate a peer switch in order to make changes to a switch profile. This process can be used when you want to block a configuration synchronization or when you want to debug configurations.

Isolating a peer switch requires that you remove the switch from the switch profile and then add the peer switch back to the switch profile.

To temporarily isolate a peer switch, follow these steps:

1. Remove a peer switch from a switch profile.

2. Make changes to the switch profile and commit the changes.

3. Enter debug commands.

4. Undo the changes that were made to the switch profile in Step 2 and commit.

5. Add the peer switch back to the switch profile.

Deleting a Switch Profile

You can delete a switch profile by selecting the all-config or the local-config option:

- all-config—Deletes the switch profile on both peer switches (when both are reachable). If you choose this option and one of the peers is unreachable, only the local switch profile is deleted. The all-config option completely deletes the switch profile on both peer switches.

- local-config—Deletes the switch profile on the local switch only.

Procedure

Command or Action

Purpose

Step 1

config sync

Example:

switch# config sync
switch(config-sync)#

Enters configuration synchronization mode.

Step 2

no switch-profile name {all-config | local-config | profile-only}

Example:

switch(config-sync)# no switch-profile abc local-config
switch(config-sync-sp)#

Deletes the switch profile as follows:

- all-config—Deletes the switch profile on the local and peer switch. If the peer switch is not reachable, only the local switch profile is deleted.

- local-config—Deletes the switch profile and local configuration.

- profile-only—Deletes the switch profile without the local configuration.

Step 3

copy switch-profile-config

Example:

switch (config-sync-sp)# copy switch-profile-config bootflash:
switch (config-sync-sp)#

(Optional)

Step 4

exit

Example:

switch(config-sync-sp)# exit
switch#

Exits configuration synchronization mode.

Step 5

copy running-config startup-config

Example:

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

Deleting a Switch from a Switch Profile

You can delete a switch from a switch profile.

Procedure

Command or Action

Purpose

Step 1

config sync

Example:

switch# config sync
switch(config-sync)#

Enters configuration synchronization mode.

Step 2

switch-profile name

Example:

switch(config-sync)# switch-profile abc
switch(config-sync-sp)#

Configures the switch profile, names the switch profile, and enters the switch profile synchronization configuration mode.

Step 3

no sync-peers destination destination IP

Example:

switch(config-sync-sp)# no sync-peers destination 10.1.1.1
switch(config-sync-sp)#

Removes the specified switch from the switch profile.

Step 4

exit

Example:

switch(config-sync-sp)# exit
switch#

Exits the switch profile configuration mode.

Step 5

show switch-profile

Example:

switch# show switch-profile

(Optional)
Displays the switch profile configuration.

Step 6

copy running-config startup-config

Example:

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

Displaying the Switch Profile Buffer

Procedure

Command or Action

Purpose

Step 1

switch# configure sync

Enters configuration synchronization mode.

Step 2

switch(config-sync) # switch-profile profile-name

Enters switch profile synchronization configuration mode for the specified switch profile.

Step 3

switch(config-sync-sp) # show switch-profileprofile-name buffer

Enters interface switch profile synchronization configuration mode for the specified interface.

The following example shows how to display the switch profile buffer for a service profile called sp:

switch# configure sync
Enter configuration commands, one per line.  End with CNTL/Z.
switch(config-sync)# switch-profile sp
Switch-Profile started, Profile ID is 1
switch(config-sync-sp)# show switch-profile sp buffer
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------
1       vlan 101
1.1       ip igmp snooping querier 10.101.1.1
2       mac address-table static 0000.0000.0001 vlan 101 drop
3       interface Ethernet1/2
3.1       switchport mode trunk
3.2       switchport trunk allowed vlan 101

switch(config-sync-sp)# buffer-move 3 1
switch(config-sync-sp)# show switch-profile sp buffer
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------
1       interface Ethernet1/2
1.1       switchport mode trunk
1.2       switchport trunk allowed vlan 101
2       vlan 101
2.1       ip igmp snooping querier 10.101.1.1
3       mac address-table static 0000.0000.0001 vlan 101 drop
switch(config-sync-sp)#

Synchronizing Configurations After a Switch Reboot

If a Cisco Nexus Series switch reboots while a new configuration is being committed on a peer switch using a switch profile, complete the following steps to synchronize the peer switches after reload:

Procedure

Step 1

Reapply configurations that were changed on the peer switch during the reboot.

Step 2

Enter the commit command.

Step 3

Verify that the configuration is applied correctly and both peers are back synchronized.

Switch Profile Configuration show Commands

The following show commands display information about the switch profile.

Command

Purpose

show switch-profile name

Displays the commands in a switch profile.

show switch-profile name buffer

Displays the uncommitted commands in a switch profile, the commands that were moved, and the commands that were deleted.

show switch-profile name peer IP-address

Displays the synchronization status for a peer switch.

show switch-profile name session-history

Displays the status of the last 20 switch profile sessions.

show switch-profile name status

Displays the configuration synchronization status of a peer switch.

show running-config expand-port-profile

Displays details about the port profile.

show running-config exclude-provision

Displays the configurations for offline preprovisioned interfaces that are hidden.

show running-config switch-profile

Displays the running configuration for the switch profile on the local switch.

show startup-config switch-profile

Displays the startup configuration for the switch profile on the local switch.

For detailed information about the fields in the output from these commands, see the system management command reference for your platform.

Creating a Switch Profile on a Local and Peer Switch Example

The following example shows how to create a successful switch profile configuration on a local and peer switch including configuring QoS policies; a vPC peer-link, and a vPC in a switch profile.

Procedure

Command or Action

Purpose

Step 1

Enable CFSoIP distribution on the local and the peer switch.

Example:

switch# configuration terminal
switch(config)# cfs ipv4 distribute

Step 2

Create a switch profile on the local and the peer switch.

Example:

switch(config-sync)# switch-profile abc
switch(config-sync-sp)# sync-peers destination 10.1.1.1

Step 3

Verify that the switch profiles are the same on the local and the peer switch.

Example:

switch(config-sync-sp)# show switch-profile abc status

Start-time:  15801 usecs after Mon Aug 23 06:21:08 2010
End-time:   6480 usecs after Mon Aug 23 06:21:13 2010

Profile-Revision: 1
Session-type: Initial-Exchange
Peer-triggered: Yes
Profile-status: Sync Success

Local information:
----------------
Status: Commit Success
Error(s):

Peer information:
----------------
IP-address: 10.1.1.1
Sync-status: In Sync.
Status: Commit Success
Error(s):

Step 4

Add the configuration commands to the switch profile on the local switch. The commands will be applied to the peer switch when the commands are committed.

Example:

switch(config-sync-sp)# class-map type qos c1
switch(config-sync-sp-cmap-qos)# match cos 2
switch(config-sync-sp-cmap-qos)# class-map type qos c2
switch(config-sync-sp-cmap-qos)# match cos 5
switch(config-sync-sp-cmap-qos)# policy-map type qos p1
switch(config-sync-sp-pmap-qos)# class c1
switch(config-sync-sp-pmap-c-qos)# set qos-group 2
switch(config-sync-sp-pmap-c-qos)# class c2
switch(config-sync-sp-pmap-c-qos)# set qos-group 3
switch(config-sync-sp-pmap-c-qos)# system qos
switch(config-sync-sp-sys-qos)# service-policy type qos input p1
switch(config-sync-sp-sys-qos)# vlan 1-50
switch(config-sync-sp-vlan)# interface port-channel 100
switch(config-sync-sp-if)# vpc peer-link
switch(config-sync-sp-if)# switchport mode trunk
switch(config-sync-sp-if)# interface port-channel 10
switch(config-sync-sp-if)# vpc 1
switch(config-sync-sp-if)# switchport mode trunk
switch(config-sync-sp-if)# switchport trunk allowed vlan 1, 10-50

Step 5

View the buffered commands.

Example:

switch(config-sync-sp-if)# show switch-profile switch-profile buffer
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------
1       class-map type qos match-all c1
1.1       match cos 2
2       class-map type qos match-all c2
2.1       match cos 5
3       policy-map type qos p1
3.1       class c1
3.1.1       set qos-group 2
3.2       class c2
3.2.1       set qos-group 3
4       system qos
4.1       service-policy type qos input p1
5       vlan 2-50
6       interface port-channel100
6.1       vpc peer-link
6.2       switchport mode trunk
7       interface port-channel10
7.1       vpc 1
7.2       switchport mode trunk
7.3       switchport trunk allowed vlan 1, 10-50

Step 6

Verify the commands in the switch profile.

Example:

switch(config-sync-sp-if)# verify
Verification Successful

Step 7

Apply the commands to the switch profile and to synchronize the configurations between the local and the peer switch.

Example:

switch(config-sync-sp)# commit
Commit Successful
switch(config-sync)#

Verifying the Synchronization Status Example

The following example shows how to verify the synchronization status between the local and the peer switch:

switch(config-sync)# show switch-profile switch-profile status
Start-time: 804935 usecs after Mon Aug 23 06:41:10 2010
End-time: 956631 usecs after Mon Aug 23 06:41:20 2010

Profile-Revision: 2
Session-type: Commit
Peer-triggered: No
Profile-status: Sync Success

Local information:
----------------
Status: Commit Success
Error(s):

Peer information:
----------------
IP-address: 10.1.1.1
Sync-status: In Sync.
Status: Commit Success
Error(s):

switch(config-sync)#

Displaying the Running Configuration

The following example shows how to display the running configuration of the switch profile on the local switch:

switch# configure sync
switch(config-sync)# show running-config switch-profile
switch-profile sp
sync-peers destination 10.1.1.1
class-map type qos match-all c1
match cos 2
class-map type qos match-all c2
match cos 5
policy-map type qos p1
class c1
set qos-group 2
class c2
set qos-group 3
system qos
service-policy type qos input p1
vlan 2-50

interface port-channel10
switchport mode trunk
vpc 1
switchport trunk allowed vlan 1,10-50

interface port-channel100
switchport mode trunk
vpc peer-link
switch(config-sync)#

Displaying the Switch Profile Synchronization Between Local and Peer Switches

This example shows how to display the synchronization status for two peer switches:

switch1# show switch-profile sp status

Start-time: 491815 usecs after Thu Aug 12 11:54:51 2010
End-time: 449475 usecs after Thu Aug 12 11:54:58 2010

Profile-Revision: 1
Session-type: Initial-Exchange
Peer-triggered: No
Profile-status: Sync Success

Local information:
----------------
Status: Commit Success
Error(s):

Peer information:
----------------
IP-address: 10.193.194.52
Sync-status: In Sync.
Status: Commit Success
Error(s):

switch1#

switch2# show switch-profile sp status

Start-time: 503194 usecs after Thu Aug 12 11:54:51 2010
End-time: 532989 usecs after Thu Aug 12 11:54:58 2010

Profile-Revision: 1
Session-type: Initial-Exchange
Peer-triggered: Yes
Profile-status: Sync Success

Local information:
----------------
Status: Commit Success
Error(s):

Peer information:
----------------
IP-address: 10.193.194.51
Sync-status: In Sync.
Status: Commit Success
Error(s):

switch2#

Displaying Verify and Commit on Local and Peer Switches

This example shows how to configure a successful verify and commit of the local and peer switch:

switch1# configure sync
Enter configuration commands, one per line.  End with CNTL/Z.
switch1(config-sync)# switch-profile sp
Switch-Profile started, Profile ID is 1
switch1(config-sync-sp)# interface ethernet1/1
switch1(config-sync-sp-if)# description foo
switch1(config-sync-sp-if)# verify
Verification Successful
switch1(config-sync-sp)# commit
Commit Successful
switch1(config-sync)# show running-config switch-profile
switch-profile sp
sync-peers destination 10.193.194.52
interface Ethernet1/1
description foo
switch1(config-sync)# show switch-profile sp status

Start-time: 171513 usecs after Wed Aug 11 17:51:28 2010
End-time: 676451 usecs after Wed Aug 11 17:51:43 2010

Profile-Revision: 3
Session-type: Commit
Peer-triggered: No
Profile-status: Sync Success

Local information:
----------------
Status: Commit Success
Error(s):

Peer information:
----------------
IP-address: 10.193.194.52
Sync-status: In Sync.
Status: Commit Success
Error(s):

switch1(config-sync)#

switch2# show running-config switch-profile
switch-profile sp
sync-peers destination 10.193.194.51
interface Ethernet1/1
description foo
switch2# show switch-profile sp status

Start-time: 265716 usecs after Wed Aug 11 16:51:28 2010
End-time: 734702 usecs after Wed Aug 11 16:51:43 2010

Profile-Revision: 3
Session-type: Commit
Peer-triggered: Yes
Profile-status: Sync Success

Local information:
----------------
Status: Commit Success
Error(s):

Peer information:
----------------
IP-address: 10.193.194.51
Sync-status: In Sync.
Status: Commit Success
Error(s):

switch2#

Successful and Unsuccessful Synchronization Examples

The following example shows a successful synchronization of the switch profile on the peer switch:

switch# show switch-profile abc peer

switch# show switch-profile sp peer 10.193.194.52
Peer-sync-status           : In Sync.
Peer-status                : Commit Success
Peer-error(s)              :
switch1#

The following example shows an unsuccessful synchronization of a switch profile on the peer switch, with a peer not reachable status:

switch# show switch-profile sp peer 10.193.194.52
Peer-sync-status           : Not yet merged. pending-merge:1 received_merge:0
Peer-status                : Peer not reachable
Peer-error(s)              :
switch#

Configuring the Switch Profile Buffer, Moving the Buffer, and Deleting the Buffer

This example shows how to configure the switch profile buffer, the buffer-move configuration, and the buffer-delete configuration:

switch# configure sync
Enter configuration commands, one per line.  End with CNTL/Z.
switch(config-sync)# switch-profile sp
Switch-Profile started, Profile ID is 1
switch(config-sync-sp)# vlan 101
switch(config-sync-sp-vlan)# ip igmp snooping querier 10.101.1.1
switch(config-sync-sp-vlan)# exit
switch(config-sync-sp)# mac address-table static 0000.0000.0001 vlan 101 drop
switch(config-sync-sp)# interface ethernet1/2
switch(config-sync-sp-if)# switchport mode trunk
switch(config-sync-sp-if)# switchport trunk allowed vlan 101
switch(config-sync-sp-if)# exit
switch(config-sync-sp)# show switch-profile sp buffer
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------
1       vlan 101
1.1       ip igmp snooping querier 10.101.1.1
2       mac address-table static 0000.0000.0001 vlan 101 drop
3       interface Ethernet1/2
3.1       switchport mode trunk
3.2       switchport trunk allowed vlan 101

switch(config-sync-sp)# buffer-move 3 1
switch(config-sync-sp)# show switch-profile sp buffer
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------
1       interface Ethernet1/2
1.1       switchport mode trunk
1.2       switchport trunk allowed vlan 101
2       vlan 101
2.1       ip igmp snooping querier 10.101.1.1
3       mac address-table static 0000.0000.0001 vlan 101 drop

switch(config-sync-sp)# buffer-delete 1
switch(config-sync-sp)# show switch-profile sp buffer
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------
2       vlan 101
2.1       ip igmp snooping querier 10.101.1.1
3       mac address-table static 0000.0000.0001 vlan 101 drop

switch(config-sync-sp)# buffer-delete all
switch(config-sync-sp)# show switch-profile sp buffer
switch(config-sync-sp)#

Importing Configurations

The following example shows how to import an interface configuration:

switch# show running-config interface ethernet1/3

!Command: show running-config interface Ethernet1/3
!Time: Wed Aug 11 18:12:44 2010

version 5.0(2)N1(1)

interface Ethernet1/3
switchport mode trunk
switchport trunk allowed vlan 1-100

switch# configure sync
Enter configuration commands, one per line.  End with CNTL/Z.
switch(config-sync)# switch-profile sp
Switch-Profile started, Profile ID is 1

switch(config-sync-sp)# import interface Ethernet1/3
switch(config-sync-sp-import)# show switch-profile sp buffer
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------
1       interface Ethernet1/3
1.1       switchport mode trunk
1.2       switchport trunk allowed vlan 1-100

switch(config-sync-sp-import)# verify
Verification Successful
switch(config-sync-sp-import)# commit
Commit Successful
switch(config-sync)#

The following example shows how to import the supported commands in a running configuration:

switch(config-sync)# switch-profile sp
Switch-Profile started, Profile ID is 1
switch(config-sync-sp)# import running-config
switch(config-sync-sp-import)# show switch-profile sp buffer
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------
1       logging event link-status default
2       vlan 1
3       port-profile type ethernet pp1
3.1       bandwidth 5000
3.2       bandwidth inherit
3.3       speed 10000
3.4       state enabled
4       interface port-channel3
4.1       switchport mode trunk
4.2       vpc peer-link
4.3       spanning-tree port type network
5       interface port-channel30
5.1       switchport mode trunk
5.2       vpc 30
5.3       switchport trunk allowed vlan 2-10
6       interface port-channel31
6.1       switchport mode trunk
6.2       vpc 31
6.3       switchport trunk allowed vlan 11-20
7       interface port-channel101
7.1       switchport mode fex-fabric
7.2       fex associate 101
8       interface port-channel102
8.1       switchport mode fex-fabric
8.2       vpc 102
8.3       fex associate 102
9       interface port-channel103
9.1       switchport mode fex-fabric
9.2       vpc 103
9.3       fex associate 103
10      interface Ethernet1/1
11      interface Ethernet1/2
12      interface Ethernet1/3
13      interface Ethernet1/4
13.1      switchport mode trunk
13.2      channel-group 3
14      interface Ethernet1/5
14.1      switchport mode trunk
14.2      channel-group 3
15      interface Ethernet1/6
15.1      switchport mode trunk
15.2      channel-group 3
16      interface Ethernet1/7
16.1      switchport mode trunk
16.2      channel-group 3
17      interface Ethernet1/8
18      interface Ethernet1/9
18.1      switchport mode trunk
18.2      switchport trunk allowed vlan 11-20
18.3      channel-group 31 mode active
19      interface Ethernet1/10
19.1      switchport mode trunk
19.2      switchport trunk allowed vlan 11-20
19.3      channel-group 31 mode active
20      interface Ethernet1/11
21      interface Ethernet1/12
...
45      interface Ethernet2/4
45.1      fex associate 101
45.2      switchport mode fex-fabric
45.3      channel-group 101
46      interface Ethernet2/5
46.1      fex associate 101
46.2      switchport mode fex-fabric
46.3      channel-group 101
47      interface Ethernet2/6
47.1      fex associate 101
47.2      switchport mode fex-fabric
47.3      channel-group 101
48      interface Ethernet2/7
48.1      fex associate 101
48.2      switchport mode fex-fabric
48.3      channel-group 101
49      interface Ethernet2/8
49.1      fex associate 101
...
89      interface Ethernet100/1/32
90      interface Ethernet100/1/33
91      interface Ethernet100/1/34
92      interface Ethernet100/1/35
93      interface Ethernet100/1/36
...
105     interface Ethernet100/1/48
switch(config-sync-sp-import)#

The following example shows how to import selected supported commands. First, show the port profile running configuration to identify the configuration that you are going to import:

switch# show running-config port-profile

!Command: show running-config port-profile
!Time: Thu Aug 12 12:09:11 2010

version 5.0(2)N1(1)
port-profile type ethernet pp1
bandwidth 5000
bandwidth inherit
speed 10000
state enabled

switch#

switch# configure sync
Enter configuration commands, one per line.  End with CNTL/Z.
switch(config-sync)# switch-profile sp
Switch-Profile started, Profile ID is 1
switch(config-sync-sp)# import
switch(config-sync-sp-import)# port-profile type ethernet pp1
switch(config-sync-sp-import-if)# bandwidth 5000
switch(config-sync-sp-import-if)# bandwidth inherit
switch(config-sync-sp-import-if)# speed 10000
switch(config-sync-sp-import-if)# state enabled
switch(config-sync-sp-import-if)# show switch-profile sp buffer
----------------------------------------------------------
Seq-no  Command
----------------------------------------------------------
1       port-profile type ethernet pp1
1.1       bandwidth 5000
1.2       bandwidth inherit
1.3       speed 10000
1.4       state enabled

switch(config-sync-sp-import-if)# verify
Verification Successful
switch(config-sync-sp-import)# commit
Commit Successful
switch(config-sync)# show running-config switch-profile
switch-profile sp
sync-peers destination 10.193.194.52
port-profile type ethernet pp1
bandwidth 5000
bandwidth inherit
speed 10000
state enabled
switch(config-sync)#

Migrating Cisco NX-OS Release 5.0(2)N1(1) in a Fabric Extender A-A Topology Example

This examples shows the tasks used to migrate to Cisco NX-OS Release 5.0(2)N1(1) in a Fabric Extender A-A topology. For details on the tasks, see the appropriate sections in this chapter.

Procedure

Step 1

Ensure configurations are the same on both switches.

Step 2

Configure the switch-profile with same name on both switches.

Step 3

Enter the import running config command on both switches.

Step 4

Enter the switch-profile name buffer command to ensure all configurations are correctly imported on both switches.

Step 5

Remove unwanted configuration settings by editing the buffer.
For details, see Configuring the Switch Profile Buffer, Moving the Buffer, and Deleting the Buffer.

Step 6

Enter the commit command on both switches.

Step 7

Enter the sync-peers destination IP-address command to configure the peer switch on both switches.

Step 8

Enter the switch-profile name status command to ensure both switches are synchronized.

Migrating Cisco NX-OS Release 5.0(2)N1(1) in a Fabric Extender Fabric Extender Straight-Through Topology Example

This example shows the tasks used to migrate to Cisco NX-OS Release 5.0(2)N1(1) in a Fabric Extender Straight-Through topology. For details on the tasks, see the appropriate sections in this chapter.

Procedure

Step 1

Ensure the vPC port-channel configurations are the same on both switches.

Step 2

Configure the switch-profile with the same name on both switches.

Step 3

Enter the import interface port-channel x-y, port-channel z command for all vPC port-channels on both switches.

Step 4

Enter the show switch-profile name buffer command to ensure all configurations are correctly imported on both switches.

Step 5

Remove unwanted configuration settings by editing the buffer.
For details, see Configuring the Switch Profile Buffer, Moving the Buffer, and Deleting the Buffer.

Step 6

Enter the commit command on both switches.

Step 7

Enter the sync-peers destination IP-address command to configure the peer switch on both switches.

Step 8

Enter the show switch-profile name status command to ensure both switches are synchronized.

Chapter 4. Configuring Module Pre-Provisioning

This chapter contains the following sections:

- Information About Module Pre-Provisioning

- Guidelines and Limitations

- Enabling Module Pre-Provisioning

- Removing Module Pre-Provisioning

- Verifying the Pre-Provisioned Configuration

- Configuration Examples for Pre-Provisioning

Information About Module Pre-Provisioning

The pre-provisioning feature allows you to preconfigure interfaces before inserting or attaching a module. If a module goes offline, you can also use pre-provisioning to make changes to the interface configurations for the offline module. When a pre-provisioned module comes online, the pre-provisioning configurations are applied. If any configurations were not applied, a syslog is generated. The syslog lists the configurations that were not accepted.

In some Virtual Port Channel (vPC) topologies, pre-provisioning is required for the configuration synchronization feature. Pre-provisioning allows you to synchronize the configuration for an interface that is online with one peer but offline with another peer.

Guidelines and Limitations

Pre-provisioning has the following configuration guidelines and limitations:

- When a module comes online, commands that are not applied are listed in the syslog.

- If a slot is pre-provisioned for module A and if you insert module B into the slot, module B does not come online.

- There is no MIB support for pre-provisioned interfaces.

- Cisco DCNM is not supported.

Enabling Module Pre-Provisioning

You can enable pre-provisioning on a module that is offline. Enter the provision model model command in module pre-provision mode.

Note

After enabling pre-provisioning, you can configure the interfaces as though they are online.

Procedure

Command or Action

Purpose

Step 1

configuration terminal

Example:

switch# config t
switch(config)#

Enters global configuration mode.

Step 2

slot slot

Example:

switch(config)# slot 101
switch(config-slot)#

Selects the slot to pre-provision and enters slot configuration mode.

Step 3

provision model model

Example:

switch(config-slot)# provision model N2K-C2248T
switch(config-slot)#

Selects the module that you want to pre-provision.

Step 4

exit

Example:

switch(config-slot)# exit
switch#

Exits slot configuration mode.

Step 5

copy running-config startup-config

Example:

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

This example shows how to select slot 101 and the N2K-C2232P module to pre-provision.

switch# configure terminal
switch(config)# slot 101
switch(config-slot)# provision model N2K-C2232P
switch(config-slot)# exit

Removing Module Pre-Provisioning

You can remove a module that has been pre-provisioned.

Procedure

Command or Action

Purpose

Step 1

configuration terminal

Example:

switch# config t
switch(config)#

Enters global configuration mode.

Step 2

slot slot

Example:

switch(config)# slot 101
switch(config-slot)#

Selects the slot to pre-provision and enters slot configuration mode.

Step 3

no provision model model

Example:

switch(config-slot)# no provision model N2K-C2248T
switch(config-slot)#

Removes pre-provisioning from the module.

Step 4

exit

Example:

switch(config-slot)# exit
switch#

Exits slot configuration mode.

Step 5

copy running-config startup-config

Example:

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

This example shows how to remove a preprovisioned module from a chassis slot:

switch(config)# slot 2
switch(config-slot)# no provision model N5K-M1404
switch(config-slot)#

Verifying the Pre-Provisioned Configuration

To display the pre-provisioned configuration, perform one of the following tasks:

Command

Purpose

show module

Displays module information.

show switch-profile

Displays switch profile information.

show running-config exclude-provision

Displays the running configuration without the pre-provisioned interfaces or modules that are offline.

show provision failed-config

Displays the pre-provisioned commands that were not applied to the configuration when the interface or module came online.

This command also displays a history of failed commands.

show running-config

Displays the running configuration including the pre-provisioned configuration.

show startup-config

Displays the startup configuration including the pre-provisioned configuration.

Configuration Examples for Pre-Provisioning

The following example shows how to enable pre-provisioning on slot 110 on the Cisco Nexus 2232P Fabric Extender and how to pre-provision interface configuration commands on the Ethernet 110/1/1 interface.

switch# configure terminal
switch(config)# slot 110
switch(config-slot)# provision model N2K-C2232P
switch(config-slot)# exit

switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# interface Ethernet110/1/1
switch(config-if)# description module is preprovisioned
switch(config-if)# show running-config interface Ethernet110/1/1
Time: Wed Aug 25 21:29:44 2010

version 5.0(2)N1(1)

interface Ethernet110/1/1
description module is preprovisioned

The following example shows the list of pre-provisioned commands that were not applied when the module came online.

switch(config-if-range)# show provision failed-config 101
The following config was not applied for slot 33
================================================

interface Ethernet101/1/1
service-policy input test

interface Ethernet101/1/2
service-policy input test

interface Ethernet101/1/3
service-policy input test

This example shows how to remove all pre-provisioned modules from a slot:

switch(config)# slot 2
switch(config-slot)# no provision model
switch(config-slot)#

Chapter 5. Using Cisco Fabric Services

This chapter contains the following sections:

- Information About CFS

- Guidelines and Limitations for CFS

- CFS Distribution

- Displaying CFS Distribution Information

- Default Settings for CFS

Information About CFS

Some features in the Cisco Nexus Series switch require configuration synchronization with other switches in the network to function correctly. Synchronization through manual configuration at each switch in the network can be a tedious and error-prone process.

Cisco Fabric Services (CFS) provides a common infrastructure for automatic configuration synchronization in the network. It provides the transport function and a set of common services to the features. CFS has the ability to discover CFS-capable switches in the network and to discover feature capabilities in all CFS-capable switches.

Cisco Nexus Series switches support CFS message distribution over Fibre Channel and IPv4 or IPv6 networks. If the switch is provisioned with Fibre Channel ports, CFS over Fibre Channel is enabled by default while CFS over IP must be explicitly enabled.

CFS provides the following features:

- Peer-to-peer protocol with no client-server relationship at the CFS layer.

- CFS message distribution over Fibre Channel and IPv4 or IPv6 networks.

- Three modes of distribution.

- Coordinated distributions—Only one distribution is allowed in the network at any given time.

- Uncoordinated distributions—Multiple parallel distributions are allowed in the network except when a coordinated distribution is in progress.

- Unrestricted uncoordinated distributions—Multiple parallel distributions are allowed in the network in the presence of an existing coordinated distribution. Unrestricted uncoordinated distributions are allowed to run in parallel with all other types of distributions.

The following features are supported for CFS distribution over IP:

- One scope of distribution over an IP network:

- Physical scope—The distribution spans the entire IP network.

The following features are supported for CFS distribution over Fibre Channel SANs:

- Three scopes of distribution over SAN fabrics.

- Logical scope — The distribution occurs within the scope of a VSAN.

- Physical scope — The distribution spans the entire physical topology.

- Over a selected set of VSANs — Some features require configuration distribution over some specific VSANs. These features can specify to CFS the set of VSANs over which to restrict the distribution.

- Supports a merge protocol that facilitates the merge of feature configuration during a fabric merge event (when two independent SAN fabrics merge).

- Cisco Fabric Services over Ethernet

Cisco Fabric Services over Ethernet

The Cisco Fabric Services over Ethernet (CFSoE) is a reliable state transport mechanism that you can use to synchronize the actions of the vPC peer devices. CFSoE carries messages and packets for many features linked with vPC, such as STP and IGMP. Information is carried in CFS/CFSoE protocol data units (PDUs).

When you enable the vPC feature, the device automatically enables CFSoE, and you do not have to configure anything. CFSoE distributions for vPCs do not need the capabilities to distribute over IP or the CFS regions. You do not need to configure anything for the CFSoE feature to work correctly on vPCs.

You can use the show mac address-table command to display the MAC addresses that CFSoE synchronizes for the vPC peer link.

Note

Do not enter the no cfs eth distribute or the no cfs distribute command. CFSoE must be enabled for vPC functionality. If you do enter either of these commands when vPC is enabled, the system displays an error message.

When you enter the show cfs application command, the output displays "Physical-eth," which shows the applications that are using CFSoE.

Guidelines and Limitations for CFS

CFS has the following configuration guidelines and limitations:

- If the virtual port channel (vPC) feature is enabled for your device, do not disable CFSoE.

Note

CFSoE must be enabled for the vPC feature to work.

- All CFSoIP-enabled devices with similar multicast addresses form one CFSoIP fabric.

- Make sure that CFS is enabled for the applications that you want to configure.

- Anytime you lock a fabric, your username is remembered across restarts and switchovers.

- Anytime you lock a fabric, configuration changes attempted by anyone else are rejected.

- While a fabric is locked, the application holds a working copy of configuration changes in a pending database or temporary storage area, not in the running configuration.

- Configuration changes that have not been committed yet (still saved as a working copy) are not in the running configuration and do not display in the output of show commands.

- If you start a CFS session that requires a fabric lock but forget to end the session, an administrator can clear the session.

- An empty commit is allowed if configuration changes are not previously made. In this case, the commit command results in a session that acquires locks and distributes the current database.

- You can use the commit command only on the specific device where the fabric lock was acquired.

- CFSoIP and CFSoE are not supported for use together.

- CFS regions can be applied only to CFSoIP applications.

CFS Distribution

The CFS distribution functionality is independent of the lower layer transport. Cisco Nexus Series switches support CFS distribution over IP and over Fibre Channel. Features that use CFS are unaware of the lower layer transport.

- CFS Distribution Modes

- Disabling or Enabling CFS Distribution on a Switch

- Verifying the CFS Distribution Status

- CFS Distribution over IP

- CFS Distribution over Fibre Channel

- CFS Distribution Scopes

- CFS Merge Support

CFS Distribution Modes

CFS supports three distribution modes to accommodate different feature requirements:

- Uncoordinated Distribution

- Coordinated Distribution

- Unrestricted Uncoordinated Distributions

Only one mode is allowed at any given time.

- Uncoordinated Distribution

- Coordinated Distribution

- Unrestricted Uncoordinated Distributions

Uncoordinated Distribution

Uncoordinated distributions are used to distribute information that is not expected to conflict with information from a peer. Parallel uncoordinated distributions are allowed for a feature.

Coordinated Distribution

Coordinated distributions allow only one feature distribution at a given time. CFS uses locks to enforce this feature. A coordinated distribution is not allowed to start if locks are taken for the feature anywhere in the network. A coordinated distribution consists of three stages:

- A network lock is acquired.

- The configuration is distributed and committed.

- The network lock is released.

Coordinated distribution has two variants:

- CFS driven —The stages are executed by CFS in response to a feature request without intervention from the feature.

- Feature driven—The stages are under the complete control of the feature.

Coordinated distributions are used to distribute information that can be manipulated and distributed from multiple switches, for example, the port security configuration.

Unrestricted Uncoordinated Distributions

Unrestricted uncoordinated distributions allow multiple parallel distributions in the network in the presence of an existing coordinated distribution. Unrestricted uncoordinated distributions are allowed to run in parallel with all other types of distributions.

Disabling or Enabling CFS Distribution on a Switch

If the switch is provisioned with Fibre Channel ports, CFS over Fibre Channel is enabled by default. CFS over IP must be explicitly enabled.

You can globally disable CFS on a switch to isolate the features using CFS from network-wide distributions while maintaining physical connectivity. When CFS is globally disabled on a switch, CFS operations are restricted to the switch.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters configuration mode.

Step 2

switch(config)# no cfs distribute

Globally disables CFS distribution (CFS over Fibre Channel or IP) for all applications on the switch.

Step 3

switch(config)# cfs distribute

(Optional)
Enables CFS distribution on the switch. This is the default.

Verifying the CFS Distribution Status

The show cfs status command displays the status of CFS distribution on the switch:

switch# show cfs status
Distribution : Enabled
Distribution over IP : Enabled - mode IPv4
IPv4 multicast address : 239.255.70.83
IPv6 multicast address : ff15::efff:4653
Distribution over Ethernet : Enabled

CFS Distribution over IP

CFS distribution over IP supports the following features:

- Physical distribution over an entirely IP network.

- Physical distribution over a hybrid Fibre Channel and IP network with the distribution reaching all switches that are reachable over either Fibre Channel or IP.

Note

The switch attempts to distribute information over Fibre Channel first and then over the IP network if the first attempt over Fibre Channel fails. CFS does not send duplicate messages if distribution over both IP and Fibre Channel is enabled.

- Distribution over IP version 4 (IPv4) or IP version 6 (IPv6).

Note

CFS cannot distribute over both IPv4 and IPv6 from the same switch.

- Keepalive mechanism to detect network topology changes using a configurable multicast address.

- Compatibility with Cisco MDS 9000 Family switches running release 2.x or later.

The following figure (Network Example 1) shows a network with both Fibre Channel and IP connections. Node A forwards an event to node B over Fibre Channel. Node B forwards the event node C and node D using unicast IP. Node C forwards the event to node E using Fibre Channel.

Network Example 1 with Fibre Channel and IP Connections

The following figure (Network Example 2) is the same as the previous figure except that node C and node D are connected using Fibre Channel. All processes is the same in this example because node B has node C and node D the distribution list for IP. Node C does not forward to node D because node D is already in the distribution list from node B.

Network Example 2 with Fibre Channel and IP Connections

The following figure (Network Example 3) is the same as the previous figure except that node D and node E are connected using IP. Both node C and node D forward the event to E because the node E is not in the distribution list from node B.

Network Example 3 with Fibre Channel and IP Connections

CFS Distribution over Fibre Channel

For FCS distribution over Fibre Channel, the CFS protocol layer resides on top of the FC2 layer. CFS uses the FC2 transport services to send information to other switches. CFS uses a proprietary SW_ILS (0x77434653) protocol for all CFS packets. CFS packets are sent to or from the switch domain controller addresses.

CFS Distribution Scopes

Different applications on the Cisco Nexus Series switches need to distribute the configuration at various levels. The following levels are available when using CFS distribution over Fibre Channel:

- VSAN level (logical scope)

Applications that operate within the scope of a VSAN have the configuration distribution restricted to the VSAN. An example application is port security where the configuration database is applicable only within a VSAN.

Note

Logical scope is not supported for FCS distribution over IP.

- Physical topology level (physical scope)

Some applications (such as NTP) need to distribute the configuration to the entire physical topology.

- Between two selected switches

Some applications operate only between selected switches in the network.

CFS Merge Support

CFS Merge is supported for CFS distribution over Fibre Channel.

An application keeps the configuration synchronized in a SAN fabric through CFS. Two such fabrics might merge as a result of an ISL coming up between them. These two fabrics could have two different sets of configuration information that need to be reconciled in the event of a merge. CFS provides notification each time an application peer comes online. If a fabric with M application peers merges with another fabric with N application peers, and if an application triggers a merge action on every notification, a link-up event results in M×N merges in the fabric.

CFS supports a protocol that reduces the number of merges required to one by handling the complexity of the merge at the CFS layer. This protocol runs per application per scope. The protocol involves selecting one switch in a fabric as the merge manager for that fabric. The other switches do not have a role in the merge process.

During a merge, the merge manager in the two fabrics exchange their configuration databases with each other. The application on one of them merges the information, decides if the merge is successful, and informs all switches in the combined fabric of the status of the merge.

In case of a successful merge, the merged database is distributed to all switches in the combined fabric and the entire new fabric remains in a consistent state. You can recover from a merge failure by starting a distribution from any of the switches in the new fabric. This distribution restores all peers in the fabric to the same configuration database.

CFS Application Requirements

All switches in the network must be CFS capable. Switches that are not CFS capable do not receive distributions, which results in part of the network not receiving the intended distribution. CFS has the following requirements:

- Implicit CFS usage—The first time that you issue a CFS task for a CFS-enabled application, the configuration modification process begins and the application locks the network.

- Pending database—The pending database is a temporary buffer to hold uncommitted information. The uncommitted changes are not applied immediately to ensure that the database is synchronized with the database in the other switches in the network. When you commit the changes, the pending database overwrites the configuration database (also known as the active database or the effective database).

- CFS distribution enabled or disabled on a per-application basis—The default (enable or disable) for the CFS distribution state differs between applications. If CFS distribution is disabled for an application, that application does not distribute any configuration and does not accept a distribution from other switches in the network.

- Explicit CFS commit—Most applications require an explicit commit operation to copy the changes in the temporary buffer to the application database, to distribute the new database to the network, and to release the network lock. The changes in the temporary buffer are not applied if you do not perform the commit operation.

Enabling CFS for an Application

All CFS-based applications provide an option to enable or disable the distribution capabilities.

Applications have the distribution enabled by default.

The application configuration is not distributed by CFS unless distribution is explicitly enabled for that application.

- Verifying Application Registration Status

Verifying Application Registration Status

The show cfs application command displays the applications that are currently registered with CFS. The first column displays the application name. The second column indicates whether the application is enabled or disabled for distribution (enabled or disabled). The last column indicates the scope of distribution for the application (logical, physical, or both).

Note

The show cfs application command only displays applications registered with CFS. Conditional services that use CFS do not appear in the output unless these services are running.

switch# show cfs application

----------------------------------------------

Application    Enabled   Scope

----------------------------------------------

ntp            No        Physical-all

fscm           Yes       Physical-fc

rscn           No        Logical

fctimer        No        Physical-fc

syslogd        No        Physical-all

callhome       No        Physical-all

fcdomain       Yes       Logical

device-alias   Yes       Physical-fc

Total number of entries = 8

The show cfs application name command displays the details for a particular application. It displays the enabled/disabled state, timeout as registered with CFS, merge capability (if it has registered with CFS for merge support), and the distribution scope.

switch# show cfs application name fscm

Enabled         : Yes

Timeout        : 100s

Merge Capable  : No

Scope          : Physical-fc

Locking the Network

When you configure (first-time configuration) a feature (application) that uses the CFS infrastructure, that feature starts a CFS session and locks the network. When a network is locked, the switch software allows configuration changes to this feature only from the switch that holds the lock. If you make configuration changes to the feature from another switch, the switch issues a message to inform the user about the locked status. The configuration changes are held in a pending database by that application.

If you start a CFS session that requires a network lock but forget to end the session, an administrator can clear the session. If you lock a network at any time, your username is remembered across restarts and switchovers. If another user (on the same machine) tries to perform configuration tasks, that user’s attempts are rejected.

- Verifying CFS Lock Status

Verifying CFS Lock Status

The show cfs lock command displays all the locks that are currently acquired by any application. For each application the command displays the application name and scope of the lock taken. If the application lock is taken in the physical scope, then this command displays the switch WWN, IP address, user name, and user type of the lock holder. If the application is taken in the logical scope, then this command displays the VSAN in which the lock is taken, the domain, IP address, user name, and user type of the lock holder.

switch# show cfs lock

Application: ntp
Scope      : Physical
--------------------------------------------------------------------
Switch WWN               IP Address       User Name    User Type
--------------------------------------------------------------------
20:00:00:05:30:00:6b:9e  10.76.100.167    admin        CLI/SNMP v3
Total number of entries = 1

Application: port-security
Scope      : Logical
-----------------------------------------------------------
VSAN   Domain   IP Address       User Name    User Type
-----------------------------------------------------------
1      238      10.76.100.167    admin        CLI/SNMP v3
2      211      10.76.100.167    admin        CLI/SNMP v3
Total number of entries = 2

The show cfs lock name command displays the lock details for the specified application.

switch# show cfs lock name ntp

Scope      : Physical
--------------------------------------------------------------------
Switch WWN               IP Address       User Name    User Type
--------------------------------------------------------------------
20:00:00:05:30:00:6b:9e  10.76.100.167    admin        CLI/SNMP v3

Total number of entries = 1

Committing Changes

A commit operation saves the pending database for all application peers and releases the lock for all switches.

The commit function does not start a session; only a lock function starts a session. However, an empty commit is allowed if configuration changes are not previously made. In this case, a commit operation results in a session that acquires locks and distributes the current database.

When you commit configuration changes to a feature using the CFS infrastructure, you receive a notification about one of the following responses:

- One or more external switches report a successful status—The application applies the changes locally and releases the network lock.

- None of the external switches report a successful state—The application considers this state a failure and does not apply the changes to any switch in the network. The network lock is not released.

You can commit changes for a specified feature by entering the commit command for that feature.

Discarding Changes

If you discard configuration changes, the application flushes the pending database and releases locks in the network. Both the abort and commit functions are supported only from the switch from which the network lock is acquired.

You can discard changes for a specified feature by using the abort command for that feature.

Saving the Configuration

Configuration changes that have not been applied yet (still in the pending database) are not shown in the running configuration. The configuration changes in the pending database overwrite the configuration in the effective database when you commit the changes.

Caution

If you do not commit the changes, they are not saved to the running configuration.

Clearing a Locked Session

You can clear a lock held by an application from any device in the fabric.

Caution

When you clear a lock in the fabric, any pending configurations in any device in the fabric are discarded.

Before You Begin

You must have administrator permissions to release a lock.

Procedure

Command or Action

Purpose

Step 1

switch# show application-name status

(Optional)
Shows the current application state.

Step 2

switch# clear application-name session

Clears the application configuration session and releases the lock on the fabric. All pending changes are discarded.

Step 3

switch# show application-name status

(Optional)
Shows the current application state.

switch# show ntp status
Distribution : Enabled
Last operational state: Fabric Locked
switch# clear ntp session
switch# show ntp status
Distribution : Enabled
Last operational state: No session

About CFS Regions

A CFS region is a user-defined subset of switches for a given feature or application in its physical distribution scope. When a network spans a vast geography, you might need to localize or restrict the distribution of certain profiles among a set of switches based on their physical proximity. CFS regions allow you to create multiple islands of distribution within the network for a given CFS feature or application. CFS regions are designed to restrict the distribution of a feature’s configuration to a specific set or grouping of switches in a network.

Note

You can only configure a CFS region based on physical switches. You cannot configure a CFS region in a VSAN.

Example Scenario

The Smart Call Home application triggers alerts to network administrators when a situation arises or something abnormal occurs. When the network covers many geographies, and there are multiple network administrators who are each responsible for a subset of switches in the network, the Smart Call Home application sends alerts to all network administrators regardless of their location. For the Smart Call Home application to send message alerts selectively to network administrators, the physical scope of the application has to be fine tuned or narrowed down. You can achieve this scenario by implementing CFS regions.

CFS regions are identified by numbers ranging from 0 through 200. Region 0 is reserved as the default region and contains every switch in the network. You can configure regions from 1 through 200. The default region maintains backward compatibility.

If the feature is moved, that is, assigned to a new region, its scope is restricted to that region; it ignores all other regions for distribution or merging purposes. The assignment of the region to a feature has precedence in distribution over its initial physical scope.

You can configure a CFS region to distribute configurations for multiple features. However, on a given switch, you can configure only one CFS region at a time to distribute the configuration for a given feature. Once you assign a feature to a CFS region, its configuration cannot be distributed within another CFS region.

Creating CFS Regions

You can create a CFS region.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# cfs region region-id

Creates a region.

Assigning Applications to CFS Regions

You can assign an application on a switch to a region.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# cfs region region-id

Creates a region.

Step 3

switch(config-cfs-region)# application

Adds application(s) to the region.

Note:
You can add any number of applications on the switch to a region. If you try adding an application to the same region more than once, you see the "Application already present in the same region" error message.

The following example shows how to assign applications to a region:

switch# configure terminal

switch(config)# cfs region 1

switch(config-cfs-region)# ntp

switch(config-cfs-region)# callhome

Moving an Application to a Different CFS Region

You can move an application from one region to another region.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# cfs region region-id

Enters CFS region configuration submode.

Step 3

switch(config-cfs-region)# application

Indicates application(s) to be moved from one region into another.

Note:
If you try moving an application to the same region more than once, you see the "Application already present in the same region" error message.

The following example shows how to move an application into Region 2 that was originally assigned to Region 1:

switch# configure terminal

switch(config)# cfs region 2

switch(config-cfs-region)# ntp

Removing an Application from a Region

Removing an application from a region is the same as moving the application back to the default region (Region 0), which brings the entire network into the scope of distribution for the application.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# cfs region region-id

Enters CFS region configuration submode.

Step 3

switch(config-cfs-region)# no application

Removes application(s) that belong to the region.

Deleting CFS Regions

Deleting a region nullifies the region definition. All the applications bound by the region are released back to the default region.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# no cfs region region-id

Deletes the region.

Note:
You see the, "All the applications in the region will be moved to the default region" warning.

Enabling CFS over IPv4

You can enable or disable CFS over IPv4.

Note

CFS cannot distribute over both IPv4 and IPv6 from the same switch.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# cfs ipv4 distribute

Globally enables CFS over IPv4 for all applications on the switch.

Step 3

switch(config)# no cfs ipv4 distribute

(Optional)
Disables (default) CFS over IPv4 on the switch.

Enabling CFS over IPv6

You can enable or disable CFS over IPv6.

Note

CFS cannot distribute over both IPv4 and IPv6 from the same switch.

Procedure

Command or Action

Purpose

Step 1

switch# configure

Enters configuration mode.

Step 2

switch(config)# cfs ipv6 distribute

Globally enables CFS over IPv6 for all applications on the switch.

Step 3

switch(config)# no cfs ipv6 distribute

(Optional)
Disables (default) CFS over IPv6 on the switch.

Verifying the CFS Over IP Configuration

The following example show how to verify the CFS over IP configuration:

switch# show cfs status
Distribution : Enabled
Distribution over IP : Enabled - mode IPv4
IPv4 multicast address : 239.255.70.83
IPv6 multicast address : ff15::efff:4653

Configuring IP Multicast Addresses for CFS over IP

All CFS over IP enabled switches with similar multicast addresses form one CFS over IP network. CFS protocol-specific distributions, such as the keepalive mechanism for detecting network topology changes, use the IP multicast address to send and receive information.

Note

CFS distributions for application data use directed unicast.

- Configuring IPv4 Multicast Address for CFS

- Configuring IPv6 Multicast Address for CFS

Configuring IPv4 Multicast Address for CFS

You can configure a CFS over IP multicast address value for IPv4. The default IPv4 multicast address is 239.255.70.83.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# cfs ipv4 mcast-address ipv4-address

Configures the IPv4 multicast address for CFS distribution over IPv4. The ranges of valid IPv4 addresses are 239.255.0.0 through 239.255.255.255 and 239.192/16 through 239.251/16.

Step 3

switch(config)# no cfs ipv4 mcast-address ipv4-address

(Optional)
Reverts to the default IPv4 multicast address for CFS distribution over IPv4. The default IPv4 multicast address for CFS is 239.255.70.83.

Configuring IPv6 Multicast Address for CFS

You can configure a CFS over IP multicast address value for IPv6. The default IPv6 multicast address is ff13:7743:4653.

Procedure

Command or Action

Purpose

Step 1

switch# configure

Enters configuration mode.

Step 2

switch(config)# cfs ipv6 mcast-address ipv4-address

Configures the IPv6 multicast address for CFS distribution over IPv6. The range of valid IPv6 addresses is ff15::/16 (ff15::0000:0000 through ff15::ffff:ffff) and ff18::/16 (ff18::0000:0000 through ff18::ffff:ffff).

Step 3

switch(config)# no cfs ipv6 mcast-address ipv4-address

(Optional)
Reverts to the default IPv6 multicast address for CFS distribution over IPv6. The default IPv6 multicast address for CFS over IP is ff15::efff:4653.

Verifying the IP Multicast Address Configuration for CFS over IP

The following example shows how to verify the IP multicast address configuration for CFS over IP:

switch# show cfs status
Fabric distribution Enabled
IP distribution Enabled mode ipv4
IPv4 multicast address : 10.1.10.100
IPv6 multicast address : ff13::e244:4754

Displaying CFS Distribution Information

The show cfs merge status name command displays the merge status for a given application. The following example displays the output for an application distributing in logical scope. It shows the merge status in all valid VSANs on the switch. The command output shows the merge status as one of the following: Success, Waiting, or Failure or In Progress. In case of a successful merge, all the switches in the network are shown under the local network. In case of a merge failure or a merge in progress, the local network and the remote network involved in the merge are indicated separately. The application server in each network that is mainly responsible for the merge is indicated by the term Merge Master.

switch# show cfs merge status name port-security

Logical [VSAN 1] Merge Status: Failed

Local Fabric

----------------------------------------------------------------

Domain Switch WWN               IP Address

----------------------------------------------------------------

238    20:00:00:05:30:00:6b:9e  10.76.100.167   [Merge Master]

Remote Fabric

----------------------------------------------------------------

Domain Switch WWN               IP Address

----------------------------------------------------------------

236    20:00:00:0e:d7:00:3c:9e  10.76.100.169    [Merge Master]

Logical [VSAN 2] Merge Status: Success

Local Fabric

----------------------------------------------------------------

Domain Switch WWN               IP Address

----------------------------------------------------------------

211    20:00:00:05:30:00:6b:9e  10.76.100.167    [Merge Master]

1      20:00:00:0e:d7:00:3c:9e  10.76.100.169

Logical [VSAN 3] Merge Status: Success

Local Fabric

----------------------------------------------------------------

Domain Switch WWN               IP Address

----------------------------------------------------------------

221    20:00:00:05:30:00:6b:9e  10.76.100.167    [Merge Master]

103    20:00:00:0e:d7:00:3c:9e  10.76.100.169

The following example of the show cfs merge status name command output displays an application using the physical scope with a merge failure. The command uses the specified application name to display the merge status based on the application scope.

switch# show cfs merge status name ntp

Physical  Merge Status: Failed

Local Fabric

---------------------------------------------------------

Switch WWN               IP Address

---------------------------------------------------------

20:00:00:05:30:00:6b:9e  10.76.100.167    [Merge Master]

Remote Fabric

---------------------------------------------------------

Switch WWN               IP Address

---------------------------------------------------------

20:00:00:0e:d7:00:3c:9e  10.76.100.169    [Merge Master]

The show cfs peers command output displays all the switches in the physical network in terms of the switch WWN and the IP address. The local switch is indicated as Local.

switch# show cfs peers

Physical Fabric

-------------------------------------------------

Switch WWN               IP Address

-------------------------------------------------

20:00:00:05:30:00:6b:9e  10.76.100.167   [Local]

20:00:00:0e:d7:00:3c:9e  10.76.100.169

Total number of entries = 2

The show cfs peers name command displays all the peers for which a particular application is registered with CFS. The command output shows all the peers for the physical scope or for each of the valid VSANs on the switch, depending on the application scope. For physical scope, the switch WWNs for all the peers are indicated. The local switch is indicated as Local.

switch# show cfs peers name ntp

Scope      : Physical

-------------------------------------------------

Switch WWN               IP Address

-------------------------------------------------

20:00:00:44:22:00:4a:9e  172.22.92.27    [Local]

20:00:00:05:30:01:1b:c2  172.22.92.215

The following example show cfs peers name command output displays all the application peers (all switches in which that application is registered). The local switch is indicated as Local.

switch# show cfs peers name port-security

Scope      : Logical [VSAN 1]

-----------------------------------------------------------

Domain   Switch WWN               IP Address

-----------------------------------------------------------

124      20:00:00:44:22:00:4a:9e  172.22.92.27    [Local]

98       20:00:00:05:30:01:1b:c2  172.22.92.215

Total number of entries = 2

Scope      : Logical [VSAN 3]

-----------------------------------------------------------

Domain   Switch WWN               IP Address

-----------------------------------------------------------

224      20:00:00:44:22:00:4a:9e  172.22.92.27    [Local]

151      20:00:00:05:30:01:1b:c2  172.22.92.215

Total number of entries = 2

Default Settings for CFS

The following table lists the default settings for CFS configurations.

Default CFS Parameters

Parameters

Default

CFS distribution on the switch

Enabled

Database changes

Implicitly enabled with the first configuration change

Application distribution

Differs based on application

Commit

Explicit configuration is required

CFS over IP

Disabled

IPv4 multicast address

239.255.70.83

IPv6 multicast address

ff15::efff:4653

The CISCO-CFS-MIB contains SNMP configuration information for any CFS-related functions. See the MIB reference for your platform.

- Enabling CFS to Distribute Smart Call Home Configurations

- Enabling CFS to Distribute DPVM Configurations

- Enabling CFS to Distribute FC Domain Configurations

- Enabling CFS to Distribute FC Port Security Configurations

- Enabling CFS to Distribute FC Timer Configurations

- Enabling CFS to Distribute IVR Configurations

- Enabling CFS to Distribute NTP Configurations

- Enabling CFS to Distribute RADIUS Configurations

- Enabling CFS to Distribute RSCN Configurations

- Enabling CFS to Distribute TACACS+ Configurations

Enabling CFS to Distribute Smart Call Home Configurations

You can enable CFS to distribute Call Home configurations to all Cisco NX-OS devices in the network. The entire Call Home configuration is distributed except the device priority and the sysContact names.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# callhome

Enters Call Home configuration mode.

Step 3

switch(config-callhome)# distribute

Enables CFS to distribute Smart Call Home configuration updates.

Step 4

switch(config-callhome)# show application-name status

(Optional)
For the specified application, displays the CFS distribution status.

Step 5

switch(config-callhome)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

switch# configure terminal
switch(config)# callhome
switch(config-callhome)# distribute
switch(config-callhome)# show callhome status
Distribution : Enabled
switch(config-callhome)# copy running-config startup-config

Enabling CFS to Distribute DPVM Configurations

You can enable CFS to distribute dynamic port VSAN membership (DPVM) configurations in order to consistently administer and maintain the DPVM database across all Cisco NX-OS devices in the fabric.

Before You Begin

Make sure that you are in the storage VDC. To change to the storage VDC, use the switchto vdc fcoe command.

Make sure that you enable the DPVM feature. To do so, use the feature dpvm command.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# dpvm distribute

Enables CFS to distribute DPVM configuration updates.

Step 3

switch(config)# show application-name status

(Optional)
For the specified application, displays the CFS distribution status.

Step 4

switch(config)# copy running-config startup config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

This example shows how to enable CFS to distribute DPVM configurations:

switch(config)# dpvm distribute
switch(config)# show dpvm status
Distribution is enabled.
switch(config)# copy running-config startup-config
[########################################] 100%

Enabling CFS to Distribute FC Domain Configurations

You can enable CFS to distribute Fibre Channel (FC) domain configurations in order to synchronize the configuration across the fabric from the console of a single Cisco NX-OS device and to ensure consistency in the allowed domain ID lists on all devices in the VSAN.

Before You Begin

Make sure that you are in the storage VDC. To change to the storage VDC, use the switchto vdc fcoe command.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# fcdomain distribute

Enables CFS to distribute FC domain configuration updates.

Step 3

switch(config)# show application-name status

(Optional)
For the specified application, displays the CFS distribution status.

Step 4

switch(config)# copy running-config startup config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

This example shows how to enable CFS to distribute FC domain configurations:

switch(config)# fcdomain distribute
switch(config)# show fcdomain status
fcdomain distribution is enabled
switch(config)# copy running-config startup-config
[########################################] 100%

Enabling CFS to Distribute FC Port Security Configurations

You can enable CFS to distribute Fibre Channel (FC) port security configurations in order to provide a single point of configuration for the entire fabric in the VSAN and to enforce the port security policies throughout the fabric.

Before You Begin

Make sure that you are in the storage VDC. To change to the storage VDC, use the switchto vdc fcoe command.

Make sure that you enable the FC port security feature. To do so, use the feature fc-port-security command.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# fc-port-security distribute

Enables CFS to distribute FC port security configuration updates.

Step 3

switch(config)# show cfs application

(Optional)
Displays the CFS distribution status.

Step 4

switch(config)# copy running-config startup config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

This example shows how to enable CFS to distribute FC port security configurations:

switch(config)# fc-port-security distribute
switch(config)# show cfs application
----------------------------------------------
Application Enabled Scope
----------------------------------------------
fc-port-securi Yes Logical
switch(config)# copy running-config startup-config
[########################################] 100%

Enabling CFS to Distribute FC Timer Configurations

You can enable CFS to distribute Fibre Channel (FC) timer configurations for all Cisco NX-OS devices in the fabric.

Before You Begin

Make sure that you are in the storage VDC. To change to the storage VDC, use the switchto vdc fcoe command.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# fctimer distribute

Enables CFS to distribute FC timer configuration updates.

Step 3

switch(config)# show application-name status

(Optional)
For the specified application, displays the CFS distribution status.

Step 4

switch(config)# copy running-config startup config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

This example shows how to enable CFS to distribute FC timer configurations:

switch(config)# fctimer distribute
switch(config)# show fctimer status
Distribution : Enabled
switch(config)# copy running-config startup-config
[########################################] 100%

Enabling CFS to Distribute IVR Configurations

You can enable CFS to distribute inter-VSAN routing (IVR) configurations in order to enable efficient IVR configuration management and to provide a single point of configuration for the entire fabric in the VSAN.

Before You Begin

Make sure that you are in the storage VDC. To change to the storage VDC, use the switchto vdc fcoe command.

Make sure that you install the Advanced SAN Services license.

Make sure that you enable the IVR feature. To do so, use the feature ivr command.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# ivr distribute

Enables CFS to distribute IVR configuration updates.

Note:
You must enable IVR distribution on all IVR-enabled switches in the fabric.

Step 3

switch(config)# show cfs application

(Optional)
Displays the CFS distribution status.

Step 4

switch(config)# copy running-config startup config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

This example shows how to enable CFS to distribute IVR configurations:

switch(config)# ivr distribute
switch(config)# show cfs application
----------------------------------------------
Application Enabled Scope
----------------------------------------------
ivr Yes Physical-fc
switch(config)# copy running-config startup-config
[########################################] 100%

Enabling CFS to Distribute NTP Configurations

You can enable CFS to distribute NTP configurations to all Cisco NX-OS devices in the network.

Before You Begin

Make sure that you enable the NTP feature (using the feature ntp command).

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# ntp distribute

Enables CFS to distribute NTP configuration updates.

Step 3

switch(config)# show application-name status

(Optional)
For the specified application, displays the CFS distribution status.

Step 4

switch(config)# copy running-config startup config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

switch# configure terminal
switch(config)# ntp distribute
switch(config)# show ntp status
Distribution : Enabled
switch(config)# copy running-config startup-config

Enabling CFS to Distribute RADIUS Configurations

You can enable CFS to distribute RADIUS configurations to all Cisco NX-OS devices in the network.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# radius distribute

Enables CFS to distribute RADIUS configuration updates.

Step 3

switch(config)# show application-name status

(Optional)
For the specified application, displays the CFS distribution status.

Step 4

switch(config)# copy running-config startup config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

switch# configure terminal
switch(config)# radius distribute
switch(config)# show radius status
Distribution : Enabled
switch(config)# copy running-config startup-config

Enabling CFS to Distribute RSCN Configurations

You can enable CFS to distribute registered state change notification (RSCN) configurations to all Cisco NX-OS devices in the fabric.

Before You Begin

Make sure that you are in the storage VDC. To change to the storage VDC, use the switchto vdc fcoe command.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# rscn distribute

Enables CFS to distribute RSCN configuration updates.

Step 3

switch(config)# show cfs application

(Optional)
Displays the CFS distribution status.

Step 4

switch(config)# copy running-config startup config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

This example shows how to enable CFS to distribute RSCN configurations:

switch(config)# rscn distribute
switch(config)# show cfs application
----------------------------------------------
Application Enabled Scope
----------------------------------------------
rscn Yes Logical
switch(config)# copy running-config startup-config
[########################################] 100%

Enabling CFS to Distribute TACACS+ Configurations

You can enable CFS to distribute TACACS+ configurations to all Cisco NX-OS devices in the network.

Before You Begin

Make sure that you enable the TACACS+ feature (using the feature tacacs+ command).

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# tacacs+ distribute

Enables CFS to distribute TACACS+ configuration updates.

Step 3

switch(config)# show application-name status

(Optional)
For the specified application, displays the CFS distribution status.

Step 4

switch(config)# copy running-config startup config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

switch# configure terminal
switch(config)# tacacs+ distribute
switch(config)# show tacacs+ status
Distribution : Enabled
switch(config)# copy running-config startup-config

Chapter 6. Configuring PTP

This chapter contains the following sections:

- Information About PTP

- PTP Device Types

- PTP Process

- Clock Management

- High Availability for PTP

- Licensing Requirements for PTP

- Guidelines and Limitations for PTP

- Default Settings for PTP

Information About PTP

PTP is a time synchronization protocol for nodes distributed across a network. Its hardware timestamp feature provides greater accuracy than other time synchronization protocols such as the Network Time Protocol (NTP).

A PTP system can consist of a combination of PTP and non-PTP devices. PTP devices include ordinary clocks, boundary clocks, and transparent clocks. Non-PTP devices include ordinary network switches, routers, and other infrastructure devices.

PTP is a distributed protocol that specifies how real-time PTP clocks in the system synchronize with each other. These clocks are organized into a master-slave synchronization hierarchy with the grandmaster clock, which is the clock at the top of the hierarchy, determining the reference time for the entire system. Synchronization is achieved by exchanging PTP timing messages, with the members using the timing information to adjust their clocks to the time of their master in the hierarchy. PTP operates within a logical scope called a PTP domain.

Starting from Cisco NXOS Release 6.0(2)A8(3), PTP supports configuring multiple PTP clocking domains, PTP grandmaster capability, PTP cost on interfaces for slave and passive election, and clock identity.

All the switches in a multi-domain environment, belong to one domain. The switches that are the part of boundary clock, must have multi-domain feature enabled on them. Each domain has user configurable parameters such as domain priority, clock class threshold and clock accuracy threshold. The clocks in each domain remain synchronized with the master clock in that domain. If the GPS in a domain fails, the master clock in the domain synchronizes time and data sets associated with the announce messages from the master clock in the domain where the GPS is active. If the master clock from the highest priority domain does not meet the clock quality attributes, a clock in the subsequent domain that match the criteria is selected. The Best Master Clock Algorithm (BMCA) is used to select the master clock if none of the domains has the desired clock quality attributes. If all the domains have equal priority and the threshold values less than master clock attributes or if the threshold values are greater than the master clock attributes, BMCA is used to select the master clock.

Grandmaster capability feature controls the switch’s ability of propagating its clock to other devices that it is connected to. When the switch receives announce messages on an interface, it checks the clock class threshold and clock accuracy threshold values. If the values of these parameters are within the predefined limits, then the switch acts as per PTP standards specified in IEEE 1588v2. If the switch does not receive announce messages from external sources or if the parameters of the announce messages received are not within the predefined limits, the port state will be changed to listening mode. On a switch with no slave ports, the state of all the PTP enabled ports is rendered as listening and on a switch with one slave port, the BMCA is used to determine states on all PTP enabled ports. Convergence time prevents timing loops at the PTP level when grandmaster capability is disabled on a switch. If the slave port is not selected on the switch, all the ports on the switch will be in listening state for a minimum interval specified in the convergence time. The convergence time range is from 3 to 2600 seconds and the default value is 3 seconds.

The interface cost applies to each PTP enabled port if the switch has more than one path to grandmaster clock. The port with the least cost value is elected as slave and the rest of the ports will remain as passive ports.

The clock identity is a unique 8-octet array presented in the form of a character array based on the switch MAC address. The clock identity is determined from MAC according to the IEEE1588v2-2008 specifications. The clock ID is a combination of bytes in a VLAN MAC address as defined in IEEE1588v2.

PTP Device Types

The following clocks are common PTP devices:

Ordinary clock

Communicates with the network based on a single physical port, similar to an end host. An ordinary clock can function as a grandmaster clock.

Boundary clock

Typically has several physical ports, with each port behaving like a port of an ordinary clock. However, each port shares the local clock, and the clock data sets are common to all ports. Each port decides its individual state, either master (synchronizing other ports connected to it) or slave (synchronizing to a downstream port), based on the best clock available to it through all of the other ports on the boundary clock. Messages that are related to synchronization and establishing the master-slave hierarchy terminate in the protocol engine of a boundary clock and are not forwarded.

Transparent clock

Forwards all PTP messages like an ordinary switch or router but measures the residence time of a packet in the switch (the time that the packet takes to traverse the transparent clock) and in some cases the link delay of the ingress port for the packet. The ports have no state because the transparent clock does not need to synchronize to the grandmaster clock.

There are two kinds of transparent clocks:

End-to-end transparent clock

Measures the residence time of a PTP message and accumulates the times in the correction field of the PTP message or an associated follow-up message.

Peer-to-peer transparent clock

Measures the residence time of a PTP message and computes the link delay between each port and a similarly equipped port on another node that shares the link. For a packet, this incoming link delay is added to the residence time in the correction field of the PTP message or an associated follow-up message.

Note

PTP operates only in boundary clock mode. We recommend that you deploy a Grand Master Clock (10 MHz) upstream. The servers contain clocks that require synchronization and are connected to the switch.

End-to-end transparent clock and peer-to-peer transparent clock modes are not supported.

PTP Process

The PTP process consists of two phases: establishing the master-slave hierarchy and synchronizing the clocks.

Within a PTP domain, each port of an ordinary or boundary clock follows this process to determine its state:

- Examines the contents of all received announce messages (issued by ports in the master state)

- Compares the data sets of the foreign master (in the announce message) and the local clock for priority, clock class, accuracy, and so on

- Determines its own state as either master or slave

After the master-slave hierarchy has been established, the clocks are synchronized as follows:

- The master sends a synchronization message to the slave and notes the time it was sent.

- The slave receives the synchronization message and notes the time that it was received. For every synchronization message, there is a follow-up message. The number of sync messages should be equal to the number of follow-up messages.

- The slave sends a delay-request message to the master and notes the time it was sent.

- The master receives the delay-request message and notes the time it was received.

- The master sends a delay-response message to the slave. The number of delay request messages should be equal to the number of delay response messages.

- The slave uses these timestamps to adjust its clock to the time of its master.

Clock Management

By default, Cisco NX-OS uses NTP to update the system clock. However, if the clock protocol property is configured to PTP, PTP is allowed to update the system clock.

If PTP is enabled, NTP does not update the system time.

High Availability for PTP

Stateful restarts are supported for PTP. After a reboot or a supervisor switchover, the running configuration is applied.

Licensing Requirements for PTP

PTP requires no license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the Cisco NX-OS Licensing Guide.

Guidelines and Limitations for PTP

- PTP operates only in boundary clock mode. End-to-end transparent clock and peer-to-peer transparent clock modes are not supported.

- PTP supports transport over User Datagram Protocol (UDP). Transport over Ethernet is not supported.

- PTP supports only multicast communication. Negotiated unicast communication is not supported.

- PTP is limited to a single domain per network.

- All management messages are forwarded on ports on which PTP is enabled. Handling management messages is not supported.

- PTP is only configurable on switch ports. Configuring PTP on FEX ports is not supported.

- PTP-capable ports do not identify PTP packets and do not time-stamp or redirect those packets unless you enable PTP on those ports.

- PTP is only supported on physical Ethernet-based ports.

- In VPC environments, PTP must be individually configured on each member port.

- PTP over FabricPath is not supported.

Default Settings for PTP

The following table lists the default settings for PTP parameters.

Default PTP Parameters

Parameters

Default

PTP

Disabled

PTP version

2

PTP domain

0. PTP multi domain is disabled by default.

PTP priority 1 value when advertising the clock

255

PTP priority 2 value when advertising the clock

255

PTP announce interval

1 log second

PTP sync interval

0 log seconds

PTP announce timeout

3 announce intervals

PTP minimum delay request interval

0 log seconds

PTP VLAN

1

Configuring PTP Globally

You can enable or disable PTP globally on a device. You can also configure various PTP clock parameters to help determine which clock in the network has the highest priority to be selected as the grandmaster.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # [no] feature ptp

Enables or disables PTP on the device.

Note:
Enabling PTP on the switch does not enable PTP on each interface.

Step 3

switch(config) # [no] ptp source ip-address [vrf vrf]

Configures the source IP address for all PTP packets.

The ip-address can be in IPv4 or IPv6 format.

Step 4

switch(config) # [no] ptp domain number

(Optional)
Configures the domain number to use for this clock. PTP domains allow you to use multiple independent PTP clocking subdomains on a single network.

The range for the number is from 0 to 128.

Step 5

switch(config) # [no] ptp priority1 value

(Optional)
Configures the priority1 value to use when advertising this clock. This value overrides the default criteria (clock quality, clock class, and so on) for the best master clock selection. Lower values take precedence.

The range for the value is from 0 to 255.

Step 6

switch(config) # [no] ptp priority2 value

(Optional)
Configures the priority2 value to use when advertising this clock. This value is used to decide between two devices that are otherwise equally matched in the default criteria. For example, you can use the priority2 value to give a specific switch priority over other identical switches.

The range for the value is from 0 to 255.

Step 7

switch(config) # show ptp brief

(Optional)
Displays the PTP status.

Step 8

switch(config) # show ptp clock

(Optional)
Displays the properties of the local clock.

Step 9

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to configure PTP globally on the device, specify the source IP address for PTP communications, and configure a preference level for the clock:

switch# configure terminal
switch(config)# feature ptp
switch(config)# ptp source 10.10.10.1
switch(config)# ptp priority1 1
switch(config)# ptp priority2 1
switch(config)# show ptp brief
PTP port status
-----------------------
Port State
------- --------------
switch(config)# show ptp clock
PTP Device Type: Boundary clock
Clock Identity : 0:22:55:ff:ff:79:a4:c1
Clock Domain: 0
Number of PTP ports: 0
Priority1 : 1
Priority2 : 1
Clock Quality:
Class : 248
Accuracy : 254
Offset (log variance) : 65535
Offset From Master : 0
Mean Path Delay : 0
Steps removed : 0
Local clock time:Sun Jul 3 14:13:24 2011
switch(config)#

Configuring PTP on an Interface

After you globally enable PTP, it is not enabled on all supported interfaces by default. You must enable PTP interfaces individually.

Before You Begin

Make sure that you have globally enabled PTP on the switch and configured the source IP address for PTP communication.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # interface ethernet slot/port

Specifies the interface on which you are enabling PTP and enters interface configuration mode.

Step 3

switch(config-if) # [no] feature ptp

Enables or disables PTP on an interface.

Step 4

switch(config-if) # [no] ptp announce {interval log seconds | timeout count}

(Optional)
Configures the interval between PTP announce messages on an interface or the number of PTP intervals before a timeout occurs on an interface.

The range for the PTP announcement interval is from 0 to 4 seconds, and the range for the interval timeout is from 2 to 10.

Step 5

switch(config-if) # [no] ptp delay request minimum interval log seconds

(Optional)
Configures the minimum interval allowed between PTP delay-request messages when the port is in the master state.

The range is from log(-6) to log(1) seconds. Where, log(-2) = 2 frames per second.

Step 6

switch(config-if) # [no] ptp sync interval log seconds

(Optional)
Configures the interval between PTP synchronization messages on an interface.

The range for the ptp sync interval is from -3 seconds to 1 second.

Step 7

switch(config-if) # [no] ptp vlan vlan-id

(Optional)
Specifies the VLAN for the interface where PTP is being enabled. You can only enable PTP on one VLAN on an interface.

The range is from 1 to 4094.

Step 8

switch(config-if) # show ptp brief

(Optional)
Displays the PTP status.

Step 9

switch(config-if) # show ptp port interface interface slot/port

(Optional)
Displays the status of the PTP port.

Step 10

switch(config-if)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

This example shows how to configure PTP on an interface and configure the intervals for the announce, delay-request, and synchronization messages:

switch# configure terminal
switch(config)# interface ethernet 2/1
switch(config-if)# ptp
switch(config-if)# ptp announce interval 3
switch(config-if)# ptp announce timeout 2
switch(config-if)# ptp delay-request minimum interval 4
switch(config-if)# ptp sync interval -1
switch(config-if)# show ptp brief
PTP port status
-----------------------
Port State
------- --------------
Eth2/1 Master
switch(config-if)# show ptp port interface ethernet 1/1
PTP Port Dataset: Eth1/1
Port identity: clock identity: f4:4e:05:ff:fe:84:7e:7c
Port identity: port number: 0
PTP version: 2
Port state: Slave
VLAN info: 1
Delay request interval(log mean): 0
Announce receipt time out: 3
Peer mean path delay: 0
Announce interval(log mean): 1
Sync interval(log mean): 1
Delay Mechanism: End to End
Cost: 255
Domain: 5
switch(config-if)#

Verifying the PTP Configuration

Use one of the following commands to verify the configuration:

PTP Show Commands

Command

Purpose

show ptp brief

Displays the PTP status.

show ptp clock

Displays the properties of the local clock, including the clock identity.

show ptp clock foreign-masters-record

Displays the state of foreign masters known to the PTP process. For each foreign master, the output displays the clock identity, basic clock properties, and whether the clock is being used as a grandmaster.

show ptp corrections

Displays the last few PTP corrections.

show ptp parent

Displays the properties of the PTP parent and grandmaster clock.

show ptp port interface ethernet slot/port

Displays the status of the PTP port on the switch.

show ptp time-property

Displays the PTP clock time properties.

show ptp domain data

Displays multiple domain data, domain priority, clock threshold and information about grandmaster capabilities.

show ptp interface domain

Displays information about the interface to domain association.

show ptp cost

Displays PTP port to cost association.

Chapter 7. Configuring User Accounts and RBAC

This chapter contains the following sections:

- Information About User Accounts and RBAC

- Guidelines and Limitations for User Accounts

- Configuring User Accounts

- Verifying the User Accounts and RBAC Configuration

- Configuring User Accounts Default Settings for the User Accounts and RBAC

Information About User Accounts and RBAC

Cisco Nexus Series switches use role-based access control (RBAC) to define the amount of access that each user has when the user logs into the switch.

With RBAC, you define one or more user roles and then specify which management operations each user role is allowed to perform. When you create a user account for the switch, you associate that account with a user role, which then determines what the individual user is allowed to do on the switch.

- User Roles

- Rules

- User Role Policies

- User Account Configuration Restrictions

- User Password Requirements

User Roles

User roles contain rules that define the operations allowed for the user who is assigned the role. Each user role can contain multiple rules and each user can have multiple roles. For example, if role1 allows access only to configuration operations, and role2 allows access only to debug operations, users who belong to both role1 and role2 can access configuration and debug operations. You can also limit access to specific VSANs, VLANs, and interfaces.

The switch provides the following default user roles:

network-admin (superuser)

Complete read and write access to the entire switch.

network-operator

Complete read access to the switch. However, the network-operator role cannot run the show running-config and show startup-config commands.

Note

If you belong to multiple roles, you can execute a combination of all the commands permitted by these roles. Access to a command takes priority over being denied access to a command. For example, suppose a user has RoleA, which denied access to the configuration commands. However, the user also has RoleB, which has access to the configuration commands. In this case, the user has access to the configuration commands.

Note

Only network-admin user can perform a Checkpoint or Rollback in the RBAC roles. Though other users have these commands as a permit rule in their role, the user access is denied when you try to execute these commands.

- Predefined SAN Admin User Role

Predefined SAN Admin User Role

The SAN admin user role is a noneditable, predefined user role that is designed to provide separation between LAN and SAN administrative tasks. Users that have been assigned the SAN admin user role have read-only access to all Ethernet configuration tasks. Write access for Ethernet features is not granted to SAN admin users unless it is assigned to them through another user role.

The following capabilities are permitted to SAN admin users:

- Interface configuration

- Attribute configuration for Fibre Channel Unified Ports, except creation and deletion

- VSAN configuration, including database and membership

- Mapping of preconfigured VLANs for FCoE to VSANs

- Zoning configuration

- Configuration of SNMP-related parameters, except SNMP community and SNMP users

- Read-only access to all other configurations

- Configuration and management of SAN features such as the following:

- FC-SP

- FC-PORT-SECURITY

- FCoE

- FCoE-NPV

- FPORT-CHANNEL-TRUNK

- PORT-TRACK

- FABRIC-BINDING

- Configuration and management for the following of EXEC mode commands:

- DEBUG

- FCDOMAIN

- FCPING

- SAN-PORT-CHANNEL

- SHOW

- ZONE

- ZONESET

Note

The SAN Admin role permits configuration on all interface types, not just Fibre Channel interfaces. The predefined SAN Admin user role was designed to allow access to all interfaces—including Ethernet interfaces—so it would not interfere with SNMP operations.

Rules

The rule is the basic element of a role. A rule defines what operations the role allows the user to perform. You can apply rules for the following parameters:

Command

A command or group of commands defined in a regular expression.

Feature

Commands that apply to a function provided by the Cisco Nexus device. Enter the show role feature command to display the feature names available for this parameter.

Feature group

Default or user-defined group of features. Enter the show role feature-group command to display the default feature groups available for this parameter.

These parameters create a hierarchical relationship. The most basic control parameter is the command. The next control parameter is the feature, which represents all commands associated with the feature. The last control parameter is the feature group. The feature group combines related features and allows you to easily manage the rules.

You can configure up to 256 rules for each role. The user-specified rule number determines the order in which the rules are applied. Rules are applied in descending order. For example, if a role has three rules, rule 3 is applied before rule 2, which is applied before rule 1.

- SAN Admin Role-Feature Rule Mapping

SAN Admin Role-Feature Rule Mapping

The SAN admin role is not editable. The following role-features are part of preconfigured role. The preconfigured role comes complete read access and the following rules:

Role-Feature Rules for SAN Admin User Role

Feature

Permissions

copy

Read and write permissions for copy-related commands

fabric-binding

Read and write permissions for fabric binding-related commands

fcdomain

Read and write permissions for Fibre Channel domain-related commands

fcfe

Read and write permissions for Fibre Channel FE-related commands

fcmgmt

Read and write permissions for Fibre Channel management-related commands

fcns

Read and write permissions for Fibre Channel-related service FCNS commands

fcoe

Read and write permissions for Fibre Channel over Ethernet-related commands

fcsp

Read and write permissions for Fibre Channel Security Protocol (FCSP)-related commands

fdmi

Read and write permissions for Fabric Device Management Interface (FDMI)-related commands

fspf

Read and write permissions for Fabric Shortest Path First (FSPF)-related commands

interface

Read and write permissions for interface-related commands, which includes all interfaces, not just Fibre Channel interfaces.

port-track

Read and write permissions for port track-related commands

port-security

Read and write permissions for port security-related commands

rdl

Read and write permissions for Remote Domain Loopback (RDL)-related commands

rmon

Read and write permissions for RMON-related commands

rscn

Read and write permissions for Registered State Change Notification (RSCN)-related commands

snmp

Read and write permissions for SNMP-related commands

snmpTargetAddrEntry

Read and write permissions for SNMP trap target-related commands

snmpTargetParamsEntry

Read and write permissions for SNMP trap target parameter-related commands

span

Read and write permissions for SPAN-related commands

trapRegEntry

Read and write permissions for SNMP trap registry-related commands

trunk

Read and write permissions for Fibre Channel port channel trunk-related commands

vsan

Read and write permissions for VSAN-related commands

vsanIfvsan

Read and write permissions for FCoE VLAN-VSAN mapping command-related commands

wwnm

Read and write permissions for World Wide Name (WWN)-related commands

zone

Read and write permissions for zoning commands

User Role Policies

You can define user role policies to limit the switch resources that the user can access, or to limit access to interfaces, VLANs, and VSANs.

User role policies are constrained by the rules defined for the role. For example, if you define an interface policy to permit access to specific interfaces, the user does not have access to the interfaces unless you configure a command rule for the role to permit the interface command.

If a command rule permits access to specific resources (interfaces, VLANs, or VSANs), the user is permitted to access these resources, even if the user is not listed in the user role policies associated with that user.

User Account Configuration Restrictions

The following words are reserved and cannot be used to configure users:

- adm

- bin

- daemon

- ftp

- ftpuser

- games

- gdm

- gopher

- halt

- lp

- mail

- mailnull

- man

- mtsuser

- news

- nobody

- san-admin

- shutdown

- sync

- sys

- uucp

- xfs

Caution

User Password Requirements

Cisco Nexus device passwords are case sensitive and can contain alphanumeric characters only. Special characters, such as the dollar sign ($) or the percent sign (%), are not allowed.

Note

Starting from Cisco NX-OS Release 7.2(0)N1(1), special characters, such as the dollar sign ($) or the percent sign (%), can be used in Cisco Nexus device passwords.

If a password is trivial (such as a short, easy-to-decipher password), the Cisco Nexus device rejects the password. Be sure to configure a strong password for each user account. A strong password has the following characteristics:

- At least eight characters long

- Does not contain many consecutive characters (such as "abcd")

- Does not contain many repeating characters (such as "aaabbb")

- Does not contain dictionary words

- Does not contain proper names

- Contains both uppercase and lowercase characters

- Contains numbers

The following are examples of strong passwords:

- If2CoM18

- 2009AsdfLkj30

- Cb1955S21

Note

For security reasons, user passwords do not display in the configuration files.

Guidelines and Limitations for User Accounts

User accounts have the following guidelines and limitations when configuring user accounts and RBAC:

- Up to 256 rules can be added to a user role.

- A maximum of 64 user roles can be assigned to a user account.

- You can assign a user role to more that one user account.

- Predefined roles such as network-admin, network-operator, and san-admin are not editable.

- Add, delete, and editing of rules is not supported for the SAN admin user role.

- The interface, VLAN, and/or VSAN scope cannot be changed for the SAN admin user role.

Note

A user account must have at least one user role.

Configuring User Accounts

Note

Changes to user account attributes do not take effect until the user logs in and creates a new session.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# show role

(Optional)
Displays the user roles available. You can configure other user roles, if necessary.

Step 3

switch(config) # username user-id [password password] [expire date] [role role-name]

Configures a user account.

The user-id is a case-sensitive, alphanumeric character string with a maximum of 28 characters.

The default password is undefined.

Note:
If you do not specify a password, the user might not be able to log into the switch.

The expire date option format is YYYY-MM-DD. The default is no expiry date.

Step 4

switch(config) # exit

Exists global configuration mode.

Step 5

switch# show user-account

(Optional)
Displays the role configuration.

Step 6

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

The following example shows how to configure a user account:

switch# configure terminal
switch(config)# username NewUser password 4Ty18Rnt
switch(config)# exit
switch# show user-account

- Configuring SAN Admin Users

Configuring SAN Admin Users

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # username user-id role san-admin password password

Configures SAN admin user role access for the specified user.

Step 3

switch(config) # show user-account

(Optional)
Displays the role configuration.

Step 4

switch(config) # show snmp-user

(Optional)
Displays the SNMP user configuration.

Step 5

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to configure a SAN admin user and display the user account and SNMP user configuration:

switch# configure terminal
switch(config)# username user1 role san-admin password xyz123
switch(config)# show user-account
user:admin
this user account has no expiry date
roles:network-admin
user:user1
this user account has no expiry date
roles:san-admin
switch(config) # show snmp user
________________________________________________________________________
SNMP USERS
________________________________________________________________________

User     Auth  Priv(enforce)  Groups
____     ____  _____________  ______
admin    md5   des(no)        network-admin
user1    md5   des(no)        san-admin

________________________________________________________________________
NOTIFICATION TARGET USES (configured for sending V3 Inform)
________________________________________________________________________

User     Auth   Priv
____     ____   ____

switch(config) #

Creating User Roles and Rules

The rule number that you specify determines the order in which the rules are applied. Rules are applied in descending order. For example, if a role has three rules, rule 3 is applied before rule 2, which is applied before rule 1.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # role name role-name

Specifies a user role and enters role configuration mode.

The role-name argument is a case-sensitive, alphanumeric character string with a maximum of 16 characters.

Step 3

switch(config-role) # rule number {deny | permit} command command-string

Configures a command rule.

The command-string can contain spaces and regular expressions. For example, interface ethernet * includes all Ethernet interfaces.

Repeat this command for as many rules as needed.

Step 4

switch(config-role)# rule number {deny | permit} {read | read-write}

Configures a read-only or read-and-write rule for all operations.

Step 5

switch(config-role)# rule number {deny | permit} {read | read-write} feature feature-name

Configures a read-only or read-and-write rule for a feature.

Use the show role feature command to display a list of features.

Repeat this command for as many rules as needed.

Step 6

switch(config-role)# rule number {deny | permit} {read | read-write} feature-group group-name

Configures a read-only or read-and-write rule for a feature group.

Use the show role feature-group command to display a list of feature groups.

Repeat this command for as many rules as needed.

Step 7

switch(config-role)# description text

(Optional)
Configures the role description. You can include spaces in the description.

Step 8

switch(config-role)# end

Exits role configuration mode.

Step 9

switch# show role

(Optional)
Displays the user role configuration.

Step 10

switch# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

This example shows how to create user roles and specify rules:

switch# configure terminal
switch(config)# role name UserA
switch(config-role)# rule deny command clear users
switch(config-role)# rule deny read-write
switch(config-role)# description This role does not allow users to use clear commands
switch(config-role)# end
switch(config)# show role

Creating Feature Groups

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # role feature-group group-name

Specifies a user role feature group and enters role feature group configuration mode.

The group-name is a case-sensitive, alphanumeric character string with a maximum of 32 characters.

Step 3

switch(config) # exit

Exits global configuration mode.

Step 4

switch# show role feature-group

(Optional)
Displays the role feature group configuration.

Step 5

switch# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

This example shows how to create a feature group:

switch# configure terminal
switch(config) # role feature-group group1
switch(config) # exit
switch# show role feature-group
switch# copy running-config startup-config
switch#

Changing User Role Interface Policies

You can change a user role interface policy to limit the interfaces that the user can access. Specify a list of interfaces that the role can access. You can specify it for as many interfaces as needed.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # role name role-name

Specifies a user role and enters role configuration mode.

Step 3

switch(config-role) # interface policy deny

Enters role interface policy configuration mode.

Step 4

switch(config-role-interface) # permit interface interface-list

Specifies a list of interfaces that the role can access.

Repeat this command for as many interfaces as needed.

For this command, you can specify Ethernet interfaces, Fibre Channel interfaces, and virtual Fibre Channel interfaces.

Step 5

switch(config-role-interface) # exit

Exits role interface policy configuration mode.

Step 6

switch(config-role) # show role

(Optional)
Displays the role configuration.

Step 7

switch(config-role) # copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

The following example shows how to change a user role interface policy to limit the interfaces that the user can access:

switch# configure terminal
switch(config)# role name UserB
switch(config-role)# interface policy deny
switch(config-role-interface)# permit interface ethernet 2/1
switch(config-role-interface)# permit interface fc 3/1
switch(config-role-interface)# permit interface vfc 30/1

Changing User Role VLAN Policies

You can change a user role VLAN policy to limit the VLANs that the user can access.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # role name role-name

Specifies a user role and enters role configuration mode.

Step 3

switch(config-role )# vlan policy deny

Enters role VLAN policy configuration mode.

Step 4

switch(config-role-vlan # permit vlan vlan-list

Specifies a range of VLANs that the role can access.

Repeat this command for as many VLANs as needed.

Step 5

switch(config-role-vlan) # exit

Exits role VLAN policy configuration mode.

Step 6

switch# show role

(Optional)
Displays the role configuration.

Step 7

switch# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

Changing User Role VSAN Policies

You can change a user role VSAN policy to limit the VSANs that the user can access.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config-role) # role name role-name

Specifies a user role and enters role configuration mode.

Step 3

switch(config-role) # vsan policy deny

Enters role VSAN policy configuration mode.

Step 4

switch(config-role-vsan) # permit vsan vsan-list

Specifies a range of VSANs that the role can access.

Repeat this command for as many VSANs as needed.

Step 5

switch(config-role-vsan) # exit

Exits role VSAN policy configuration mode.

Step 6

switch# show role

(Optional)
Displays the role configuration.

Step 7

switch# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

Verifying the User Accounts and RBAC Configuration

Use one of the following commands to verify the configuration:

Command

Purpose

show role [role-name]

Displays the user role configuration

show role feature

Displays the feature list.

show role feature-group

Displays the feature group configuration.

show startup-config security

Displays the user account configuration in the startup configuration.

show running-config security [all]

Displays the user account configuration in the running configuration. The all keyword displays the default values for the user accounts.

show user-account

Displays user account information.

Configuring User Accounts Default Settings for the User Accounts and RBAC

The following table lists the default settings for user accounts and RBAC parameters.

Default User Accounts and RBAC Parameters

Parameters

Default

User account password

Undefined.

User account expiry date

None.

Interface policy

All interfaces are accessible.

VLAN policy

All VLANs are accessible.

VFC policy

All VFCs are accessible.

VETH policy

All VETHs are accessible.

Chapter 8. Configuring Session Manager

This chapter contains the following sections:

- Information About Session Manager

- Guidelines and Limitations for Session Manager

- Verifying the Session Manager Configuration

Information About Session Manager

Session Manager allows you to implement your configuration changes in batch mode. Session Manager works in the following phases:

- Configuration session—Creates a list of commands that you want to implement in session manager mode.

- Validation—Provides a basic semantic check on your configuration. Cisco NX-OS returns an error if the semantic check fails on any part of the configuration.

- Verification—Verifies the configuration as a whole, based on the existing hardware and software configuration and resources. Cisco NX-OS returns an error if the configuration does not pass this verification phase.

- Commit— Cisco NX-OS verifies the complete configuration and implements the changes atomically to the device. If a failure occurs, Cisco NX-OS reverts to the original configuration.

- Abort—Discards the configuration changes before implementation.

You can optionally end a configuration session without committing the changes. You can also save a configuration session.

Guidelines and Limitations for Session Manager

Session Manager has the following configuration guidelines and limitations:

- Session Manager supports only the access control list (ACL) feature.

- You can create up to 32 configuration sessions.

- You can configure a maximum of 20,000 commands across all sessions.

Creating a Session

You can create up to 32 configuration sessions.

Procedure

Command or Action

Purpose

Step 1

switch# configure session name

Creates a configuration session and enters session configuration mode. The name can be any alphanumeric string.

Displays the contents of the session.

Step 2

switch(config-s)# show configuration session [name]

(Optional)
Displays the contents of the session.

Step 3

switch(config-s)# save location

(Optional)
Saves the session to a file. The location can be in bootflash or volatile.

Configuring ACLs in a Session

You can configure ACLs within a configuration session.

Procedure

Command or Action

Purpose

Step 1

switch# configure session name

Creates a configuration session and enters session configuration mode. The name can be any alphanumeric string.

Step 2

switch(config-s)# ip access-list name

Creates an ACL.

Step 3

switch(config-s-acl)# permit protocol source destination

(Optional)
Adds a permit statement to the ACL.

Step 4

switch(config-s-acl)# interface interface-type number

Enters interface configuration mode.

Step 5

switch(config-s-if)# ip port access-group name in

Adds a port access group to the interface.

Step 6

switch# show configuration session [name]

(Optional)
Displays the contents of the session.

Verifying a Session

To verify a session, use the following command in session mode:

Command

Purpose

switch(config-s)# verify [verbose]

Verifies the commands in the configuration session.

Committing a Session

To commit a session, use the following command in session mode:

Command

Purpose

switch(config-s)# commit [verbose]

Commits the commands in the configuration session.

Saving a Session

To save a session, use the following command in session mode:

Command

Purpose

switch(config-s)# save location

(Optional) Saves the session to a file. The location can be in bootflash or volatile.

Discarding a Session

To discard a session, use the following command in session mode:

Command

Purpose

switch(config-s)# abort

Discards the configuration session without applying the commands.

Configuration Example for Session Manager

The following example shows how to create a configuration session for ACLs:

switch# configure session name test2

switch(config-s)# ip access-list acl2

switch(config-s-acl)# permit tcp any any

switch(config-s-acl)# exit

switch(config-s)# interface Ethernet 1/4

switch(config-s-ip)# ip port access-group acl2 in

switch(config-s-ip)# exit

switch(config-s)# verify

switch(config-s)# exit

switch# show configuration session test2

Verifying the Session Manager Configuration

To verify Session Manager configuration information, perform one of the following tasks:

Command

Purpose

show configuration session [name]

Displays the contents of the configuration session.

show configuration session status [name]

Displays the status of the configuration session.

show configuration session summary

Displays a summary of all the configuration sessions.

Chapter 9. Configuring Online Diagnostics

This chapter contains the following sections:

- Information About Online Diagnostics

- Configuring Online Diagnostics

- Verifying the Online Diagnostics Configuration

- Default Settings for Online Diagnostics

Information About Online Diagnostics

Online diagnostics provide verification of hardware components during switch bootup or reset, and they monitor the health of the hardware during normal switch operation.

Cisco Nexus Series switches support bootup diagnostics and runtime diagnostics. Bootup diagnostics include disruptive tests and nondisruptive tests that run during system bootup and system reset.

Runtime diagnostics (also known as health monitoring diagnostics) include nondisruptive tests that run in the background during normal operation of the switch.

- Bootup Diagnostics

- Health Monitoring Diagnostics

- Expansion Module Diagnostics

Bootup Diagnostics

Bootup diagnostics detect faulty hardware before bringing the switch online. Bootup diagnostics also check the data path and control path connectivity between the supervisor and the ASICs. The following table describes the diagnostics that are run only during switch bootup or reset.

Bootup Diagnostics

Diagnostic

Description

PCIe

Tests PCI express (PCIe) access.

NVRAM

Verifies the integrity of the NVRAM.

In band port

Tests connectivity of the inband port to the supervisor.

Management port

Tests the management port.

Memory

Verifies the integrity of the DRAM.

Bootup diagnostics also include a set of tests that are common with health monitoring diagnostics.

Bootup diagnostics log any failures to the onboard failure logging (OBFL) system. Failures also trigger an LED display to indicate diagnostic test states (on, off, pass, or fail).

You can configure Cisco Nexus device to either bypass the bootup diagnostics or run the complete set of bootup diagnostics.

Health Monitoring Diagnostics

Health monitoring diagnostics provide information about the health of the switch. They detect runtime hardware errors, memory errors, software faults, and resource exhaustion.

Health monitoring diagnostics are nondisruptive and run in the background to ensure the health of a switch that is processing live network traffic.

The following table describes the health monitoring diagnostics for the switch.

Health Monitoring Diagnostics Tests

Diagnostic

Description

LED

Monitors port and system status LEDs.

Power Supply

Monitors the power supply health state.

Temperature Sensor

Monitors temperature sensor readings.

Test Fan

Monitors the fan speed and fan control.

The following table describes the health monitoring diagnostics that also run during system boot or system reset.

Health Monitoring and Bootup Diagnostics Tests

Diagnostic

Description

SPROM

Verifies the integrity of backplane and supervisor SPROMs.

Fabric engine

Tests the switch fabric ASICs.

Fabric port

Tests the ports on the switch fabric ASIC.

Forwarding engine

Tests the forwarding engine ASICs.

Forwarding engine port

Tests the ports on the forwarding engine ASICs.

Front port

Tests the components (such as PHY and MAC) on the front ports.

Expansion Module Diagnostics

During the switch bootup or reset, the bootup diagnostics include tests for the in-service expansion modules in the switch.

When you insert an expansion module into a running switch, a set of diagnostics tests are run. The following table describes the bootup diagnostics for an expansion module. These tests are common with the bootup diagnostics. If the bootup diagnostics fail, the expansion module is not placed into service.

Expansion Module Bootup and Health Monitoring Diagnostics

Diagnostic

Description

SPROM

Verifies the integrity of backplane and supervisor SPROMs.

Fabric engine

Tests the switch fabric ASICs.

Fabric port

Tests the ports on the switch fabric ASIC.

Forwarding engine

Tests the forwarding engine ASICs.

Forwarding engine port

Tests the ports on the forwarding engine ASICs.

Front port

Tests the components (such as PHY and MAC) on the front ports.

Health monitoring diagnostics are run on in-service expansion modules. The following table describes the additional tests that are specific to health monitoring diagnostics for expansion modules.

Expansion Module Health Monitoring Diagnostics

Diagnostic

Description

LED

Monitors port and system status LEDs.

Temperature Sensor

Monitors temperature sensor readings.

Configuring Online Diagnostics

You can configure the bootup diagnostics to run the complete set of tests, or you can bypass all bootup diagnostic tests for a faster module boot up time.

Note

We recommend that you set the bootup online diagnostics level to complete. We do not recommend bypassing the bootup online diagnostics.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# diagnostic bootup level [complete | bypass]

Configures the bootup diagnostic level to trigger diagnostics when the device boots, as follows:

- complete—Performs all bootup diagnostics. This is the default value.

- bypass—Does not perform any bootup diagnostics.

Step 3

switch# show diagnostic bootup level

(Optional)
Displays the bootup diagnostic level (bypass or complete) that is currently in place on the switch.

The following example shows how to configure the bootup diagnostics level to trigger the complete diagnostics:

switch# configure terminal

switch(config)# diagnostic bootup level complete

Verifying the Online Diagnostics Configuration

Use the following commands to verify online diagnostics configuration information:

Command

Purpose

show diagnostic bootup level

Displays the bootup diagnostics level.

show diagnostic result module slot

Displays the results of the diagnostics tests.

Default Settings for Online Diagnostics

The following table lists the default settings for online diagnostics parameters.

Default Online Diagnostics Parameters

Parameters

Default

Bootup diagnostics level

complete

Chapter 10. Configuring System Message Logging

This chapter contains the following sections:

- Information About System Message Logging

- Licensing Requirements for System Message Logging

- Guidelines and Limitations for System Message Logging

- Default Settings for System Message Logging

- Verifying the System Message Logging Configuration

Information About System Message Logging

You can use system message logging to control the destination and to filter the severity level of messages that system processes generate. You can configure logging to terminal sessions, a log file, and syslog servers on remote systems.

System message logging is based on RFC 3164. For more information about the system message format and the messages that the device generates, see the Cisco NX-OS System Messages Reference.

By default, the Cisco Nexus device outputs messages to terminal sessions.

By default, the switch logs system messages to a log file.

The following table describes the severity levels used in system messages. When you configure the severity level, the system outputs messages at that level and lower.

System Message Severity Levels

Level

Description

0 – emergency

System unusable

1 – alert

Immediate action needed

2 – critical

Critical condition

3 – error

Error condition

4 – warning

Warning condition

5 – notification

Normal but significant condition

6 – informational

Informational message only

7 – debugging

Appears during debugging only

The switch logs the most recent 100 messages of severity 0, 1, or 2 to the NVRAM log. You cannot configure logging to the NVRAM.

You can configure which system messages should be logged based on the facility that generated the message and its severity level.

- Syslog Servers

Syslog Servers

Syslog servers run on remote systems that are configured to log system messages based on the syslog protocol. You can configure the Cisco Nexus Series switch to sends logs to up to eight syslog servers.

To support the same configuration of syslog servers on all switches in a fabric, you can use Cisco Fabric Services (CFS) to distribute the syslog server configuration.

Note

When the switch first initializes, messages are sent to syslog servers only after the network is initialized.

Licensing Requirements for System Message Logging

Product

License Requirement

Cisco NX-OS

System message logging requires no license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the Cisco NX-OS Licensing Guide.

Guidelines and Limitations for System Message Logging

System messages are logged to the console and the logfile by default.

Default Settings for System Message Logging

The following table lists the default settings for system message logging parameters.

Default System Message Logging Parameters

Parameters

Default

Console logging

Enabled at severity level 2

Monitor logging

Enabled at severity level 2

Log file logging

Enabled to log messages at severity level 5

Module logging

Enabled at severity level 5

Facility logging

Enabled

Time-stamp units

Seconds

Syslog server logging

Disabled

Syslog server configuration distribution

Disabled

Configuring System Message Logging to Terminal Sessions

You can configure the switch to log messages by their severity level to console, Telnet, and Secure Shell sessions.

By default, logging is enabled for terminal sessions.

Procedure

Command or Action

Purpose

Step 1

switch# terminal monitor

Copies syslog messages from the console to the current terminal session.

Step 2

switch# configure terminal

Enters global configuration mode.

Step 3

switch(config)# logging console [severity-level]

Enables the switch to log messages to the console session based on a specified severity level or higher (a lower number value indicates a higher severity level). Severity levels range from 0 to 7:

- 0 – emergency

- 1 – alert

- 2 – critical

- 3 – error

- 4 – warning

- 5 – notification

- 6 – informational

- 7 – debugging

If the severity level is not specified, the default of 2 is used.

Step 4

switch(config)# no logging console [severity-level]

(Optional)
Disables logging messages to the console.

Step 5

switch(config)# logging monitor [severity-level]

Enables the switch to log messages to the monitor based on a specified severity level or higher (a lower number value indicates a higher severity level). Severity levels range from 0 to 7:

- 0 – emergency

- 1 – alert

- 2 – critical

- 3 – error

- 4 – warning

- 5 – notification

- 6 – informational

- 7 – debugging

If the severity level is not specified, the default of 2 is used.

The configuration applies to Telnet and SSH sessions.

Step 6

switch(config)# no logging monitor [severity-level]

(Optional)
Disables logging messages to Telnet and SSH sessions.

Step 7

switch# show logging console

(Optional)
Displays the console logging configuration.

Step 8

switch# show logging monitor

(Optional)
Displays the monitor logging configuration.

Step 9

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

The following example shows how to configure a logging level of 3 for the console:

switch# configure terminal

switch(config)# logging console 3

The following example shows how to display the console logging configuration:

switch# show logging console

Logging console:                enabled (Severity: error)

The following example shows how to disable logging for the console:

switch# configure terminal

switch(config)# no logging console

The following example shows how to configure a logging level of 4 for the terminal session:

switch# terminal monitor

switch# configure terminal

switch(config)# logging monitor 4

The following example shows how to display the terminal session logging configuration:

switch# show logging monitor

Logging monitor:                enabled (Severity: warning)

The following example shows how to disable logging for the terminal session:

switch# configure terminal

switch(config)# no logging monitor

Configuring System Message Logging to a File

You can configure the switch to log system messages to a file. By default, system messages are logged to the file log:messages.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# logging logfile logfile-name severity-level [size bytes]

Configures the name of the log file used to store system messages and the minimum severity level to log. You can optionally specify a maximum file size. The default severity level is 5 and the file size is 4194304.

Severity levels range from 0 to 7:

- 0 – emergency

- 1 – alert

- 2 – critical

- 3 – error

- 4 – warning

- 5 – notification

- 6 – informational

- 7 – debugging

The file size is from 4096 to 10485760 bytes.

Step 3

switch(config)# no logging logfile [logfile-name severity-level [size bytes]]

(Optional)
Disables logging to the log file. You can optionally specify a maximum file size. The default severity level is 5 and the file size is 4194304.

Step 4

switch# show logging info

(Optional)
Displays the logging configuration. You can optionally specify a maximum file size. The default severity level is 5 and the file size is 4194304.

Step 5

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

The following example shows how to configure a switch to log system messages to a file:

switch# configure terminal
switch(config)# logging logfile my_log 6 size 4194304

The following example shows how to display the logging configuration (some of the output has been removed for brevity):

switch# show logging info
Logging console:                enabled (Severity: debugging)
Logging monitor:                enabled (Severity: debugging)
Logging linecard:               enabled (Severity: notifications)
Logging fex:                    enabled (Severity: notifications)
Logging timestamp:              Seconds
Logging server:                 disabled
Logging logfile:                enabled
Name - my_log: Severity - informational Size - 4194304
Facility        Default Severity        Current Session Severity
--------        ----------------        ------------------------
aaa                     3                       3
aclmgr                  3                       3
afm                     3                       3
altos                   3                       3
auth                    0                       0
authpriv                3                       3
bootvar                 5                       5
callhome                2                       2
capability              2                       2
cdp                     2                       2
cert_enroll             2                       2
...

Configuring Module and Facility Messages Logging

You can configure the severity level and time-stamp units of messages logged by modules and facilities.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# logging module [severity-level]

Enables module log messages that have the specified severity level or higher. Severity levels range from 0 to 7:

- 0 – emergency

- 1 – alert

- 2 – critical

- 3 – error

- 4 – warning

- 5 – notification

- 6 – informational

- 7 – debugging

If the severity level is not specified, the default of 5 is used.

Step 3

switch(config)# logging level facility severity-level

Enables logging messages from the specified facility that have the specified severity level or higher. Severity levels from 0 to 7:

- 0 – emergency

- 1 – alert

- 2 – critical

- 3 – error

- 4 – warning

- 5 – notification

- 6 – informational

- 7 – debugging

To apply the same severity level to all facilities, use the all facility. For defaults, see the show logging level command.

Note:
If the default severity and current session severity of a component is the same, then the logging level for the component will not be displayed in the running configuration.

Step 4

switch(config)# no logging module [severity-level]

(Optional)
Disables module log messages.

Step 5

switch(config)# no logging level [facility severity-level]

(Optional)
Resets the logging severity level for the specified facility to its default level. If you do not specify a facility and severity level, the switch resets all facilities to their default levels.

Step 6

switch# show logging module

(Optional)
Displays the module logging configuration.

Step 7

switch# show logging level [facility]

(Optional)
Displays the logging level configuration and the system default level by facility. If you do not specify a facility, the switch displays levels for all facilities.

Step 8

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

The following example shows how to configure the severity level of module and specific facility messages:

switch# configure terminal

switch(config)# logging module 3

switch(config)# logging level aaa 2

Configuring Logging Timestamps

You can configure the time-stamp units of messages logged by the Cisco Nexus Series switch.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# logging timestamp {microseconds | milliseconds | seconds}

Sets the logging time-stamp units. By default, the units are seconds.

Step 3

switch(config)# no logging timestamp {microseconds | milliseconds | seconds}

(Optional)
Resets the logging time-stamp units to the default of seconds.

Step 4

switch# show logging timestamp

(Optional)
Displays the logging time-stamp units configured.

Step 5

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

The following example shows how to configure the time-stamp units of messages:

switch# configure terminal
switch(config)# logging timestamp milliseconds
switch(config)# exit
switch# show logging timestamp
Logging timestamp:              Milliseconds

Configuring the ACL Logging Cache

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# logging ip access-list cache entries num_entries

Sets the maximum number of log entries cached in software. The range is from 0 to 1000000 entries. The default value is 8000 entries.

Step 3

switch(config)# logging ip access-list cache interval seconds

Sets the number of seconds between log updates. Also if an entry is inactive for this duration, it is removed from the cache. The range is from 5 to 86400 seconds. The default value is 300 seconds.

Step 4

switch(config)# logging ip access-list cache threshold num_packets

Sets the number of packet matches before an entry is logged. The range is from 0 to 1000000 packets. The default value is 0 packets, which means that logging is not triggered by the number of packet matches.

Step 5

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example show how to set the maximum number of log entries to 5000, the interval to 120 seconds, and the threshold to 500000:

switch# configure terminal
switch(config)# logging ip access-list cache entries 5000
switch(config)# logging ip access-list cache interval 120
switch(config)# logging ip access-list cache threshold 500000
switch(config)# copy running-config startup-config

Applying ACL Logging to an Interface

Before You Begin

- Create an IP access list with at least one access control entry (ACE) configured for logging.

- Configure the ACL logging cache.

- Configure the ACL log match level.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# interface mgmt0

Specifies the mgmt0 interface.

Step 3

switch(config-if)# ip access-group name in

Enables ACL logging on ingress traffic for the specified interface.

Step 4

switch(config-if)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to apply the mgmt0 interface with the logging specified in acl1 for all ingress traffic:

switch# configure terminal
switch(config)# interface mgmt0
switch(config-if)# ip access-group acl1 in
switch(config-if)# copy running-config startup-config

Configuring the ACL Log Match Level

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# acllog match-log-level number

Specifies the logging level to match for entries to be logged in the ACL log (acllog). The number is a value from 0 to 7. The default is 6.
Note:
For log messages to be entered in the logs, the logging level for the ACL log facility (acllog) and the logging severity level for the logfile must be greater than or equal to the ACL log match log level setting. For more information, see Configuring Module and Facility Messages Logging and Configuring System Message Logging to a File.

Step 3

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

Configuring Syslog Servers

You can configure up to eight syslog servers that reference remote systems where you want to log system messages.

Procedure

Command or Action

Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

logging server host [severity-level [use-vrf vrf-name [facility facility]]]

Example:

switch(config)# logging server 172.28.254.254 5
use-vrf default facility local3

Configures a host to receive syslog messages.

- The host argument identifies the hostname or the IPv4 or IPv6 address of the syslog server host.

- The severity-level argument limits the logging of messages to the syslog server to a specified level. Severity levels range from 0 to 7. See Table 1.

- The use vrf vrf-name keyword and argument identify the default or management values for the virtual routing and forwarding (VRF) name. If a specific VRF is not identified, management is the default. However, if management is configured, it will not be listed in the output of the show-running command because it is the default. If a specific VRF is configured, the show-running command output will list the VRF for each server.

Note:
The current Cisco Fabric Services (CFS) distribution does not support VRF. If CFS distribution is enabled, the logging server configured with the default VRF is distributed as the management VRF.

- The facility argument names the syslog facility type. The default outgoing facility is local7.

The facilities are listed in the command reference for the Cisco Nexus Series software that you are using.

Note:
Debugging is a CLI facility but the debug syslogs are not sent to the server.

Step 3

no logging server host

Example:

switch(config)# no logging server 172.28.254.254 5

(Optional)
Removes the logging server for the specified host.

Step 4

show logging server

Example:

switch# show logging server

(Optional)
Displays the syslog server configuration.

Step 5

copy running-config startup-config

Example:

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following examples show how to configure a syslog server:

switch# configure terminal
switch(config)# logging server 172.28.254.254 5
use-vrf default facility local3

switch# configure terminal
switch(config)# logging server 172.28.254.254 5 use-vrf management facility local3

- Configuring syslog on a UNIX or Linux System

Configuring syslog on a UNIX or Linux System

You can configure a syslog server on a UNIX or Linux system by adding the following line to the /etc/syslog.conf file:

facility.level <five tab characters> action

The following table describes the syslog fields that you can configure.

syslog Fields in syslog.conf

Field

Description

Facility

Creator of the message, which can be auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, syslog, user, local0 through local7, or an asterisk (*) for all. These facility designators allow you to control the destination of messages based on their origin.

Note:
Check your configuration before using a local facility.

Level

Minimum severity level at which messages are logged, which can be debug, info, notice, warning, err, crit, alert, emerg, or an asterisk (*) for all. You can use none to disable a facility.

Action

Destination for messages, which can be a filename, a hostname preceded by the at sign (@), or a comma-separated list of users or an asterisk (*) for all logged-in users.

Procedure

Step 1

Log debug messages with the local7 facility in the file /var/log/myfile.log by adding the following line to the /etc/syslog.conf file:

debug.local7             /var/log/myfile.log

Step 2

Create the log file by entering these commands at the shell prompt:

$ touch /var/log/myfile.log

$ chmod 666 /var/log/myfile.log

Step 3

Make sure that the system message logging daemon reads the new changes by checking myfile.log after entering this command:

$ kill -HUP ~cat /etc/syslog.pid~

Configuring syslog Server Configuration Distribution

You can distribute the syslog server configuration to other switches in the network by using the Cisco Fabric Services (CFS) infrastructure.

After you enable syslog server configuration distribution, you can modify the syslog server configuration and view the pending changes before committing the configuration for distribution. As long as distribution is enabled, the switch maintains pending changes to the syslog server configuration.

Note

If the switch is restarted, the syslog server configuration changes that are kept in volatile memory might get lost.

Before You Begin

You must have configured one or more syslog servers.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# logging distribute

Enables distribution of the syslog server configuration to network switches using the CFS infrastructure. By default, distribution is disabled.

Step 3

switch(config)# logging commit

Commits the pending changes to the syslog server configuration for distribution to the switches in the fabric.

Step 4

switch(config)# logging abort

Cancels the pending changes to the syslog server configuration.

Step 5

switch(config)# no logging distribute

(Optional)
Disables the distribution of the syslog server configuration to network switches using the CFS infrastructure. You cannot disable distribution when configuration changes are pending. See the logging commit and logging abort commands. By default, distribution is disabled.

Step 6

switch# show logging pending

(Optional)
Displays the pending changes to the syslog server configuration.

Step 7

switch# show logging pending-diff

(Optional)
Displays the differences from the current syslog server configuration to the pending changes of the syslog server configuration.

Step 8

switch# show logging internal info

(Optional)
Displays information about the current state of the syslog server distribution and the last action taken.

Step 9

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

Displaying and Clearing Log Files

You can display or clear messages in the log file and the NVRAM.

Procedure

Command or Action

Purpose

Step 1

switch# show logging last number-lines

Displays the last number of lines in the logging file. You can specify from 1 to 9999 for the last number of lines.

Step 2

switch# show logging logfile [start-time yyyy mmm dd hh:mm:ss] [end-time yyyy mmm dd hh:mm:ss]

Displays the messages in the log file that have a time stamp within the span entered. If you do not enter an end time, the current time is used. You enter three characters for the month time field and digits for the year and day time fields.

Step 3

switch# show logging nvram [last number-lines]

Displays the messages in the NVRAM. To limit the number of lines displayed, you can enter the last number of lines to display. You can specify from 1 to 100 for the last number of lines.

Step 4

switch# clear logging logfile

Clears the contents of the log file.

Step 5

switch# clear logging nvram

Clears the logged messages in NVRAM.

The following example shows how to display messages in a log file:

switch# show logging last 40

switch# show logging logfile start-time 2007 nov 1 15:10:0

switch# show logging nvram last 10

The following example shows how to clear messages in a log file:

switch# clear logging logfile

switch# clear logging nvram

Enabling DOM Logging

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# system ethernet dom polling

Enables transceiver digital optical monitoring periodic polling.

The following example shows how to enable DOM logging.

switch# configure terminal
switch(config)# system ethernet dom polling

Disabling DOM Logging

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# no system ethernet dom polling

Disables transceiver digital optical monitoring periodic polling.

The following example shows how to disable DOM logging.

switch# configure terminal
switch(config)# no system ethernet dom polling

Verifying the DOM Logging Configuration

Command

Purpose

show system ethernet dom polling status

Displays the transceiver digital optical monitoring periodic polling status.

Verifying the System Message Logging Configuration

Use these commands to verify system message logging configuration information:

Command

Purpose

show logging console

Displays the console logging configuration.

show logging info

Displays the logging configuration.

show logging internal info

Displays the syslog distribution information.

show logging ip access-list cache

Displays the IP access list cache.

show logging ip access-list cache detail

Displays detailed information about the IP access list cache.

show logging ip access-list status

Displays the status of the IP access list cache.

show logging last number-lines

Displays the last number of lines of the log file.

show logging level [facility]

Displays the facility logging severity level configuration.

show logging logfile [start-time yyyy mmm dd hh:mm:ss] [end-time yyyy mmm dd hh:mm:ss]

Displays the messages in the log file.

show logging module

Displays the module logging configuration.

show logging monitor

Displays the monitor logging configuration.

show logging nvram [last number-lines]

Displays the messages in the NVRAM log.

show logging pending

Displays the syslog server pending distribution configuration.

show logging pending-diff

Displays the syslog server pending distribution configuration differences.

show logging server

Displays the syslog server configuration.

show logging session

Displays the logging session status.

show logging status

Displays the logging status.

show logging timestamp

Displays the logging time-stamp units configuration.

show running-config acllog

Displays the running configuration for the ACL log file.

Chapter 11. Configuring Smart Call Home

This chapter contains the following sections:

- Information About Smart Call Home

- Guidelines and Limitations for Smart Call Home

- Prerequisites for Smart Call Home

- Default Call Home Settings

- Verifying the Smart Call Home Configuration

- Sample Syslog Alert Notification in Full-Text Format

- Sample Syslog Alert Notification in XML Format

Information About Smart Call Home

Smart Call Home provides e-mail-based notification of critical system events. Cisco Nexus Series switches provide a range of message formats for optimal compatibility with pager services, standard e-mail, or XML-based automated parsing applications. You can use this feature to page a network support engineer, e-mail a Network Operations Center, or use Cisco Smart Call Home services to automatically generate a case with the Technical Assistance Center (TAC).

If you have a service contract directly with Cisco, you can register your devices for the Smart Call Home service. Smart Call Home provides fast resolution of system problems by analyzing Smart Call Home messages sent from your devices and providing background information and recommendations. For issues that can be identified as known, particularly GOLD diagnostics failures, Automatic Service Requests will be generated by the Cisco TAC.

Smart Call Home offers the following features:

- Continuous device health monitoring and real-time diagnostic alerts.

- Analysis of Smart Call Home messages from your device and, where appropriate, Automatic Service Request generation, routed to the appropriate TAC team, including detailed diagnostic information to speed problem resolution.

- Secure message transport directly from your device or through a downloadable Transport Gateway (TG) aggregation point. You can use a TG aggregation point in cases that require support for multiple devices or in cases where security requirements mandate that your devices may not be connected directly to the Internet.

- Web-based access to Smart Call Home messages and recommendations, inventory and configuration information for all Smart Call Home devices, and field notices, security advisories, and end-of-life information.

- Smart Call Home Overview

- Smart Call Home Destination Profiles

- Smart Call Home Alert Groups

- Smart Call Home Message Levels

- Call Home Message Formats

Smart Call Home Overview

You can use Smart Call Home to notify an external entity when an important event occurs on your device. Smart Call Home delivers alerts to multiple recipients that you configure in destination profiles.

Smart Call Home includes a fixed set of predefined alerts on your switch. These alerts are grouped into alert groups and CLI commands that are assigned to execute when an alert in an alert group occurs. The switch includes the command output in the transmitted Smart Call Home message.

The Smart Call Home feature offers the following:

- Automatic execution and attachment of relevant CLI command output.

- Multiple message format options such as the following:

- Short Text—Text that is suitable for pagers or printed reports.

- Full Text—Fully formatted message information that is suitable for human reading.

- XML—Matching readable format that uses the Extensible Markup Language (XML) and the Adaptive Messaging Language (AML) XML schema definition (XSD). The XML format enables communication with the Cisco TAC.

- Multiple concurrent message destinations. You can configure up to 50 e-mail destination addresses for each destination profile.

Smart Call Home Destination Profiles

A Smart Call Home destination profile includes the following information:

- One or more alert groups—The group of alerts that trigger a specific Smart Call Home message if the alert occurs.

- One or more e-mail destinations—The list of recipients for the Smart Call Home messages that are generated by alert groups assigned to this destination profile.

- Message format—The format for the Smart Call Home message (short text, full text, or XML).

- Message severity level—The Smart Call Home severity level that the alert must meet before the switch generates a Smart Call Home message to all e-mail addresses in the destination profile. The switch does not generate an alert if the Smart Call Home severity level of the alert is lower than the message severity level set for the destination profile.

You can also configure a destination profile to allow periodic inventory update messages by using the inventory alert group that will send out periodic messages daily, weekly, or monthly.

Cisco Nexus switches support the following predefined destination profiles:

- CiscoTAC-1—Supports the Cisco-TAC alert group in XML message format.

- full-text-destination—Supports the full text message format.

- short-text-destination—Supports the short text message format.

Smart Call Home Alert Groups

An alert group is a predefined subset of Smart Call Home alerts that are supported in all Cisco Nexus devices. Alert groups allow you to select the set of Smart Call Home alerts that you want to send to a predefined or custom destination profile. The switch sends Smart Call Home alerts to e-mail destinations in a destination profile only if that Smart Call Home alert belongs to one of the alert groups associated with that destination profile and if the alert has a Smart Call Home message severity at or above the message severity set in the destination profile.

The following table lists the supported alert groups and the default CLI command output included in Smart Call Home messages generated for the alert group.

Alert Groups and Executed Commands

Alert Group

Description

Executed Commands

Cisco-TAC

All critical alerts from the other alert groups destined for Smart Call Home.

Execute commands based on the alert group that originates the alert.

Diagnostic

Events generated by diagnostics.

show diagnostic result module all detail

show moduleshow version

show tech-support platform callhome

Supervisor hardware

Events related to supervisor modules.

show diagnostic result module all detail

show moduleshow version

show tech-support platform callhome

Linecard hardware

Events related to standard or intelligent switching modules.

show diagnostic result module all detail

show moduleshow version

show tech-support platform callhome

Configuration

Periodic events related to configuration.

show version

show module

show running-config all

show startup-config

System

Events generated by a failure of a software system that is critical to unit operation.

show system redundancy status

show tech-support

Environmental

Events related to power, fan, and environment-sensing elements such as temperature alarms.

show environment

show logging last 1000

show module show version

show tech-support platform callhome

Inventory

Inventory status that is provided whenever a unit is cold booted, or when FRUs are inserted or removed. This alert is considered a noncritical event, and the information is used for status and entitlement.

show module

show version

show license usage

show inventory

show sprom all

show system uptime

Smart Call Home maps the syslog severity level to the corresponding Smart Call Home severity level for syslog port group messages.

You can customize predefined alert groups to execute additional show commands when specific events occur and send that show output with the Smart Call Home message.

You can add show commands only to full text and XML destination profiles. Short text destination profiles do not support additional show commands because they only allow 128 bytes of text.

Smart Call Home Message Levels

Smart Call Home allows you to filter messages based on their level of urgency. You can associate each destination profile (predefined and user defined) with a Smart Call Home message level threshold. The switch does not generate any Smart Call Home messages with a value lower than this threshold for the destination profile. The Smart Call Home message level ranges from 0 (lowest level of urgency) to 9 (highest level of urgency), and the default is 0 (the switch sends all messages).

Smart Call Home messages that are sent for syslog alert groups have the syslog severity level mapped to the Smart Call Home message level.

Note

Smart Call Home does not change the syslog message level in the message text.

The following table shows each Smart Call Home message level keyword and the corresponding syslog level for the syslog port alert group.

Severity and Syslog Level Mapping

Smart Call Home Level

Keyword

Syslog Level

Description

9

Catastrophic

N/A

Network-wide catastrophic failure.

8

Disaster

N/A

Significant network impact.

7

Fatal

Emergency (0)

System is unusable.

6

Critical

Alert (1)

Critical conditions that indicate that immediate attention is needed.

5

Major

Critical (2)

Major conditions.

4

Minor

Error (3)

Minor conditions.

3

Warning

Warning (4)

Warning conditions.

2

Notification

Notice (5)

Basic notification and informational messages.

1

Normal

Information (6)

Normal event signifying return to normal state.

0

Debugging

Debug (7)

Debugging messages.

Call Home Message Formats

Call Home supports the following message formats:

- Short text message format

- Common fields for all full text and XML messages

- Inserted fields for a reactive or proactive event message

- Inserted fields for an inventory event message

- Inserted fields for a user-generated test message

The following table describes the short text formatting option for all message types.

Short Text Message Format

Data Item

Description

Device identification

Configured device name

Date/time stamp

Time stamp of the triggering event

Error isolation message

Plain English description of triggering event

Alarm urgency level

Error level such as that applied to a system message

The following table describes the common event message format for full text or XML.

Common Fields for All Full Text and XML Messages

Data Item (Plain Text and XML)

Description (Plain Text and XML)

XML Tag (XML Only)

Time stamp

Date and time stamp of event in ISO time notation:

YYYY-MM-DD HH:MM:SS GMT+HH:MM

/aml/header/time

Message name

Name of message. Specific event names are listed in the preceding table.

/aml/header/name

Message type

Name of message type, such as reactive or proactive.

/aml/header/type

Message group

Name of alert group, such as syslog.

/aml/header/group

Severity level

Severity level of message.

/aml/header/level

Source ID

Product type for routing.

/aml/header/source

Device ID

Unique device identifier (UDI) for the end device that generated the message. This field should be empty if the message is nonspecific to a device. The format is type@Sid@serial:

- type is the product model number from backplane IDPROM.

- @ is a separator character.

- Sid is C, identifying the serial ID as a chassis serial number.

- serial is the number identified by the Sid field.

An example is WS-C6509@C@12345678

/aml/ header/deviceID

Customer ID

Optional user-configurable field used for contract information or other ID by any support service.

/aml/ header/customerID

Contract ID

Optional user-configurable field used for contract information or other ID by any support service.

/aml/ header /contractID

Site ID

Optional user-configurable field used for Cisco-supplied site ID or other data meaningful to alternate support service.

/aml/ header/siteID

Server ID

If the message is generated from the device, this is the unique device identifier (UDI) of the device.

The format is type@Sid@serial:

- type is the product model number from backplane IDPROM.

- @ is a separator character.

- Sid is C, identifying the serial ID as a chassis serial number.

- serial is the number identified by the Sid field.

An example is WS-C6509@C@12345678

/aml/header/serverID

Message description

Short text that describes the error.

/aml/body/msgDesc

Device name

Node that experienced the event (hostname of the device).

/aml/body/sysName

Contact name

Name of person to contact for issues associated with the node that experienced the event.

/aml/body/sysContact

Contact e-mail

E-mail address of person identified as the contact for this unit.

/aml/body/sysContactEmail

Contact phone number

Phone number of the person identified as the contact for this unit.

/aml/body/sysContactPhoneNumber

Street address

Optional field that contains the street address for RMA part shipments associated with this unit.

/aml/body/sysStreetAddress

Model name

Model name of the device (the specific model as part of a product family name).

/aml/body/chassis/name

Serial number

Chassis serial number of the unit.

/aml/body/chassis/serialNo

Chassis part number

Top assembly number of the chassis.

/aml/body/chassis/partNo

Fields specific to a particular alert group message are inserted here.

The following fields may be repeated if multiple CLI commands are executed for this alert group.

Command output name

Exact name of the issued CLI command.

/aml/attachments/attachment/name

Attachment type

Specific command output.

/aml/attachments/attachment/type

MIME type

Either plain text or encoding type.

/aml/attachments/attachment/mime

Command output text

Output of command automatically executed.

/aml/attachments/attachment/atdata

The following table describes the reactive event message format for full text or XML.

Inserted Fields for a Reactive or Proactive Event Message

Data Item (Plain Text and XML)

Description (Plain Text and XML)

XML Tag (XML Only)

Chassis hardware version

Hardware version of chassis.

/aml/body/chassis/hwVersion

Supervisor module software version

Top-level software version.

/aml/body/chassis/swVersion

Affected FRU name

Name of the affected FRU that is generating the event message.

/aml/body/fru/name

Affected FRU serial number

Serial number of the affected FRU.

/aml/body/fru/serialNo

Affected FRU part number

Part number of the affected FRU.

/aml/body/fru/partNo

FRU slot

Slot number of the FRU that is generating the event message.

/aml/body/fru/slot

FRU hardware version

Hardware version of the affected FRU.

/aml/body/fru/hwVersion

FRU software version

Software version(s) that is running on the affected FRU.

/aml/body/fru/swVersion

The following table describes the inventory event message format for full text or XML.

Inserted Fields for an Inventory Event Message

Data Item (Plain Text and XML)

Description (Plain Text and XML)

XML Tag (XML Only)

Chassis hardware version

Hardware version of the chassis.

/aml/body/chassis/hwVersion

Supervisor module software version

Top-level software version.

/aml/body/chassis/swVersion

FRU name

Name of the affected FRU that is generating the event message.

/aml/body/fru/name

FRU s/n

Serial number of the FRU.

/aml/body/fru/serialNo

FRU part number

Part number of the FRU.

/aml/body/fru/partNo

FRU slot

Slot number of the FRU.

/aml/body/fru/slot

FRU hardware version

Hardware version of the FRU.

/aml/body/fru/hwVersion

FRU software version

Software version(s) that is running on the FRU.

/aml/body/fru/swVersion

The following table describes the user-generated test message format for full text or XML.

Inserted Fields for a User-Generated Test Message

Data Item (Plain Text and XML)

Description (Plain Text and XML)

XML Tag (XML Only)

Process ID

Unique process ID.

/aml/body/process/id

Process state

State of process (for example, running or halted).

/aml/body/process/processState

Process exception

Exception or reason code.

/aml/body/process/exception

Guidelines and Limitations for Smart Call Home

- If there is no IP connectivity, or if the interface in the virtual routing and forwarding (VRF) instance to the profile destination is down, the switch cannot send Smart Call Home messages.

- Operates with any SMTP e-mail server.

Prerequisites for Smart Call Home

- You must have e-mail server connectivity.

- You must have access to contact name (SNMP server contact), phone, and street address information.

- You must have IP connectivity between the switch and the e-mail server.

- You must have an active service contract for the device that you are configuring.

Default Call Home Settings

Default Call Home Parameters

Parameters

Default

Destination message size for a message sent in full text format

4000000

Destination message size for a message sent in XML format

4000000

Destination message size for a message sent in short text format

4000

SMTP server port number if no port is specified

25

Alert group association with profile

All for full-text-destination and short-text-destination profiles. The cisco-tac alert group for the CiscoTAC-1 destination profile.

Format type

XML

Call Home message level

0 (zero)

Registering for Smart Call Home

Before You Begin

- Know the sMARTnet contract number for your switch

- Know your e-mail address

- Know your Cisco.com ID

Procedure

Step 1

In a browser, navigate to the Smart Call Home web page:
Click Here

Step 2

Under Getting Started, follow the directions to register Smart Call Home.

What to Do Next

Configure contact information.

Configuring Contact Information

You must configure the e-mail, phone, and street address information for Smart Call Home. You can optionally configure the contract ID, customer ID, site ID, and switch priority information.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# snmp-server contact sys-contact

Configures the SNMP sysContact.

Step 3

switch(config)# callhome

Enters Smart Call Home configuration mode.

Step 4

switch(config-callhome)# email-contact email-address

Configures the e-mail address for the primary person responsible for the switch.

The email-address can be up to 255 alphanumeric characters in an e-mail address format.

Note:
You can use any valid e-mail address. The address cannot contain spaces.

Step 5

switch(config-callhome)# phone-contact international-phone-number

Configures the phone number in international phone number format for the primary person responsible for the device. The international-phone-number can be up to 17 alphanumeric characters and must be in international phone number format.

Note:
The phone number cannot contain spaces. Use the plus (+) prefix before the number.

Step 6

switch(config-callhome)# streetaddress address

Configures the street address for the primary person responsible for the switch.

The address can be up to 255 alphanumeric characters. Spaces are accepted.

Step 7

switch(config-callhome)# contract-id contract-number

(Optional)
Configures the contract number for this switch from the service agreement.

The contract-number can be up to 255 alphanumeric characters.

Step 8

switch(config-callhome)# customer-id customer-number

(Optional)
Configures the customer number for this switch from the service agreement.

The customer-number can be up to 255 alphanumeric characters.

Step 9

switch(config-callhome)# site-id site-number

(Optional)
Configures the site number for this switch.

The site-number can be up to 255 alphanumeric characters in free format.

Step 10

switch(config-callhome)# switch-priority number

(Optional)
Configures the switch priority for this switch.

The range is from 0 to 7, with 0 being the highest priority and 7 the lowest. The default is 7.

Note:
Switch priority is used by the operations personnel or TAC support personnel to decide which Call Home message should be responded to first. You can prioritize Call Home alerts of the same severity from each switch.

Step 11

switch# show callhome

(Optional)
Displays a summary of the Smart Call Home configuration.

Step 12

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to configure the contact information for Call Home:

switch# configuration terminal
switch(config)# snmp-server contact personname@companyname.com
switch(config)# callhome
switch(config-callhome)# email-contact personname@companyname.com
switch(config-callhome)# phone-contact +1-800-123-4567
switch(config-callhome)# street-address 123 Anystreet St., Anycity, Anywhere

What to Do Next

Create a destination profile.

Creating a Destination Profile

You must create a user-defined destination profile and configure the message format for that new destination profile.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# callhome

Enters Smart Call Home configuration mode.

Step 3

switch(config-callhome)# destination-profile {ciscoTAC-1 {alert-group group | email-addr address | http URL | transport-method {email | http}} | profilename {alert-group group | email-addr address | format {XML | full-txt | short-txt} | http URL | message-level level | message-size size | transport-method {email | http}} | full-txt-destination {alert-group group | email-addr address | http URL | message-level level | message-size size | transport-method {email | http}} | short-txt-destination {alert-group group | email-addr address | http URL | message-level level | message-size size | transport-method {email | http}}}

Creates a new destination profile and sets the message format for the profile. The profile-name can be any alphanumeric string up to 31 characters.

For further details about this command, see the command reference for your platform.

Step 4

switch# show callhome destination-profile [profile name]

(Optional)
Displays information about one or more destination profiles.

Step 5

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to create a destination profile for Smart Call Home:

switch# configuration terminal
switch(config)# callhome
switch(config-callhome)# destination-profile Noc101 format full-text

Modifying a Destination Profile

You can modify the following attributes for a predefined or user-defined destination profile:

- Destination address—The actual address, pertinent to the transport mechanism, to which the alert should be sent.

- Message formatting—The message format used for sending the alert (full text, short text, or XML).

- Message level—The Call Home message severity level for this destination profile.

- Message size—The allowed length of a Call Home message sent to the e-mail addresses in this destination profile.

Note

You cannot modify or delete the CiscoTAC-1 destination profile.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# callhome

Enters Smart Call Home configuration mode.

Step 3

switch(config-callhome)# destination-profile {name | full-txt-destination | short-txt-destination} email-addr address

Configures an e-mail address for a user-defined or predefined destination profile. You can configure up to 50 e-mail addresses in a destination profile.

Step 4

destination-profile {name | full-txt-destination | short-txt-destination} message-level number

Configures the Smart Call Home message severity level for this destination profile. The switch sends only alerts that have a matching or higher Smart Call Home severity level to destinations in this profile. The range for the number is from 0 to 9, where 9 is the highest severity level.

Step 5

switch(config-callhome)# destination-profile {name | full-txt-destination | short-txt-destination} message-size number

Configures the maximum message size for this destination profile. The range is from 0 to 5000000 for full-txt-destination and the default is 2500000. The range is from 0 to 100000 for short-txt-destination and the default is 4000. The value is 5000000 for CiscoTAC-1, which is not changeable.

Step 6

switch# show callhome destination-profile [profile name]

(Optional)
Displays information about one or more destination profiles.

Step 7

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to modify a destination profile for Smart Call Home:

switch# configuration terminal
switch(config)# callhome
switch(config-callhome)# destination-profile full-text-destination email-addr person@example.com
switch(config-callhome)# destination-profile full-text-destination message-level 5
switch(config-callhome)# destination-profile full-text-destination message-size 10000
switch(config-callhome)#

What to Do Next

Associate an alert group with a destination profile.

Associating an Alert Group with a Destination Profile

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# callhome

Enters Smart Call Home configuration mode.

Step 3

switch(config-callhome)# destination-profile name alert-group {All | Cisco-TAC | Configuration | Diagnostic | Environmental | Inventory | License | Linecard-Hardware | Supervisor-Hardware | Syslog-group-port | System | Test}

Associates an alert group with this destination profile. Use the All keyword to associate all alert groups with the destination profile.

Step 4

switch# show callhome destination-profile [profile name]

(Optional)
Displays information about one or more destination profiles.

Step 5

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to associate all alert groups with the destination profile Noc101:

switch# configuration terminal
switch(config)# callhome
switch(config-callhome)# destination-profile Noc101 alert-group All
switch(config-callhome)#

What to Do Next

Optionally, you can add show commands to an alert group and configure the SMTP e-mail server.

Adding Show Commands to an Alert Group

You can assign a maximum of five user-defined show commands to an alert group.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# callhome

Enters Smart Call Home configuration mode.

Step 3

switch(config-callhome)# alert-group {Configuration | Diagnostic | Environmental | Inventory | License | Linecard-Hardware | Supervisor-Hardware | Syslog-group-port | System | Test} user-def-cmd show-cmd

Adds the show command output to any Call Home messages sent for this alert group. Only valid show commands are accepted.

Note:
You cannot add user-defined show commands to the CiscoTAC-1 destination profile.

Step 4

switch# show callhome user-def-cmds

(Optional)
Displays information about all user-defined show commands added to alert groups.

Step 5

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to add the show ip routing command to the Cisco-TAC alert group:

switch# configuration terminal
switch(config)# callhome
switch(config-callhome)# alert-group Configuration user-def-cmd show ip routing
switch(config-callhome)#

What to Do Next

Configure Smart Call Home to connect to the SMTP e-mail server.

Configuring E-Mail Server Details

You must configure the SMTP server address for the Smart Call Home functionality to work. You can also configure the from and reply-to e-mail addresses.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# callhome

Enters Smart Call Home configuration mode.

Step 3

switch(config-callhome)# transport email smtp-server ip-address [port number] [use-vrf vrf-name]

Configures the SMTP server as either the domain name server (DNS) name, IPv4 address, or IPv6 address.

The number range is from1 to 65535. The default port number is 25.

Optionally, you can configure the VRF instance to use when communicating with this SMTP server.

Step 4

switch(config-callhome)# transport email from email-address

(Optional)
Configures the e-mail from field for Smart Call Home messages.

Step 5

switch(config-callhome)# transport email reply-to email-address

(Optional)
Configures the e-mail reply-to field for Smart Call Home messages.

Step 6

switch# show callhome transport-email

(Optional)
Displays information about the e-mail configuration for Smart Call Home.

Step 7

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to configure the e-mail options for Smart Call Home messages:

switch# configuration terminal
switch(config)# callhome
switch(config-callhome)# transport email smtp-server 192.0.2.10 use-vrf Red
switch(config-callhome)# transport email from person@example.com
switch(config-callhome)# transport email reply-to person@example.com
switch(config-callhome)#

What to Do Next

Configure periodic inventory notifications.

Configuring Periodic Inventory Notifications

You can configure the switch to periodically send a message with an inventory of all software services currently enabled and running on the device with hardware inventory information. The switch generates two Smart Call Home notifications; periodic configuration messages and periodic inventory messages.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# callhome

Enters Smart Call Home configuration mode.

Step 3

switch(config-callhome)# periodic-inventory notification [interval days] [timeofday time]

Configures periodic inventory messages.

The interval days range is from 1 to 30 days.

The default is 7 days.

The timeofday time is in HH:MM format.

Step 4

switch# show callhome

(Optional)
Displays information about Smart Call Home.

Step 5

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to configure the periodic inventory messages to generate every 20 days:

switch# configuration terminal
switch(config)# callhome
switch(config-callhome)# periodic-inventory notification interval 20
switch(config-callhome)#

What to Do Next

Disable duplicate message throttling.

Disabling Duplicate Message Throttling

You can limit the number of duplicate messages received for the same event. By default, the switch limits the number of duplicate messages received for the same event. If the number of duplicate messages sent exceeds 30 messages within a 2-hour time frame, the switch discards further messages for that alert type.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# callhome

Enters Smart Call Home configuration mode.

Step 3

switch(config-callhome) # no duplicate-message throttle

Disables duplicate message throttling for Smart Call Home.

Duplicate message throttling is enabled by default.

Step 4

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to disable duplicate message throttling:

switch# configuration terminal
switch(config)# callhome
switch(config-callhome)# no duplicate-message throttle
switch(config-callhome)#

What to Do Next

Enable Smart Call Home.

Enabling or Disabling Smart Call Home

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# callhome

Enters Smart Call Home configuration mode.

Step 3

switch(config-callhome) # [no] enable

Enables or disables Smart Call Home.

Smart Call Home is disabled by default.

Step 4

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to enable Smart Call Home:

switch# configuration terminal
switch(config)# callhome
switch(config-callhome)# enable
switch(config-callhome)#

What to Do Next

Optionally, generate a test message.

Testing the Smart Call Home Configuration

Before You Begin

Verify that the message level for the destination profile is set to 2 or lower.

Important:
Smart Call Home testing fails when the message level for the destination profile is set to 3 or higher.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# callhome

Enters Smart Call Home configuration mode.

Step 3

switch(config-callhome) # callhome send diagnostic

Sends the specified Smart Call Home message to all configured destinations.

Step 4

switch(config-callhome) # callhome test

Sends a test message to all configured destinations.

Step 5

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to enable Smart Call Home:

switch# configuration terminal
switch(config)# callhome
switch(config-callhome)# callhome send diagnostic
switch(config-callhome)# callhome test
switch(config-callhome)#

Verifying the Smart Call Home Configuration

Use one of the following commands to verify the configuration:

Command

Purpose

show callhome

Displays the status for Smart Call Home.

show callhome destination-profile name

Displays one or more Smart Call Home destination profiles.

show callhome pending-diff

Displays the differences between he pending and running Smart Call Home configuration.

show callhome status

Displays the Smart Call Home status.

show callhome transport-email

Displays the e-mail configuration for Smart Call Home.

show callhome user-def-cmds

Displays CLI commands added to any alert groups.

show running-config [callhome | callhome-all]

Displays the running configuration for Smart Call Home.

show startup-config callhome

Displays the startup configuration for Smart Call Home.

show tech-support callhome

Displays the technical support output for Smart Call Home.

Sample Syslog Alert Notification in Full-Text Format

This sample shows the full-text format for a syslog port alert-group notification:

source:MDS9000
Switch Priority:7
Device Id:WS-C6509@C@FG@07120011
Customer Id:Example.com
Contract Id:123
Site Id:San Jose
Server Id:WS-C6509@C@FG@07120011
Time of Event:2004-10-08T11:10:44
Message Name:SYSLOG_ALERT
Message Type:Syslog
Severity Level:2
System Name:10.76.100.177
Contact Name:User Name
Contact Email:person@example.com
Contact Phone:+1-408-555-1212
Street Address:#1234 Any Street, Any City, Any State, 12345
Event Description:2006 Oct  8 11:10:44 10.76.100.177 %PORT-5-IF_TRUNK_UP:
%$VLAN 1%$ Interface e2/5, vlan 1 is up
syslog_facility:PORT
start chassis information:
Affected Chassis:WS-C6509
Affected Chassis Serial Number:FG@07120011
Affected Chassis Hardware Version:0.104
Affected Chassis Software Version:3.1(1)
Affected Chassis Part No:73-8607-01
end chassis information:

Sample Syslog Alert Notification in XML Format

This sample shows the XML format for a syslog port alert-group notification:

From: example
Sent: Wednesday, April 25, 2007 7:20 AM
To: User (user)
Subject: System Notification From Router - syslog - 2007-04-25 14:19:55
GMT+00:00
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-env="http://www.w3.org/2003/05/soap-envelope">
<soap-env:Header>
<aml-session:Session xmlns:aml-session="http://www.example.com/2004/01/aml-session"
soap-env:mustUnderstand="true" soap-env:role=
"http://www.w3.org/2003/05/soap-envelope/role/next">
<aml-session:To>http://tools.example.com/services/DDCEService</aml-session:To>
<aml-session:Path>
<aml-session:Via>http://www.example.com/appliance/uri</aml-session:Via>
</aml-session:Path>
<aml-session:From>http://www.example.com/appliance/uri</aml-session:From>
<aml-session:MessageId>M2:69000101:C9D9E20B</aml-session:MessageId>
</aml-session:Session>
</soap-env:Header>
<soap-env:Body>
<aml-block:Block xmlns:aml-block="http://www.example.com/2004/01/aml-block">
<aml-block:Header>
<aml-block:Type>http://www.example.com/2005/05/callhome/syslog</aml-block:Type>
<aml-block:CreationDate>2007-04-25 14:19:55 GMT+00:00</aml-block:CreationDate>
<aml-block:Builder>
<aml-block:Name>Cat6500</aml-block:Name>
<aml-block:Version>2.0</aml-block:Version>
</aml-block:Builder>
<aml-block:BlockGroup>
<aml-block:GroupId>G3:69000101:C9F9E20C</aml-block:GroupId>
<aml-block:Number>0</aml-block:Number>
<aml-block:IsLast>true</aml-block:IsLast>
<aml-block:IsPrimary>true</aml-block:IsPrimary>
<aml-block:WaitForPrimary>false</aml-block:WaitForPrimary>
</aml-block:BlockGroup>
<aml-block:Severity>2</aml-block:Severity>
</aml-block:Header>
<aml-block:Content>
<ch:Call Home xmlns:ch="http://www.example.com/2005/05/callhome" version="1.0">
<ch:EventTime>2007-04-25 14:19:55 GMT+00:00</ch:EventTime>
<ch:MessageDescription>03:29:29: %CLEAR-5-COUNTERS: Clear counter on all
interfaces by console</ch:MessageDescription>
<ch:Event>
<ch:Type>syslog</ch:Type>
<ch:SubType>
</ch:SubType>
<ch:Brand>Cisco Systems</ch:Brand>
<ch:Series>Catalyst 6500 Series Switches</ch:Series>
</ch:Event>
<ch:CustomerData>
<ch:UserData>
<ch:Email>person@example.com</ch:Email>
</ch:UserData>
<ch:ContractData>
<ch:CustomerId>12345</ch:CustomerId>
<ch:SiteId>building 1</ch:SiteId>
<ch:ContractId>abcdefg12345</ch:ContractId>
<ch:DeviceId>WS-C6509@C@69000101</ch:DeviceId>
</ch:ContractData>
<ch:SystemInfo>
<ch:Name>Router</ch:Name>
<ch:Contact>
</ch:Contact>
<ch:ContactEmail>user@example.com</ch:ContactEmail>
<ch:ContactPhoneNumber>+1-408-555-1212</ch:ContactPhoneNumber>
<ch:StreetAddress>#1234 Any Street, Any City, Any State, 12345
</ch:StreetAddress>
</ch:SystemInfo>
</ch:CustomerData>
<ch:Device>
<rme:Chassis xmlns:rme="http://www.example.com/rme/4.0">
<rme:Model>WS-C6509</rme:Model>
<rme:HardwareVersion>1.0</rme:HardwareVersion>
<rme:SerialNumber>69000101</rme:SerialNumber>
<rme:AdditionalInformation>
<rme:AD name="PartNumber" value="73-3438-03 01" />
<rme:AD name="SoftwareVersion" value="4.0(20080421:012711)" />
</rme:AdditionalInformation>
</rme:Chassis>
</ch:Device>
</ch:Call Home>
</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 (0 messages dropped, 0 messages
rate-limited, 0 flushes, 0 overruns, xml disabled, filtering disabled)
Console logging: level debugging, 53 messages logged, xml disabled,
filtering disabled    Monitor logging: level debugging, 0 messages logged,
xml disabled,filtering disabled    Buffer logging: level debugging,
53 messages logged, xml disabled,      filtering disabled    Exception
Logging: size (4096 bytes)    Count and timestamp logging messages: disabled
Trap logging: level informational, 72 message lines logged
Log Buffer (8192 bytes):
00:00:54: curr is 0x20000
00:00:54: RP: Currently running ROMMON from F2 region
00:01:05: %SYS-5-CONFIG_I: Configured from memory by console
00:01:09: %SYS-5-RESTART: System restarted --Cisco IOS Software,
s72033_rp Software (s72033_rp-ADVENTERPRISEK9_DBG-VM), Experimental
Version 12.2(20070421:012711) Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 26-Apr-07 15:54 by xxx
Firmware compiled 11-Apr-07 03:34 by integ Build [100]00:01:01: %PFREDUN-6-ACTIVE:
Initializing as ACTIVE processor for this switch00:01:01: %SYS-3-LOGGER_FLUSHED:
System was paused for 00:00:00 to ensure console debugging output.00:03:00: SP: SP:
Currently running ROMMON from F1 region00:03:07: %C6K_PLATFORM-SP-4-CONFREG_BREAK
_ENABLED: The default factory setting for config register is 0x2102.It is advisable
to retain 1 in 0x2102 as it prevents returning to ROMMON when break is issued.00:03:18:
%SYS-SP-5-RESTART: System restarted --Cisco IOS Software, s72033_sp Software
(s72033_sp-ADVENTERPRISEK9_DBG-VM), Experimental Version 12.2(20070421:012711)Copyright
(c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 26-Apr-07 18:00 by xxx
00:03:18: %SYS-SP-6-BOOTTIME: Time taken to reboot after reload =  339 seconds
00:03:18: %OIR-SP-6-INSPS: Power supply inserted in slot 1
00:03:18: %C6KPWR-SP-4-PSOK: power supply 1 turned on.
00:03:18: %OIR-SP-6-INSPS: Power supply inserted in slot00:01:09: %SSH-5-ENABLED:
SSH 1.99 has been enabled
00:03:18: %C6KPWR-SP-4-PSOK: power supply 2 turned on.
00:03:18: %C6KPWR-SP-4-PSREDUNDANTMISMATCH: power supplies rated outputs do not match.
00:03:18: %C6KPWR-SP-4-PSREDUNDANTBOTHSUPPLY: in power-redundancy mode, system is
operating on both power supplies.
00:01:10: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is OFF
00:01:10: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is OFF
00:03:20: %C6KENV-SP-4-FANHIOUTPUT: Version 2 high-output fan-tray is in effect
00:03:22: %C6KPWR-SP-4-PSNOREDUNDANCY: Power supplies are not in full redundancy,
power usage exceeds lower capacity supply
00:03:26: %FABRIC-SP-5-FABRIC_MODULE_ACTIVE: The Switch Fabric Module in slot 6
became active.
00:03:28: %DIAG-SP-6-RUN_MINIMUM: Module 6: Running Minimal Diagnostics...
00:03:50: %DIAG-SP-6-DIAG_OK: Module 6: Passed Online Diagnostics
00:03:50: %OIR-SP-6-INSCARD: Card inserted in slot 6, interfaces are now online
00:03:51: %DIAG-SP-6-RUN_MINIMUM: Module 3: Running Minimal Diagnostics...
00:03:51: %DIAG-SP-6-RUN_MINIMUM: Module 7: Running Minimal Diagnostics...
00:03:51: %DIAG-SP-6-RUN_MINIMUM: Module 9: Running Minimal Diagnostics...
00:01:51: %MFIB_CONST_RP-6-REPLICATION_MODE_CHANGE: Replication Mode Change Detected.
Current system replication mode is Ingress
00:04:01: %DIAG-SP-6-DIAG_OK: Module 3: Passed Online Diagnostics
00:04:01: %OIR-SP-6-DOWNGRADE: Fabric capable module 3 not at an appropriate hardware
revision level, and can only run in flowthrough mode
00:04:02: %OIR-SP-6-INSCARD: Card inserted in slot 3, interfaces are now online
00:04:11: %DIAG-SP-6-DIAG_OK: Module 7: Passed Online Diagnostics
00:04:14: %OIR-SP-6-INSCARD: Card inserted in slot 7, interfaces are now online
00:04:35: %DIAG-SP-6-DIAG_OK: Module 9: Passed Online Diagnostics
00:04:37: %OIR-SP-6-INSCARD: Card inserted in slot 9, interfaces are now online
00:00:09: DaughterBoard (Distributed Forwarding Card 3)
Firmware compiled 11-Apr-07 03:34 by integ Build [100]
00:00:22: %SYS-DFC4-5-RESTART: System restarted --
Cisco DCOS Software, c6lc2 Software (c6lc2-SPDBG-VM), Experimental Version 4.0
(20080421:012711)Copyright (c) 1986-2008 by Cisco Systems, Inc.
Compiled Thu 26-Apr-08 17:20 by xxx
00:00:23: DFC4: Currently running ROMMON from F2 region
00:00:25: %SYS-DFC2-5-RESTART: System restarted --
Cisco IOS Software, c6slc Software (c6slc-SPDBG-VM), Experimental Version 12.2
(20070421:012711)Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Thu 26-Apr-08 16:40 by username1
00:00:26: DFC2: Currently running ROMMON from F2 region
00:04:56: %DIAG-SP-6-RUN_MINIMUM: Module 4: Running Minimal Diagnostics...
00:00:09: DaughterBoard (Distributed Forwarding Card 3)
Firmware compiled 11-Apr-08 03:34 by integ Build [100]
slot_id is 8
00:00:31: %FLASHFS_HES-DFC8-3-BADCARD: /bootflash:: The flash card seems to
be corrupted
00:00:31: %SYS-DFC8-5-RESTART: System restarted --
Cisco DCOS Software, c6lc2 Software (c6lc2-SPDBG-VM), Experimental Version 4.0
(20080421:012711)Copyright (c) 1986-2008 by Cisco Systems, Inc.
Compiled Thu 26-Apr-08 17:20 by username1
00:00:31: DFC8: Currently running ROMMON from S (Gold) region
00:04:59: %DIAG-SP-6-RUN_MINIMUM: Module 2: Running Minimal Diagnostics...
00:05:12: %DIAG-SP-6-RUN_MINIMUM: Module 8: Running Minimal Diagnostics...
00:05:13: %DIAG-SP-6-RUN_MINIMUM: Module 1: Running Minimal Diagnostics...
00:00:24: %SYS-DFC1-5-RESTART: System restarted --
Cisco DCOS Software, c6slc Software (c6slc-SPDBG-VM), Experimental Version 4.0
(20080421:012711)Copyright (c) 1986-2008 by Cisco Systems, Inc.
Compiled Thu 26-Apr-08 16:40 by username1
00:00:25: DFC1: Currently running ROMMON from F2 region
00:05:30: %DIAG-SP-6-DIAG_OK: Module 4: Passed Online Diagnostics
00:05:31: %SPAN-SP-6-SPAN_EGRESS_REPLICATION_MODE_CHANGE: Span Egress HW
Replication Mode Change Detected. Current replication mode for unused asic
session 0 is Centralized
00:05:31: %SPAN-SP-6-SPAN_EGRESS_REPLICATION_MODE_CHANGE: Span Egress HW
Replication Mode Change Detected. Current replication mode for unused asic
session 1 is Centralized
00:05:31: %OIR-SP-6-INSCARD: Card inserted in slot 4, interfaces are now online
00:06:02: %DIAG-SP-6-DIAG_OK: Module 1: Passed Online Diagnostics
00:06:03: %OIR-SP-6-INSCARD: Card inserted in slot 1, interfaces are now online
00:06:31: %DIAG-SP-6-DIAG_OK: Module 2: Passed Online Diagnostics
00:06:33: %OIR-SP-6-INSCARD: Card inserted in slot 2, interfaces are now online
00:04:30: %XDR-6-XDRIPCNOTIFY: Message not sent to slot 4/0 (4) because of IPC
error timeout. Disabling linecard. (Expected during linecard OIR)
00:06:59: %DIAG-SP-6-DIAG_OK: Module 8: Passed Online Diagnostics
00:06:59: %OIR-SP-6-DOWNGRADE_EARL: Module 8 DFC installed is not identical to
system PFC and will perform at current system operating mode.
00:07:06: %OIR-SP-6-INSCARD: Card inserted in slot 8, interfaces are now online
Router#]]>
</aml-block:Data>
</aml-block:Attachment>
</aml-block:Attachments>
</aml-block:Block>
</soap-env:Body>
</soap-env:Envelope>

Chapter 12. Configuring Rollback

This chapter contains the following sections:

- Information About Rollbacks

- Guidelines and Limitations

- Creating a Checkpoint

- Implementing a Rollback

- Verifying the Rollback Configuration

Information About Rollbacks

The rollback feature allows you to take a snapshot, or user checkpoint, of the Cisco NX-OS configuration and then reapply that configuration to your switch at any point without having to reload the switch. A rollback allows any authorized administrator to apply this checkpoint configuration without requiring expert knowledge of the features configured in the checkpoint.

You can create a checkpoint copy of the current running configuration at any time. Cisco NX-OS saves this checkpoint as an ASCII file which you can use to roll back the running configuration to the checkpoint configuration at a future time. You can create multiple checkpoints to save different versions of your running configuration.

When you roll back the running configuration, you can trigger an atomic rollback. An atomic rollback implements a rollback only if no errors occur.

Guidelines and Limitations

Rollback has the following configuration guidelines and limitations:

- You can create up to ten checkpoint copies.

- You cannot apply the checkpoint file of one switch into another switch.

- Your checkpoint file names must be 75 characters or less.

- You cannot start a checkpoint filename with the word system.

- Beginning in Cisco NX-OS Release 5.0(2)N1(1), you can start a checkpoint filename with the word auto.

- Beginning in Cisco NX-OS Release 5.0(2)N1(1), you can name a checkpoint file summary or any abbreviation of the word summary.

- When FCoE is enabled, the checkpoint and configuration rollback functionality are disabled.

- Only one user can perform a checkpoint, rollback, or copy the running configuration to the startup configuration at the same time.

- After you enter the write erase and reload command, checkpoints are deleted. You can use the clear checkpoint database command to clear out all checkpoint files.

- When checkpoints are created on bootflash, differences with the running-system configuration cannot be performed before performing the rollback, and the system reports “No Changes.”

- Checkpoints are local to a switch.

- Checkpoints that are created using the checkpoint and checkpoint checkpoint_name commands are present upon a switchover for all switches.

- A rollback to files on bootflash is supported only on files that are created using the checkpoint checkpoint_name command and not on any other type of ASCII file.

- Checkpoint names must be unique. You cannot overwrite previously saved checkpoints with the same name.

- Checkpoints are not supported post upgrade or downgrade.

- The Cisco NX-OS commands may differ from the Cisco IOS commands.

Creating a Checkpoint

You can create up to ten checkpoints of your configuration per switch.

Procedure

Command or Action

Purpose

Step 1

switch# checkpoint { [cp-name] [description descr] |file file-name

Example:

switch# checkpoint stable

Creates a checkpoint of the running configuration to either a user checkpoint name or a file. The checkpoint name can be any alphanumeric string up to 80 characters but cannot contain spaces. If you do not provide a name, Cisco NX-OS sets the checkpoint name to user-checkpoint-<number> where number is from 1 to 10.

The description can contain up to 80 alphanumeric characters, including spaces.

Step 2

switch# no checkpointcp-name

Example:

switch# no checkpoint stable

(Optional)
You can use the no form of the checkpoint command to remove a checkpoint name.

Use the delete command to remove a checkpoint file.

Step 3

switch# show checkpointcp-name

Example:
[ all]

switch# show checkpoint stable

(Optional) Displays the contents of the checkpoint name.

Implementing a Rollback

You can implement a rollback to a checkpoint name or file. Before you implement a rollback, you can view the differences between source and destination checkpoints that reference current or saved configurations.

Note

If you make a configuration change during an atomic rollback, the rollback will fail.

Procedure

Command or Action

Purpose

Step 1

show diff rollback-patch {checkpoint src-cp-name | running-config | startup-config | file source-file} {checkpoint dest-cp-name | running-config | startup-config | file dest-file}

Example:

switch# show diff rollback-patch checkpoint stable
running-config

Displays the differences between the source and destination checkpoint selections.

Step 2

rollback running-config {checkpoint cp-name | file cp-file} atomic

Example:

switch# rollback running-config checkpoint stable

Creates an atomic rollback to the specified checkpoint name or file if no errors occur.

The following example shows how to create a checkpoint file and then implement an atomic rollback to a user checkpoint name:

switch# checkpoint stable
switch# rollback running-config checkpoint stable atomic

Verifying the Rollback Configuration

Use the following commands to verify the rollback configuration:

Command

Purpose

show checkpoint name [ all]

Displays the contents of the checkpoint name.

show checkpoint all [user | system]

Displays the contents of all checkpoints in the current switch. You can limit the displayed checkpoints to user or system-generated checkpoints.

show checkpoint summary [user | system]

Displays a list of all checkpoints in the current switch. You can limit the displayed checkpoints to user or system-generated checkpoints.

show diff rollback-patch {checkpoint src-cp-name | running-config | startup-config | file source-file} {checkpoint dest-cp-name | running-config | startup-config | file dest-file}

Displays the differences between the source and destination checkpoint selections.

show rollback log [exec | verify]

Displays the contents of the rollback log.

Note

Use the clear checkpoint database command to delete all checkpoint files.

Chapter 13. Configuring DNS

This chapter contains the following sections:

- Information About DNS Client

- Prerequisites for DNS Clients

- Licensing Requirements for DNS Clients

- Default Settings for DNS Clients

- Configuring DNS Clients

Information About DNS Client

If your network devices require connectivity with devices in networks for which you do not control name assignment, you can assign device names that uniquely identify your devices within the entire internetwork using the domain name server (DNS). DNS uses a hierarchical scheme for establishing hostnames for network nodes, which allows local control of the segments of the network through a client-server scheme. The DNS system can locate a network device by translating the hostname of the device into its associated IP address.

On the Internet, a domain is a portion of the naming hierarchy tree that refers to general groupings of networks based on the organization type or geography. Domain names are pieced together with periods (.) as the delimiting characters. For example, Cisco is a commercial organization that the Internet identifies by a com domain, so its domain name is cisco.com. A specific hostname in this domain, the File Transfer Protocol (FTP) system, for example, is identified as ftp.cisco.com.

- Name Servers

- DNS Operation

- High Availability

Name Servers

Name servers keep track of domain names and know the parts of the domain tree for which they have complete information. A name server may also store information about other parts of the domain tree. To map domain names to IP addresses in Cisco NX-OS, you must first identify the hostnames, then specify a name server, and enable the DNS service.

Cisco NX-OS allows you to statically map IP addresses to domain names. You can also configure Cisco NX-OS to use one or more domain name servers to find an IP address for a hostname.

DNS Operation

A name server handles client-issued queries to the DNS server for locally defined hosts within a particular zone as follows:

- An authoritative name server responds to DNS user queries for a domain name that is under its zone of authority by using the permanent and cached entries in its own host table. If the query is for a domain name that is under its zone of authority but for which it does not have any configuration information, the authoritative name server replies that no such information exists.

- A name server that is not configured as the authoritative name server responds to DNS user queries by using information that it has cached from previously received query responses. If no router is configured as the authoritative name server for a zone, queries to the DNS server for locally defined hosts receive nonauthoritative responses.

Name servers answer DNS queries (forward incoming DNS queries or resolve internally generated DNS queries) according to the forwarding and lookup parameters configured for the specific domain.

High Availability

Cisco NX-OS supports stateless restarts for the DNS client. After a reboot or supervisor switchover, Cisco NX-OS applies the running configuration.

Prerequisites for DNS Clients

The DNS client has the following prerequisites:

- You must have a DNS name server on your network.

Licensing Requirements for DNS Clients

The following table shows the licensing requirements for this feature:

Product

Licence Rquirement

Cicco NX-OS

DNS requires no license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the Cisco NX-OS Licensing Guide.

Default Settings for DNS Clients

The following table shows the default settings for DNS client parameters.

Parameter

Default

DNS client

Enabled

Configuring DNS Clients

You can configure the DNS client to use a DNS server on your network.

Before You Begin

- Ensure that you have a domain name server on your network.

Procedure

Command or Action

Purpose

Step 1

switch# configuration terminal

Enters global configuration mode.

Step 2

switch(config)# vrf context managment

Specifies a configurable virtual and routing (VRF) name.

Step 3

switch(config)# ip host name address1 [address2... address6]

Defines up to six static hostname-to-address mappings in the host name cache.

Step 4

switch(config)# ip domain name name [use-vrf vrf-name]

(Optional)
Defines the default domain name server that Cisco NX-OS uses to complete unqualified hostnames. You can optionally define a VRF that Cisco NX-OS uses to resolve this domain name server if it cannot be resolved in the VRF that you configured this domain name under.

Cisco NX-OS appends the default domain name to any host name that does not contain a complete domain name before starting a domain-name lookup.

Step 5

switch(config)# ip domain-list name [use-vrf vrf-name]

(Optional)
Defines additional domain name servers that Cisco NX-OS can use to complete unqualified hostnames. You can optionally define a VRF that Cisco NX-OS uses to resolve this domain name server if it cannot be resolved in the VRF that you configured this domain name under.

Cisco NX-OS uses each entry in the domain list to append that domain name to any hostname that does not contain a complete domain name before starting a domain-name lookup. Cisco NX-OS continues this for each entry in the domain list until it finds a match.

Step 6

switch(config)# ip name-server server-address1 [server-address2... server-address6] [use-vrf vrf-name]

(Optional)
Defines up to six name servers. The address can be either an IPv4 address or an IPv6 address.

You can optionally define a VRF that Cisco NX-OS uses to reach this name server if it cannot be reached in the VRF that you configured this name server under.

Step 7

switch(config)# ip domain-lookup

(Optional)
Enables DNS-based address translation. This feature is enabled by default.

Step 8

switch(config)# show hosts

(Optional)
Displays information about DNS.

Step 9

switch(config)# exit

Exits configuration mode and returns to EXEC mode.

Step 10

switch# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

The following example shows how to configure a default domain name and enable DNS lookup:

switch# config t
switch(config)# vrf context management
switch(config)# ip domain-name mycompany.com
switch(config)# ip name-server 172.68.0.10
switch(config)# ip domain-lookup

Chapter 14. Configuring SNMP

This chapter contains the following sections:

- Information About SNMP

- Licensing Requirements for SNMP

- Guidelines and Limitations for SNMP

- Default SNMP Settings

- Disabling SNMP

- Verifying the SNMP Configuration

- Feature History for SNMP

Information About SNMP

The Simple Network Management Protocol (SNMP) is an application-layer protocol that provides a message format for communication between SNMP managers and agents. SNMP provides a standardized framework and a common language used for the monitoring and management of devices in a network.

- SNMP Functional Overview

- SNMP Notifications

- SNMPv3

SNMP Functional Overview

The SNMP framework consists of three parts:

- An SNMP manager—The system used to control and monitor the activities of network devices using SNMP.

- An SNMP agent—The software component within the managed device that maintains the data for the device and reports these data, as needed, to managing systems. The Cisco Nexus device supports the agent and MIB. To enable the SNMP agent, you must define the relationship between the manager and the agent.

- A managed information base (MIB)—The collection of managed objects on the SNMP agent

Note

Cisco NX-OS does not support SNMP sets for Ethernet MIBs.

The Cisco Nexus device supports SNMPv1, SNMPv2c, and SNMPv3. Both SNMPv1 and SNMPv2c use a community-based form of security.

Cisco NX-OS supports SNMP over IPv6.

SNMP is defined in RFC 3410 ( Click Here ), RFC 3411 ( Click Here ), RFC 3412 ( Click Here ), RFC 3413 ( Click Here ), RFC 3414 ( Click Here ), RFC 3415 ( Click Here ), RFC 3416 ( Click Here ), RFC 3417 ( Click Here ), RFC 3418 ( Click Here ), and RFC 3584 ( Click Here ).

SNMP Notifications

A key feature of SNMP is the ability to generate notifications from an SNMP agent. These notifications do not require that requests be sent from the SNMP manager. Notifications can indicate improper user authentication, restarts, the closing of a connection, loss of connection to a neighbor router, or other significant events.

Cisco NX-OS generates SNMP notifications as either traps or informs. A trap is an asynchronous, unacknowledged message sent from the agent to the SNMP managers listed in the host receiver table. Informs are asynchronous messages sent from the SNMP agent to the SNMP manager which the manager must acknowledge receipt of.

Traps are less reliable than informs because the SNMP manager does not send any acknowledgment when it receives a trap. The switch cannot determine if the trap was received. An SNMP manager that receives an inform request acknowledges the message with an SNMP response protocol data unit (PDU). If the Cisco Nexus device never receives a response, it can send the inform request again.

You can configure Cisco NX-OS to send notifications to multiple host receivers.

SNMPv3

SNMPv3 provides secure access to devices by a combination of authenticating and encrypting frames over the network. The security features provided in SNMPv3 are the following:

- Message integrity—Ensures that a packet has not been tampered with in-transit.

- Authentication—Determines the message is from a valid source.

- Encryption—Scrambles the packet contents to prevent it from being seen by unauthorized sources.

SNMPv3 provides for both security models and security levels. A security model is an authentication strategy that is set up for a user and the role in which the user resides. A security level is the permitted level of security within a security model. A combination of a security model and a security level determines which security mechanism is employed when handling an SNMP packet.

- Security Models and Levels for SNMPv1, v2, and v3

- User-Based Security Model

- CLI and SNMP User Synchronization

- Group-Based SNMP Access

Security Models and Levels for SNMPv1, v2, and v3

The security level determines if an SNMP message needs to be protected from disclosure and if the message needs to be authenticated. The various security levels that exist within a security model are as follows:

- noAuthNoPriv—Security level that does not provide authentication or encryption. This level is not supported for SNMPv3.

- authNoPriv—Security level that provides authentication but does not provide encryption.

- authPriv—Security level that provides both authentication and encryption.

Three security models are available: SNMPv1, SNMPv2c, and SNMPv3. The security model combined with the security level determine the security mechanism applied when the SNMP message is processed.

SNMP Security Models and Levels

Model

Level

Authentication

Encryption

What Happens

v1

noAuthNoPriv

Community string

No

Uses a community string match for authentication.

v2c

noAuthNoPriv

Community string

No

Uses a community string match for authentication.

v3

authNoPriv

HMAC-MD5 or HMAC-SHA

No

Provides authentication based on the Hash-Based Message Authentication Code (HMAC) Message Digest 5 (MD5) algorithm or the HMAC Secure Hash Algorithm (SHA).

v3

authPriv

HMAC-MD5 or HMAC-SHA

DES

Provides authentication based on the HMAC-MD5 or HMAC-SHA algorithms. Provides Data Encryption Standard (DES) 56-bit encryption in addition to authentication based on the Cipher Block Chaning (CBC) DES (DES-56) standard.

User-Based Security Model

SNMPv3 User-Based Security Model (USM) refers to SNMP message-level security and offers the following services:

- Message integrity—Ensures that messages have not been altered or destroyed in an unauthorized manner and that data sequences have not been altered to an extent greater than can occur nonmaliciously.

- Message origin authentication—Confirms that the claimed identity of the user who received the data was originated.

- Message confidentiality—Ensures that information is not made available or disclosed to unauthorized individuals, entities, or processes.

SNMPv3 authorizes management operations only by configured users and encrypts SNMP messages.

Cisco NX-OS uses two authentication protocols for SNMPv3:

- HMAC-MD5-96 authentication protocol

- HMAC-SHA-96 authentication protocol

Cisco NX-OS uses Advanced Encryption Standard (AES) as one of the privacy protocols for SNMPv3 message encryption and conforms with RFC 3826.

The priv option offers a choice of DES or 128-bit AES encryption for SNMP security encryption. The priv option and the aes-128 token indicates that this privacy password is for generating a 128-bit AES key #.The AES priv password can have a minimum of eight characters. If the passphrases are specified in clear text, you can specify a maximum of 64 characters. If you use the localized key, you can specify a maximum of 130 characters.

Note

For an SNMPv3 operation using the external AAA server, you must use AES for the privacy protocol in user configuration on the external AAA server.

CLI and SNMP User Synchronization

SNMPv3 user management can be centralized at the Access Authentication and Accounting (AAA) server level. This centralized user management allows the SNMP agent in Cisco NX-OS to leverage the user authentication service of the AAA server. Once user authentication is verified, the SNMP PDUs are processed further. Additionally, the AAA server is also used to store user group names. SNMP uses the group names to apply the access/role policy that is locally available in the switch.

Any configuration changes made to the user group, role, or password results in database synchronization for both SNMP and AAA.

Cisco NX-OS synchronizes user configuration in the following ways:

- The auth passphrase specified in the snmp-server user command becomes the password for the CLI user.

- The password specified in the username command becomes the auth and priv passphrases for the SNMP user.

- If you create or delete a user using either SNMP or the CLI, the user is created or deleted for both SNMP and the CLI.

- User-role mapping changes are synchronized in SNMP and the CLI.

- Role changes (deletions or modifications from the CLI) are synchronized to SNMP.

Note

When you configure passphrase/password in localized key/encrypted format, Cisco NX-OS does not synchronize the user information (passwords, rules, etc.).

Group-Based SNMP Access

Note

Because a group is a standard SNMP term used industry-wide, roles are referred to as groups in this SNMP section.

SNMP access rights are organized by groups. Each group in SNMP is similar to a role through the CLI. Each group is defined with three accesses: read access, write access, and notification access. Each access can be enabled or disabled within each group.

You can begin communicating with the agent once your username is created, your roles are set up by your administrator, and you are added to the roles.

Licensing Requirements for SNMP

This feature does not require a license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the Cisco NX-OS Licensing Guide.

Guidelines and Limitations for SNMP

Cisco NX-OS supports read-only access to Ethernet MIBs.

For more information about supported MIBs, see the following URL:

Click Here

Cisco NX-OS does not support the SNMPv3 noAuthNoPriv security level.

Default SNMP Settings

Default SNMP Parameters

Parameters

Default

license notifications

Enabled

linkUp/Down notification type

ietf-extended

Configuring SNMP Users

Note

The commands used to configure SNMP users in Cisco NX-OS are different from those used to configure users in Cisco IOS.

Procedure

Command or Action

Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

switch(config)# snmp-server user name [auth {md5 | sha} passphrase [auto] [priv [aes-128] passphrase] [engineID id] [localizedkey]]

Example:

switch(config)# snmp-server user Admin auth sha abcd1234 priv abcdefgh

Configures an SNMP user with authentication and privacy parameters.

The passphrase can be any case-sensitive, alphanumeric string up to 64 characters.

If you use the localizedkey keyword, the passphrase can be any case-sensitive, alphanumeric string up to 130 characters.

The engineID format is a 12-digit, colon-separated decimal number.

Step 3

switch# show snmp user

Example:

switch(config) # show snmp user

(Optional)
Displays information about one or more SNMP users.

Step 4

copy running-config startup-config

Example:

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to configure an SNMP user:

switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# snmp-server user Admin auth sha abcd1234 priv abcdefgh

Enforcing SNMP Message Encryption

You can configure SNMP to require authentication or encryption for incoming requests. By default, the SNMP agent accepts SNMPv3 messages without authentication and encryption. When you enforce privacy, Cisco NX-OS responds with an authorization error for any SNMPv3 PDU request that uses a security level parameter of either noAuthNoPriv or authNoPriv.

Use the following command in global configuration mode to enforce SNMP message encryption for a specific user:

Command

Purpose

switch(config)# snmp-server user name enforcePriv

Enforces SNMP message encryption for this user.

Use the following command in global configuration mode to enforce SNMP message encryption for all users:

Command

Purpose

switch(config)# snmp-server globalEnforcePriv

Enforces SNMP message encryption for all users.

Assigning SNMPv3 Users to Multiple Roles

After you configure an SNMP user, you can assign multiple roles for the user.

Note

Only users who belong to a network-admin role can assign roles to other users.

Command

Purpose

switch(config)# snmp-server user name group

Associates this SNMP user with the configured user role.

Creating SNMP Communities

You can create SNMP communities for SNMPv1 or SNMPv2c.

Command

Purpose

switch(config)# snmp-server community name group {ro | rw}

Creates an SNMP community string.

Filtering SNMP Requests

You can assign an access list (ACL) to a community to filter incoming SNMP requests. If the assigned ACL allows the incoming request packet, SNMP processes the request. If the ACL denies the request, SNMP drops the request and sends a system message.

Create the ACL with the following parameters:

- Source IP address

- Destination IP address

- Source port

- Destination port

- Protocol (UDP or TCP)

The ACL applies to both IPv4 and IPv6 over UDP and TCP. After creating the ACL, assign the ACL to the SNMP community.

Tip

For more information about creating ACLs, see the NX-OS security configuration guide for the Cisco Nexus Series software that you are using.

Use the following command in global configuration mode to assign an IPv4 or IPv6 ACL to an SNMPv3 community to filter SNMP requests:

Command

Purpose

switch(config)# snmp-server community name [use-ipv4acl ipv4acl-name] [use-ipv6acl ipv6acl-name]

switch(config)# snmp-server community public use-ipv4acl myacl

Assigns an IPv4 or IPv6 ACL to an SNMPv3 community to filter SNMP requests.

Configuring SNMP Notification Receivers

You can configure Cisco NX-OS to generate SNMP notifications to multiple host receivers.

You can configure a host receiver for SNMPv1 traps in a global configuration mode.

Command

Purpose

switch(config)# snmp-server host ip-address traps version 1 community [udp_port number]

Configures a host receiver for SNMPv1 traps. The ip-address can be an IPv4 or IPv6 address. The community can be any alphanumeric string up to 255 characters. The UDP port number range is from 0 to 65535.

You can configure a host receiver for SNMPv2c traps or informs in a global configuration mode.

Command

Purpose

switch(config)# snmp-server host ip-address {traps | informs} version 2c community [udp_port number]

Configures a host receiver for SNMPv2c traps or informs. The ip-address can be an IPv4 or IPv6 address. The community can be any alphanumeric string up to 255 characters. The UDP port number range is from 0 to 65535.

You can configure a host receiver for SNMPv3 traps or informs in a global configuration mode.

Command

Purpose

switch(config)# snmp-server host ip-address {traps | informs} version 3 {auth | noauth | priv} username [udp_port number]

Configures a host receiver for SNMPv2c traps or informs. The ip-address can be an IPv4 or IPv6 address. The username can be any alphanumeric string up to 255 characters. The UDP port number range is from 0 to 65535.

Note

The SNMP manager must know the user credentials (authKey/PrivKey) based on the SNMP engineID of the Cisco Nexus device to authenticate and decrypt the SNMPv3 messages.

The following example shows how to configure a host receiver for an SNMPv1 trap:

switch(config)# snmp-server host 192.0.2.1 traps version 1 public

The following example shows how to configure a host receiver for an SNMPv2 inform:

switch(config)# snmp-server host 192.0.2.1 informs version 2c public

The following example shows how to configure a host receiver for an SNMPv3 inform:

switch(config)# snmp-server host 192.0.2.1 informs version 3 auth NMS

Configuring SNMP Notification Receivers with VRFs

You can configure Cisco NX-OS to use a configured VRF to reach the host receiver. SNMP adds entries into the cExtSnmpTargetVrfTable of the CISCO-SNMP-TARGET-EXT-MIB when you configure the VRF reachability and filtering options for an SNMP notification receiver.

Note

You must configure the host before configuring the VRF reachability or filtering options.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch# snmp-server host ip-address use-vrf vrf_name [udp_port number]

Configures SNMP to use the selected VRF to communicate with the host receiver. The IP address can be an IPv4 or IPv6 address. The VRF name can be any alphanumeric string up to 255 characters. The UDP port number range is from 0 to 65535. This command adds an entry into thc ExtSnmpTargetVrfTable of the CISCO-SNMP-TARGET-EXT-MB.

Step 3

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to configure the SNMP server host with IP address 192.0.2.1 to use the VRF named "Blue:"

switch# configuration terminal
switch(config)# snmp-server host 192.0.2.1 use-vrf Blue
switch(config)# copy running-config startup-config

Filtering SNMP Notifications Based on a VRF

You can configure Cisco NX-OS filter notifications based on the VRF in which the notification occurred.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# snmp-server host ip-address filter-vrf vrf_name [udp_port number]

Filters notifications to the notification host receiver based on the configured VRF. The IP address can be an IPv4 or IPv6 address. The VRF name can be any alphanumeric string up to 255 characters. The UDP port number range is from 0 to 65535.

This command adds an entry into thc ExtSnmpTargetVrfTable of the CISCO-SNMP-TARGET-EXT-MB.

Step 3

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

The following example shows how to configure filtering of SNMP notifications based on a VRF:

switch# configuration terminal
switch(config)# snmp-server host 192.0.2.1 filter-vrf Red
switch(config)# copy running-config startup-config

Configuring a Source Interface for Sending Out All SNMP Notifications

You can configure SNMP to use the IP address of an interface as the source IP address for notifications. When a notification is generated, its source IP address is based on the IP address of this configured interface.

Note

Configuring the source interface IP address for outgoing trap packets does not guarantee that the device will use the same interface to send the trap. The source interface IP address defines the source address inside of the SNMP trap and the connection is opened with the address of the egress interface as source.

Complete the following steps to configure a source interface for sending out all SNMP notifications:

Procedure

Command or Action

Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

switch(config) # snmp-server source-interface {traps | informs} if-type if-number

Example:

switch(config) # snmp-server
source-interface traps ethernet 2/1

Configures a source interface for sending out SNMPv2c traps or informs. Use ? to determine the supported interface types.

This example shows how to configure a source interface to sending out SNMPv2c traps:

switch# configure terminal
switch(config) # snmp-server source-interface traps ethernet 2/1

What to Do Next

To display information about configured source interfaces, enter the show snmp source-interface command.

Configuring a Host Receiver for SNMP Notifications

Note

This configuration overrides the global source interface configuration.

Complete the following steps to configure a host receiver on a source interface responsible for receiving all SNMP notifications:

Procedure

Command or Action

Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

switch(config) # snmp-server host ip-address source-interface if-type if-number [udp_port number]

Example:

switch(config) # snmp-server host 192.0.2.1
source-interface traps ethernet 2/1

Configures a host receiver for SNMPv2c traps or informs. The ip-address can be an IPv4 or IPv6 address. Use ? to determine the supported interface types.

To the following example configures a source interface responsible for receiving all SNMP notifications:

switch# config t
switch(config) # snmp-server host 192.0.2.1 source-interface ethernet 2/1

What to Do Next

To display information about configured source interface, enter the show snmp source-interface command.

Configuring SNMP for Inband Access

You can configure SNMP for inband access using the following:

- Using SNMP v2 without context—You can use a community that is mapped to a context. In this case, the SNMP client does not need to know about the context.

- Using SNMP v2 with context—The SNMP client needs to specify the context by specifying a community; for example, <community>@<context>.

- Using SNMP v3—You can specify the context.

Procedure

Command or Action

Purpose

Step 1

switch# configuration terminal

Enters global configuration mode.

Step 2

switch(config)# snmp-server context context-name vrf vrf-name

Maps an SNMP context to the management VRF or default VRF. Custom VRFs are not supported. The names can be any alphanumeric string up to 32 characters.

Step 3

switch(config)# snmp-server community community-name group group-name

Maps an SNMPv2c community to an SNMP context and identifies the group to which the community belongs. The names can be any alphanumeric string up to 32 characters.

Step 4

switch(config)# snmp-server mib community-map community-name context context-name

Maps an SNMPv2c community to an SNMP context. The names can be any alphanumeric string up to 32 characters.

The following SNMPv2 example shows how to map a community named snmpdefault to a context:

switch# config t
Enter configuration commands, one per line.  End with CNTL/Z.
switch(config)# snmp-server context def vrf default
switch(config)# snmp-server community snmpdefault group network-admin
switch(config)# snmp-server mib community-map snmpdefault context def
switch(config)#

The following SNMPv2 example shows how to configure and inband access to the community comm which is not mapped:

switch# config t
Enter configuration commands, one per line.  End with CNTL/Z.
switch(config)# snmp-server context def vrf default
switch(config)# snmp-server community comm group network-admin
switch(config)#

The following SNMPv3 example shows how to use a v3 username and password:

switch# config t
Enter configuration commands, one per line.  End with CNTL/Z.
switch(config)# snmp-server context def vrf default
switch(config)#

Enabling SNMP Notifications

You can enable or disable notifications. If you do not specify a notification name, Cisco NX-OS enables all notifications.

Note

The snmp-server enable traps CLI command enables both traps and informs, depending on the configured notification host receivers.

The following table lists the CLI commands that enable the notifications for Cisco NX-OS MIBs.

Enabling SNMP Notifications

MIB

Related Commands

All notifications

snmp-server enable traps

BRIDGE-MIB

snmp-server enable traps bridge newroot

snmp-server enable traps bridge topologychange

CISCO-AAA-SERVER-MIB

snmp-server enable traps aaa

ENITY-MIB, CISCO-ENTITY-FRU-CONTROL-MIB, CISCO-ENTITY-SENSOR-MIB

snmp-server enable traps entity

snmp-server enable traps entity fru

CISCO-LICENSE-MGR-MIB

snmp-server enable traps license

IF-MIB

snmp-server enable traps link

CISCO-PSM-MIB

snmp-server enable traps port-security

SNMPv2-MIB

snmp-server enable traps snmp

snmp-server enable traps snmp authentication

CISCO-FCC-MIB

snmp-server enable traps fcc

CISCO-DM-MIB

snmp-server enable traps fcdomain

CISCO-NS-MIB

snmp-server enable traps fcns

CISCO-FCS-MIB

snmp-server enable traps fcs discovery-complete

snmp-server enable traps fcs request-reject

CISCO-FDMI-MIB

snmp-server enable traps fdmi

CISCO-FSPF-MIB

snmp-server enable traps fspf

CISCO-PSM-MIB

snmp-server enable traps port-security

CISCO-RSCN-MIB

snmp-server enable traps rscn

snmp-server enable traps rscn els

snmp-server enable traps rscn ils

CISCO-ZS-MIB

snmp-server enable traps zone

snmp-server enable traps zone default-zone-behavior-change

snmp-server enable traps zone enhanced-zone-db-change

snmp-server enable traps zone merge-failure

snmp-server enable traps zone merge-success

snmp-server enable traps zone request-reject

snmp-server enable traps zone unsupp-mem

CISCO-CONFIG-MAN-MIB

Note:
Supports no MIB objects except the following notification: ccmCLIRunningConfigChanged

snmp-server enable traps config

Note

The license notifications are enabled by default.

To enable the specified notification in the global configuration mode, perform one of the following tasks:

Command

Purpose

switch(config)# snmp-server enable traps

Enables all SNMP notifications.

switch(config)# snmp-server enable traps aaa [server-state-change]

Enables the AAA SNMP notifications.

switch(config)# snmp-server enable traps entity [fru]

Enables the ENTITY-MIB SNMP notifications.

switch(config)# snmp-server enable traps license

Enables the license SNMP notification.

switch(config)# snmp-server enable traps port-security

Enables the port security SNMP notifications.

switch(config)# snmp-server enable traps snmp [authentication]

Enables the SNMP agent notifications.

Configuring Link Notifications

You can configure which linkUp/linkDown notifications to enable on a device. You can enable the following types of linkUp/linkDown notifications:

- cieLinkDown—Enables the Cisco extended link state down notification.

- cieLinkUp—Enables the Cisco extended link state up notification.

- cisco-xcvr-mon-status-chg—Enables the Cisco interface transceiver monitor status change notification.

- delayed-link-state-change—Enables the delayed link state change.

- extended-linkUp—Enables the Internet Engineering Task Force (IETF) extended link state up notification.

- extended-linkDown—Enables the IETF extended link state down notification.

- linkDown—Enables the IETF Link state down notification.

- linkUp—Enables the IETF Link state up notification.

Procedure

Command or Action

Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

snmp-server enable traps link [cieLinkDown | cieLinkUp | cisco-xcvr-mon-status-chg | delayed-link-state-change] | extended-linkUp | extended-linkDown | linkDown | linkUp]

Example:

switch(config)# snmp-server enable traps link cieLinkDown

Enables the link SNMP notifications.

Disabling Link Notifications on an Interface

You can disable linkUp and linkDown notifications on an individual interface. You can use these limit notifications on a flapping interface (an interface that transitions between up and down repeatedly).

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# interface type slot/port

Specifies the interface to be changed.

Step 3

switch(config -if)# no snmp trap link-status

Disables SNMP link-state traps for the interface. This feature is enabled by default.

Enabling One-Time Authentication for SNMP over TCP

You can enable a one-time authentication for SNMP over a TCP session.

Command

Purpose

switch(config)# snmp-server tcp-session [auth]

Enables a one-time authentication for SNMP over a TCP session. This feature is disabled by default.

Assigning SNMP Switch Contact and Location Information

You can assign the switch contact information, which is limited to 32 characters (without spaces), and the switch location.

Procedure

Command or Action

Purpose

Step 1

switch# configuration terminal

Enters global configuration mode.

Step 2

switch(config)# snmp-server contact name

Configures sysContact, the SNMP contact name.

Step 3

switch(config)# snmp-server location name

Configures sysLocation, the SNMP location.

Step 4

switch# show snmp

(Optional)
Displays information about one or more destination profiles.

Step 5

switch# copy running-config startup-config

(Optional)
Saves this configuration change.

Configuring the Context to Network Entity Mapping

You can configure an SNMP context to map to a logical network entity, such as a protocol instance or VRF.

Procedure

Command or Action

Purpose

Step 1

switch# configuration terminal

Enters global configuration mode.

Step 2

switch(config)# snmp-server context context-name [instance instance-name] [vrf vrf-name] [topology topology-name]

Maps an SNMP context to a protocol instance, VRF, or topology. The names can be any alphanumeric string up to 32 characters.

Step 3

switch(config)# snmp-server mib community-map community-name context context-name

Maps an SNMPv2c community to an SNMP context. The names can be any alphanumeric string up to 32 characters.

Step 4

switch(config)# no snmp-server context context-name [instance instance-name] [vrf vrf-name] [topology topology-name]

(Optional)
Deletes the mapping between an SNMP context and a protocol instance, VRF, or topology. The names can be any alphanumeric string up to 32 characters.

Note:
Do not enter an instance, VRF, or topology to delete a context mapping. If you use the instance, vrf, or topology keywords, you configure a mapping between the context and a zero-length string.

Disabling SNMP

Procedure

Command or Action

Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

switch(config) # no snmp-server protocol enable

Example:

no snmp-server protocol enable

Disables SNMP.

SNMP is disabled by default.

Verifying the SNMP Configuration

To display SNMP configuration information, perform one of the following tasks:

Command

Purpose

show snmp

Displays the SNMP status.

show snmp community

Displays the SNMP community strings.

show snmp engineID

Displays the SNMP engineID.

show snmp group

Displays SNMP roles.

show snmp sessions

Displays SNMP sessions.

show snmp trap

Displays the SNMP notifications enabled or disabled.

show snmp user

Displays SNMPv3 users.

Feature History for SNMP

Feature History for SNMP

Feature Name

Releases

Information

IPv6 support

5.2(1)N1(1)

This feature was introduced.

Chapter 15. Configuring RMON

This chapter contains the following sections:

- Information About RMON

- Configuration Guidelines and Limitations for RMON

- Verifying the RMON Configuration

- Default RMON Settings

- Configuring RMON Alarms

- Configuring RMON Events

Information 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. The Cisco NX-OS supports RMON alarms, events, and logs to monitor Cisco Nexus device.

An RMON alarm monitors a specific management information base (MIB) object for a specified interval, triggers an alarm at a specified threshold value (threshold), and resets the alarm at another threshold value. You can use alarms with RMON events to generate a log entry or an SNMP notification when the RMON alarm triggers.

RMON is disabled by default and no events or alarms are configured in Cisco Nexus devices. You can configure your RMON alarms and events by using the CLI or an SNMP-compatible network management station.

- RMON Alarms

- RMON Events

RMON Alarms

You can set an alarm on any MIB object that resolves into an SNMP INTEGER type. The specified object must be an existing SNMP MIB object in standard dot notation (for example, 1.3.6.1.2.1.2.2.1.17 represents ifOutOctets.17).

When you create an alarm, you specify the following parameters:

- MIB object to monitor

- Sampling interval—The interval that the Cisco Nexus device uses to collect a sample value of the MIB object.

- Sample type—Absolute samples take the current snapshot of the MIB object value. Delta samples take two consecutive samples and calculate the difference between them.

- Rising threshold—The value at which the Cisco Nexus device triggers a rising alarm or resets a falling alarm.

- Falling threshold—The value at which theCisco Nexus device triggers a falling alarm or resets a rising alarm.

- Events—The action that the Cisco Nexus device takes when an alarm (rising or falling) triggers.

Note

Use the hcalarms option to set an alarm on a 64-bit integer MIB object.

For example, you can set a delta type rising alarm on an error counter MIB object. If the error counter delta exceeds this value, you can trigger an event that sends an SNMP notification and logs the rising alarm event. This rising alarm does not occur again until the delta sample for the error counter drops below the falling threshold.

Note

The falling threshold must be less than the rising threshold.

RMON Events

You can associate a particular event to each RMON alarm. RMON supports the following event types:

- SNMP notification—Sends an SNMP risingAlarm or fallingAlarm notification when the associated alarm triggers.

- Log—Adds an entry in the RMON log table when the associated alarm triggers.

- Both—Sends an SNMP notification and adds an entry in the RMON log table when the associated alarm triggers.

You can specify a different even for a falling alarm and a rising alarm.

Configuration Guidelines and Limitations for RMON

RMON has the following configuration guidelines and limitations:

- You must configure an SNMP user and a notification receiver to use the SNMP notification event type.

- You can only configure an RMON alarm on a MIB object that resolves to an integer.

Verifying the RMON Configuration

Use the following commands to verify the RMON configuration information:

Command

Purpose

show rmon alarms

Displays information about RMON alarms.

show rmon events

Displays information about RMON events.

show rmon hcalarms

Displays information about RMON hcalarms.

show rmon logs

Displays information about RMON logs.

Default RMON Settings

The following table lists the default settings for RMON parameters.

Default RMON Parameters

Parameters

Default

Alarms

None configured.

Events

None configured.

Configuring RMON Alarms

You can configure RMON alarms on any integer-based SNMP MIB object.

You can optionally specify the following parameters:

- The eventnumber to trigger if the rising or falling threshold exceeds the specified limit.

- The owner of the alarm.

Ensure you have configured an SNMP user and enabled SNMP notifications.

Before You Begin

Ensure you have configured an SNMP user and enabled SNMP notifications.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# rmon alarm index mib-object sample-interval {absolute | delta} rising-threshold value [event-index] falling-threshold value [event-index] [owner name]

Creates an RMON alarm. The value range is from –2147483647 to 2147483647. The owner name can be any alphanumeric string.

Step 3

switch(config)# rmon hcalarm index mib-object sample-interval {absolute | delta} rising-threshold-high value rising-threshold-low value [event-index] falling-threshold-high value falling-threshold-low value [event-index] [owner name] [storagetype type]

Creates an RMON high-capacity alarm. The value range is from –2147483647 to 2147483647. The owner name can be any alphanumeric string.

The storage type range is from 1 to 5.

Step 4

switch# show rmon {alarms | hcalarms}

(Optional)
Displays information about RMON alarms or high-capacity alarms.

Step 5

switch# copy running-config startup-config

(Optional)
Saves this configuration change.

The following example shows how to configure RMON alarms:

switch# configure terminal

switch(config)# rmon alarm 1 1.3.6.1.2.1.2.2.1.17.83886080 5 delta rising-threshold 5 1 falling-threshold 0 owner test

switch(config)# exit

switch# show rmon alarms

Alarm 1 is active, owned by test

Monitors 1.3.6.1.2.1.2.2.1.17.83886080 every 5 second(s)

Taking delta samples, last value was 0

Rising threshold is 5, assigned to event 1

Falling threshold is 0, assigned to event 0

On startup enable rising or falling alarm

Configuring RMON Events

You can configure RMON events to associate with RMON alarms. You can reuse the same event with multiple RMON alarms.

Ensure you have configured an SNMP user and enabled SNMP notifications.

Before You Begin

Ensure that you have configured an SNMP user and enabled SNMP notifications.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# rmon event index [description string] [log] [trap] [owner name]

Configures an RMON event. The description string and owner name can be any alphanumeric string.

Step 3

switch(config)# show rmon {alarms | hcalarms}

(Optional)
Displays information about RMON alarms or high-capacity alarms.

Step 4

switch# copy running-config startup-config

(Optional)
Saves this configuration change.

Chapter 16. Configuring SPAN

This chapter contains the following sections:

- Information About SPAN

- SPAN Sources

- Characteristics of Source Ports

- SPAN Destinations

- Characteristics of Destination Ports

- Guidelines and Limitations for SPAN

- Creating or Deleting a SPAN Session

- Configuring an Ethernet Destination Port

- Configuring MTU Truncation for Each SPAN Session

- Configuring the Rate Limit for SPAN Traffic

- Configuring Fibre Channel Destination Port

- Configuring Source Ports

- Configuring Source Port Channels, VSANs, or VLANs

- Configuring the Description of a SPAN Session

- Activating a SPAN Session

- Suspending a SPAN Session

- Troubleshooting SPAN session issues

- Displaying SPAN Information

Information About SPAN

SPAN Sources

SPAN sources refer to the interfaces from which traffic can be monitored. The Cisco Nexus device supports Ethernet, Fibre Channel, virtual Fibre Channel, port channels, SAN port channels, VSANs and VLANs as SPAN sources. With VLANs or VSANs, all supported interfaces in the specified VLAN or VSAN are included as SPAN sources. You can choose the SPAN traffic in the ingress direction, the egress direction, or both directions for Ethernet, Fibre Channel, and virtual Fibre Channel source interfaces:

- Ingress source (Rx)—Traffic entering the device through this source port is copied to the SPAN destination port.

- Egress source (Tx)—Traffic exiting the device through this source port is copied to the SPAN destination port.

If the SPAN source interface sends more than 6-Gbps traffic or if traffic bursts too much, the device drops traffic on the source interface. You can use the switchport monitor rate-limit 1G command on the SPAN destination to reduce the dropping of actual traffic on the source interface; however, SPAN traffic is restricted to 1 Gbps. For additional information see Configuring the Rate Limit for SPAN Traffic

Note

The switchport monitor rate-limit 1G command is not supported on the Nexus 5500 platform.

On the Cisco Nexus 5548 device, Fibre Channel ports and VSAN ports cannot be configured as ingress source ports in a SPAN session.

Characteristics of Source Ports

A source port, also called a monitored port, is a switched interface that you monitor for network traffic analysis. The switch supports any number of ingress source ports (up to the maximum number of available ports on the switch) and any number of source VLANs or VSANs.

A source port has these characteristics:

- Cannot be a destination port.

- Can be configured with a direction (ingress, egress, or both) to monitor. For VLAN and VSAN sources, the monitored direction can only be ingress and applies to all physical ports in the group. The RX/TX option is not available for VLAN or VSAN SPAN sessions.

- There is no limit to the number of egress SPAN ports, but there is upper limit of 128 source ports in the monitor session.

- Port Channel and SAN Port Channel interfaces can be configured as ingress or egress source ports.

- Can be in the same or different VLANs or VSANs.

- For VLAN or VSAN SPAN sources, all active ports in the source VLAN or VSAN are included as source ports.

Note

- If some of the FEX ports are being used by a SPAN session as source ports, the remaining FEX ports cannot be a part of a different SPAN session.

- The maximum number of source ports per SPAN session is 128 ports.

- The maximum number of SPAN sessions supported on the Nexus 5000 Series and Nexus 5500 Series switches is 4.

- The maximum number of SPAN sessions supported on the Nexus 5600 Series and Nexus 6000 Series switches is 16.

SPAN Destinations

SPAN destinations refer to the interfaces that monitors source ports. The Cisco Nexus Series device supports Ethernet and Fibre Channel interfaces as SPAN destinations.

Source SPAN

Dest SPAN

Ethernet

Ethernet

Fibre Channel

Fibre Channel

Fibre Channel

Ethernet (FCoE)

Virtual Fibre Channel

Fibre Channel

Virtual Fibre Channel

Ethernet (FCoE)

Characteristics of Destination Ports

Each local SPAN session must have a destination port (also called a monitoring port) that receives a copy of traffic from the source ports, VSANs, or VLANs. A destination port has these characteristics:

- Cannot be a source port.

- Cannot be a port channel or SAN port channel group.

- Does not participate in spanning tree while the SPAN session is active.

- Is excluded from the source list and is not monitored if it belongs to a source VLAN of any SPAN session.

- Receives copies of sent and received traffic for all monitored source ports.

- The FEX interface cannot be a span destination.

Guidelines and Limitations for SPAN

SPAN traffic is rate-limited as follows on Nexus 5500 series switches to prevent a negative impact to production traffic:

- SPAN is rate-limited to 5 Gbps for every 8 ports (one ASIC).

- RX-SPAN is rate-limited to 0.71 Gbps per port when the RX-traffic on the port exceeds 5 Gbps.

Creating or Deleting a SPAN Session

You create a SPAN session by assigning a session number using the monitor session command. If the session already exists, any additional configuration information is added to the existing session.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# monitor session session-number

Enters the monitor configuration mode. New session configuration is added to the existing session configuration.

The following example shows how to configure a SPAN monitor session:

switch# configure terminal
switch(config) # monitor session 2
switch(config) #

Configuring an Ethernet Destination Port

You can configure an Ethernet interface as a SPAN destination port.

Note

The SPAN destination port can only be a physical port on the switch.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# interface ethernet slot/port

Enters interface configuration mode for the Ethernet interface with the specified slot and port.

Note:   To enable the switchport monitor command on virtual ethernet ports, you can use the interface vethernet slot/port command.

Step 3

switch(config-if)# switchport monitor

Enters monitor mode for the specified Ethernet interface. Priority flow control is disabled when the port is configured as a SPAN destination.

Step 4

switch(config-if)# exit

Reverts to global configuration mode.

Step 5

switch(config)# monitor session session-number

Enters monitor configuration mode for the specified SPAN session.

Step 6

switch(config-monitor)# destination interface ethernet slot/port

Configures the Ethernet SPAN destination port.

Note:   To enable the virtual ethernet port as destination interface in the monitor configuration, you can use the destination interface vethernet slot/port command.

The following example shows how to configure an Ethernet SPAN destination port (HIF):

switch# configure terminal
switch(config)# interface ethernet100/1/24
switch(config-if)# switchport monitor
switch(config-if)# exit
switch(config)# monitor session 1
switch(config-monitor)# destination interface ethernet100/1/24
switch(config-monitor)#

The following example shows how to configure a virtual ethernet (VETH) SPAN destination port:

switch# configure terminal
switch(config)# interface vethernet10
switch(config-if)# switchport monitor
switch(config-if)# exit
switch(config)# monitor session 2
switch(config-monitor)# destination interface vethernet10
switch(config-monitor)#

Configuring MTU Truncation for Each SPAN Session

To reduce the SPAN traffic bandwidth, you can configure the maximum bytes allowed for each replicated packet in a SPAN session. This value is called the maximum transmission unit (MTU) truncation size. Any SPAN packet larger than the configured size is truncated to the configured size.

Note

MTU Truncation is not supported for SPAN-on-Drop sessions.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # monitor session session-number

Enters monitor configuration mode and specifies the SPAN session for which the MTU truncation size is to be configured.

Step 3

switch(config-monitor) # [no] mtu

Configures the MTU truncation size for packets in the specified SPAN session. The range is from 64 to 1518 bytes.

Step 4

switch(config-monitor) # show monitor session session-number

(Optional)
Displays the status of SPAN sessions, including the configuration status of MTU truncation, the maximum bytes allowed for each packet per session, and the modules on which MTU truncation is and is not supported.

Step 5

switch(config-monitor) # copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

This example shows how to configure MTU truncation for a SPAN session:

switch# configure terminal
switch(config) # monitor session 3
switch(config-monitor) # mtu
switch(config-monitor) # copy running-config startup-config
switch(config-monitor) #

Configuring the Rate Limit for SPAN Traffic

By configuring a rate limit for SPAN traffic to 1Gbps across the entire monitor session, you can avoid impacting the monitored production traffic.

On Nexus 5000 series switches:

- When spanning more than 1Gbps to a 1 Gb SPAN destination interface, SPAN source traffic will not drop.

- When spanning more than 6 Gbps (but less than 10Gbps) to a 10Gb SPAN destination interface, the SPAN traffic is limited to 1Gbps even though the destination/sniffer is capable of 10Gbps.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# interface ethernet slot/port

Enters interface configuration mode for the specified Ethernet interface selected by the slot and port values.

Step 3

switch(config-if)# switchport monitor rate-limit 1G

Specifies that the rate limit is 1 Gbps.

Step 4

switch(config-if)# exit

Reverts to global configuration mode.

This example shows how to limit the bandwidth on Ethernet interface 1/2 to 1 Gbps:

switch(config)# interface ethernet 1/2
switch(config-if)# switchport monitor rate-limit 1G
switch(config-if)#

Configuring Fibre Channel Destination Port

Note

The SPAN destination port can only be a physical port on the switch.

You can configure a Fibre Channel port as a SPAN destination port.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config)# interface fc slot/port

Enters interface configuration mode for the specified Fibre Channel interface selected by the slot and port values.

Step 3

switch(config-if)# switchport mode SD

Sets the interface to SPAN destination (SD) mode.

Step 4

switch(config-if)# switchport speed 1000

Sets the interface speed to 1000. The auto speed option is not allowed.

Step 5

switch(config-if)# exit

Reverts to global configuration mode.

Step 6

switch(config)# monitor session session-number

Enters the monitor configuration mode.

Step 7

switch(config-monitor)# destination interface fc slot/port

Configures the Fibre Channel destination port.

The following example shows how to configure an Ethernet SPAN destination port:

switch# configure terminal
switch(config)# interface fc 2/4
switch(config-if)# switchport mode SD
switch(config-if)# switchport speed 1000
switch(config-if)# exit
switch(config)# monitor session 2
switch(config-monitor)# destination interface fc 2/4

Configuring Source Ports

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # monitor session session-number

Enters monitor configuration mode for the specified monitoring session.

Step 3

switch(config-monitor) # source interface type slot/port [rx | tx | both]

Adds an Ethernet SPAN source port and specifies the traffic direction in which to duplicate packets. You can enter a range of Ethernet, Fibre Channel, or virtual Fibre Channel ports. You can specify the traffic direction to duplicate as ingress (Rx), egress (Tx), or both. By default, the direction is both.

The following example shows how to configure a virtual Fibre Channel SPAN source port:

switch# configure terminal
switch(config)# monitor session 2
switch(config-monitor)# source interface vfc 129
switch(config-monitor)#

Configuring Source Port Channels, VSANs, or VLANs

You can configure the source channels for a SPAN session. These ports can be port channels SAN port channels, VSANs and VLANs. The monitored direction can be ingress, egress, or both and applies to all physical ports in the group.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # monitor session session-number

Enters monitor configuration mode for the specified SPAN session.

Step 3

switch(config-monitor) # source {interface {port-channel | san-port-channel} channel-number [rx | tx | both] | vlan vlan-range | vsan vsan-range }

Configures port channel, SAN port channel, VLAN, or VSAN sources. For VLAN or VSAN sources, the monitored direction is implicit.

The following example shows how to configure a port channel SPAN source:

switch# configure terminal
switch(config)# monitor session 2
switch(config-monitor)# source interface port-channel 1 rx
switch(config-monitor)# source interface port-channel 3 tx
switch(config-monitor)# source interface port-channel 5 both
switch(config-monitor)#

This example shows how to configure a SAN port channel SPAN source:

switch(config-monitor)#switch# configure terminal
switch(config)# monitor session 2
switch(config-monitor)# source interface san-port-channel 3 rx
switch(config-monitor)#

The following example shows how to configure a VLAN SPAN source:

switch# configure terminal
switch(config)# monitor session 2
switch(config-monitor)# source vlan 1
switch(config-monitor)#

switch(config-monitor)#This example shows how to configure a VSAN SPAN source:

switch(config-monitor)#switch# configure terminal
switch(config)# monitor session 2
switch(config-monitor)# source vsan 1
switch(config-monitor)#

Configuring the Description of a SPAN Session

For ease of reference, you can provide a descriptive name for a SPAN session.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # monitor session session-number

Enters monitor configuration mode for the specified SPAN session.

Step 3

switch(config-monitor) # description description

Creates a descriptive name for the SPAN session.

The following example shows how to configure a SPAN session description:

switch# configure terminal
switch(config) # monitor session 2
switch(config-monitor) # description monitoring ports eth2/2-eth2/4
switch(config-monitor) #

Activating a SPAN Session

The default is to keep the session state shut. You can open a session that duplicates packets from sources to destinations.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # no monitor session {all | session-number} shut

Opens the specified SPAN session or all sessions.

The following example shows how to activate a SPAN session:

switch# configure terminal
switch(config) # no monitor session 3 shut

Suspending a SPAN Session

By default, the session state is shut.

Note

The Cisco Nexus switch supports two active SPAN sessions. The Cisco Nexus 5548 Switch supports four active SPAN sessions. When you configure more than two SPAN sessions, the first two sessions are active. During startup, the order of active sessions is reversed; the last two sessions are active. For example, if you configured ten sessions 1 to 10 where 1 and 2 are active, after a reboot, sessions 9 and 10 will be active. To enable deterministic behavior, explicitly suspend the sessions 3 to 10 with the monitor session session-number shut command.

Procedure

Command or Action

Purpose

Step 1

switch# configure terminal

Enters global configuration mode.

Step 2

switch(config) # monitor session {all | session-number} shut

Suspends the specified SPAN session or all sessions.

The following example shows how to suspend a SPAN session:

switch# configure terminal
switch(config) # monitor session 3 shut
switch(config) #

Troubleshooting SPAN session issues

If a SPAN session is down, do the following:

- Check if one of the destination port is operational by performing the following:

- Use the show running interface interface command and check if the switchport monitor is configured.

- Use the show interface interface command and check if the destination interface shows the status as "admin up".

- Use the show interface interface command to check if one of the source port is operational and if the source interface shows the status as "admin up".

Troubleshooting SPAN session with large number of source ports issues

Troubleshooting SPAN session with large number of source ports

Problem Description

Solution

Recommendation

When a SPAN session is configured with maximum supported range of 128 source ports at one go, the configuration session may encounter "Service not responding" message.

Remove the ports and configure them in smaller ranges (example, 1 to 48) and then use the shutdown and no shutdown command on the session.

Configure the individual ports in small ranges (example, 1 to 48).

After using the shutdown and then no shutdown on a range of SPAN session configured with maximum of ports (example, 128), some sessions do not come up.

Remove some ports from the specific SPAN session. Add the removed ports back to the same SPAN session and then use the no shutdown command.

Use the shutdown command on each port.

After creating a SPAN session with 128 source ports, the no shutdown command displays a "Service not responding" message.

Use the no shutdown command repeatedly to bring up the SPAN session.

Displaying SPAN Information

Procedure

Command or Action

Purpose

Step 1

switch# show monitor [session {all | session-number | range session-range} [brief]]

Displays the SPAN configuration.

The following example shows how to display SPAN session information:

switch# show monitor
SESSION  STATE        REASON                  DESCRIPTION
-------  -----------  ----------------------  --------------------------------
2        up           The session is up
3        down         Session suspended
4        down         No hardware resource

The following example shows how to display SPAN session details:

switch# show monitor session 2
session 2
---------------
type              : local
state             : up
acl-name                    : acl1
source intf       :

source VLANs      :
rx            :
source VSANs      :
rx            : 1
destination ports : Eth3/1

Chapter 17. Configuring ERSPAN

This chapter contains the following sections:

- Information About ERSPAN

- Licensing Requirements for ERSPAN

- Prerequisites for ERSPAN

- Guidelines and Limitations for ERSPAN

- Default Settings for ERSPAN

Information About ERSPAN

ERSPAN transports mirrored traffic over an IP network, which provides remote monitoring of multiple switches across your network. The traffic is encapsulated at the source router and is transferred across the network. The packet is decapsulated at the destination router and then sent to the destination interface.

ERSPAN consists of an ERSPAN source session, routable ERSPAN generic routing encapsulation (GRE)-encapsulated traffic, and an ERSPAN destination session. You can separately configure ERSPAN source sessions and destination sessions on different switches.

- ERSPAN Source Sessions

- Monitored Traffic

- ERSPAN Sources

- Truncated ERSPAN

- Multiple ERSPAN Sessions

- High Availability

ERSPAN Source Sessions

An ERSPAN source session is defined by the following:

- A session ID.

- A list of source ports, source VLANs, or source VSANs to be monitored by the session.

- An ERSPAN flow ID.

- Optional attributes related to the GRE envelope such as IP TOS and TTL.

- Destination IP address.

- Virtual Routing and Forwarding tables.

ERSPAN source sessions do not copy ERSPAN GRE-encapsulated traffic from source ports. Each ERSPAN source session can have ports, VLANs, or VSANs as sources. However, there are some limitations. For more information, see Guidelines and Limitations for ERSPAN.

The following figure shows an example ERSPAN configuration.

ERSPAN Configuration

Monitored Traffic

By default, ERSPAN monitors all traffic, including multicast and bridge protocol data unit (BPDU) frames.

The direction of the traffic that ERSPAN monitors depends on the source, as follows:

- For a source port, the ERSPAN can monitor ingress, egress, or both ingress and egress traffic.

- For a source VLAN or source VSAN, the ERSPAN can monitor only ingress traffic.

ERSPAN Sources

The interfaces from which traffic can be monitored are called ERSPAN sources. Sources designate the traffic to monitor and whether to copy ingress, egress, or both directions of traffic. ERSPAN sources include the following:

- Source Ports—A source port is a port monitored for traffic analysis. You can configure source ports in any VLAN, and trunk ports can be configured as source ports and mixed with nontrunk source ports.

- Source VLANs—A source VLAN is a virtual local area network (VLAN) that is monitored for traffic analysis.

- Source VSANs—A source VSAN is a virtual storage area network (VSAN) that is monitored for traffic analysis.

Truncated ERSPAN

Truncated ERSPAN can be used to reduce the amount of fabric or network bandwidth used in sending ERSPAN packets.

The default is no truncation so switches or routers receiving large ERSPAN packets might drop these oversized packets.

Note

Do not enable the truncated ERSPAN feature if the destination ERSPAN router is a Cisco Nexus 6001 or Cisco Nexus 6004 switch because the Cisco Nexus 6000 Series switch drops these truncated packets.

Multiple ERSPAN Sessions

For information about shutting down ERSPAN sessions, see Shutting Down or Activating an ERSPAN Session.

High Availability

The ERSPAN feature supports stateless restarts. After a reboot, the running configuration is applied.

Licensing Requirements for ERSPAN

The following table shows the licensing requirements for this feature:

Product

License Requirement

Cisco NX-OS

ERSPAN requires no license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the License and Copyright Information for Cisco NX-OS Software available at the following URL: Click Here .

Prerequisites for ERSPAN

ERSPAN has the following prerequisite:

•You must first configure the Ethernet interfaces for ports on each device to support the desired ERSPAN configuration. For more information, see the Interfaces configuration guide for your platform.

Guidelines and Limitations for ERSPAN

ERSPAN has the following guidelines and limitations:

- Cisco Nexus 5000 Series switches support only ERSPAN source sessions. Destination sessions are not supported.

- The Cisco Nexus 5000 Series switch supports a maximum of 2 sessions.

- The Cisco Nexus 5500 Series switch supports a maximum of 4 sessions.

- The maximum number of ports for each ERSPAN session is 32.

- You can have source ports, source VLANs, and source VSANs in one ERSPAN session.

- On Cisco Nexus 5000 Series switches, ERSPAN can monitor ingress, egress, or both ingress and egress traffic on a source port and only ingress traffic on source VLANs or source VSANs as long as the VLAN is not mapped to a VSAN.

- On Cisco 5500 Series switches, source ports and source VLANs can be in the same ERSPAN session.

- ERSPAN traffic can exit the switch through a Layer 2 interface, Layer 3 interface, port channel, or FabricPath core port.

- The Cisco Nexus 5000 series switch cannot reach a destination IP address of a remote switch through a virtual Ethernet port or FEX port. This functionality is not supported.

- ERSPAN traffic is not load balanced if the reachability to a destination IP address is a Layer 3 ECMP or a port channel. In the case of ECMP, the ERSPAN traffic is sent to only one next-hop router or one member of the port channel.

- ERSPAN on the Cisco Nexus 5000 Series switch supports Fast Ethernet, Gigabit Ethernet, TenGigabit Ethernet, and port channel interfaces as source ports for a source session.

- When a session is configured through the ERSPAN configuration commands, the session ID and the session type cannot be changed. In order to change them, you must first use the no version of the configuration command to remove the session and then reconfigure the session.

- ERSPAN traffic might compete with regular data traffic.

- ERSPAN traffic is assigned to the QoS class-default system class (qos-group 0).

- To ensure that data traffic is prioritized over ERSPAN traffic, you can create a QoS system class with prioritization above the class-default system class on the ERSPAN destination port.

On Layer 3 networks, ERSPAN traffic can be marked with a the desired Differentiated Services Code Point (DSCP) value using the ip dscp command. By default, ERSPAN traffic is marked with a DSCP value of 0.

- Consider a scenario in which an ERSPAN session and a local SPAN session is configured on a switch. Egress ports on both sessions are different. However, the ingress port on the local SPAN session is also receiving GRE-encapsulated traffic from the ERSPAN session. In such a scenario, the local SPAN session captures only the non-GRE-encapsulated traffic from the port that is defined as the source.

- ERSPAN can monitor ingress traffic on a source VSAN only on Cisco Nexus 5010 and 5020 switches.

- ERSPAN cannot monitor egress traffic on source VLANs and VSANs on any Cisco Nexus 5000 Series switch.

- ERSPAN can monitor ingress, egress, or both ingress and egress traffic on a source port.

- VSANs as ERSPAN sources are not allowed on Cisco Nexus 5548 and 5596 switches.

- ERSPAN source sessions are supported on F3 Series modules. Beginning with Cisco NX-OS Release 7.0, ERPSPAN destination sessions are also supported on these modules. However, ERSPAN ACL sessions are not supported on F3 Series modules.

- The SPAN session ignores any permit or deny actions specified in the access-list, and spans only the packets that match the access-list filter criteria.

Default Settings for ERSPAN

The following table lists the default settings for ERSPAN parameters.

Default ERSPAN Parameters

Parameters

Default

ERSPAN sessions

Created in the shut state.

Truncated ERSPAN

Disabled.

Configuring an ERSPAN Source Session

The ERSPAN source session defines the session configuration parameters and the ports or VLANs to be monitored. This section describes how to configure an ERSPAN source session.

Procedure

Command or Action

Purpose

Step 1

configuration terminal

Example:

switch# config t
switch(config)#

Enters global configuration mode.

Step 2

monitor session span-session-number type {erspan-source | local}

Example:

switch(config)# monitor session 1 type erspan-source
switch(config-erspan-src)#

Defines an ERSPAN source session using the session ID and the session type, and places the command in ERSPAN monitor source session configuration mode.

The span-session-number argument range is from 1 to 1024. The same session number cannot be used more than once.

The session IDs for source sessions are in the same global ID space, so each session ID is globally unique for both session types.

The session ID (configured by the span-session-number argument) and the session type (configured by the erspan-source keyword) cannot be changed once entered. To change session ID or session type, use the no version of the command to remove the session and then recreate the session through the command with a new session ID or a new session type.

Step 3

description erspan_session_description

Example:

switch(config-erspan-src)# description source1

(Optional)
Describes the ERSPAN source session.

The erspan_session_description argument can be up to 240 characters and cannot contain special characters or spaces.

Step 4

source interface { ethernet slot/chassis number | portchannel number }

Example:

switch(config-erspan-src)# source interface eth 1/1

Associates the ERSPAN source session number with the source ports (1-255).

Step 5

source vlan number

Example:

switch(config-erspan-src)# source vlan 1

Associates the ERSPAN source session number with the VLANs (1-4096).

Step 6

source vsan number

Example:

switch(config-erspan-src)# source vsan 1

On Cisco Nexus 5000 Series switches, specifies the VSAN ID number. The range is 1 to 4093. On Cisco Nexus 5500 Series switches, you cannot configure source VSANs.

Step 7

destination ip ip-address

Example:

switch(config-erspan-src)# destination ip 192.0.2.2

Configures the destination IP address in the ERSPAN session. Only one destination IP address is supported per ERSPAN source session.

Step 8

erspan-id flow-id

Example:

switch(config-erspan-src)# erspan-id 5

Configures the flow ID to identify the ERSPAN flow. The range is from 1 to 1023.

Step 9

vrf {vrf-name | default }

Example:

switch(config-erspan-src)# vrf default

Configures the VRF to use instead of the global routing table. You can use a VRF that you have specifically configured or the default VRF.

Step 10

ip ttl ttl-number

Example:

switch(config-erspan-src)# ip ttl 5

(Optional)
Configures the IP time-to-live (TTL) value of the packets in the ERSPAN traffic. Valid values are from 1 to 255. The default value is 255.

Step 11

ip dscp dscp_value

Example:

switch(config-erspan-src)# ip dscp 42

(Optional)
Configures the IP Differentiated Services Code Point (DSCP) value of the packets in the ERSPAN traffic. Valid values are from 0 to 63. The default value is 0.

Step 12

no shut

Example:

switch(config-erspan-src)# no shut

Enables the ERSPAN source session. By default, the session is created in the shut state.
Note:
On Cisco Nexus 5000 Series switches, only two ERSPAN source sessions can be running simultaneously. On Cisco Nexus 5500 Series switches, up to four source sessions can be running simultaneously.

Step 13

exit

Example:

switch(config-erspan-src)# exit
switch(config)# exit

Updates the configuration and exits ERSPAN source session configuration mode.

Step 14

copy running-config startup-config

Example:

switch(config-erspan-src)# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

Configuring a Source Rate Limit for an ERSPAN Session

Depending upon the platform, each TCAM region might have a different minimum/maximum/aggregate size restriction. The default size of the EFP TCAM for IPv4 Egress VACL (e-vacl) is 512 and Egress RACL (e-racl) is 512.

To enable the ERSPAN rate-limit feature, you must carve e-racl TCAM region to program TCAM entry in the EFP TCAM to match on ERSPAN mirror copy traffic and provide policer result with the new configured rate-limit. If the default values of the egress TCAM are not changed or if the e-racl region has a non-zero value, then you need not explicitly carve TCAM to enable ERSPAN egress rate-limit feature. However, if the e-racl region was carved to be zero earlier then you must resize other TCAM regions to allocate entries for e-racl region. After TCAM carving, you must save the configuration and reload the switch.

Procedure

Command or Action

Purpose

Step 1

configure terminal

Example:

switch# config t
switch(config)#

Enters global configuration mode.

Step 2

monitor session {session-number | all} type erspan-source

Example:

switch(config)# monitor session 1 type erspan-source
switch(config-erspan-src)#

Configures an ERSPAN source session.

Step 3

hardware profile tcam region {arpacl | {ipv6-e-racl | e-racl} | ifacl | ipsg | {ipv6-qos | qos} |qoslbl | {ipv6-racl | racl} | vacl } tcam_size

Changes the ACL TCAM region size.

- arpacl—Configures the size of the Address Resolution Protocol (ARP) ACL (ARPACL) TCAM region.

- e-racl—Configures the size of the egress router ACL (ERACL) TCAM region.

- e-vacl—Configures the size of the egress VLAN ACL (EVACL) TCAM region.

- ifacl—Configures the size of the interface ACL (ifacl) TCAM region. The maximum number of entries is 1500.

- ipsg—Configures the size of the IP Source Guard (IPSG) TCAM region.

- qos—Configures the size of the quality of service (QoS) TCAM region.

- qoslbl—Configures the size of the QoS Label (qoslbl) TCAM region.

- racl—Configures the size of the router ACL (RACL) TCAM region.

- vacl—Configures the size of the VLAN ACL (VACL) TCAM region.

- tcam_size—TCAM size. The range is from 0 to 2,14,74, 83, 647 entries.

Note:
vacl and e-vacl TCAM regions should be set to the same size. You must carve e-racl regions with non-zero TCAM values.

Step 4

copy running-config startup-config

Example:

switch(config)# copy running-config startup-config

Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

Step 5

switch(config)# show hardware profile tcam region

Example:

switch(config)# show hardware profile tcam region

Displays the TCAM sizes that will be applicable on the next reload of the switch.

Step 6

switch(config)# reload

Example:

switch(config)# reload

Copies the running configuration to the startup configuration.

Note:
The new size values are effective only upon the next reload after saving the copy running-config to startup-config.

Step 7

switch(config)# hardware rate-limit erspan-egress

Example:

switch(config)# hardware rate-limit erspan-egress 1000 kbps

Specifies the ERSPAN egress rate-limit.

Step 8

switch(config)# show hardware rate-limit erspan-egress

Example:

switch(config)# show hardware rate-limit erspan-egress

Displays the configured ERSPAN egress rate-limit and also the permitted and dropped ERSPAN traffic statistics.

Step 9

switch(config)# clear hardware rate-limit erspan-egress statistics

Example:

switch(config)# clear hardware rate-limit erspan-egress statistics

Clears the currently permitted and dropped ERSPAN traffic statistics.

The following example shows how to change the size of the e-VACL region:

switch(config)# hardware profile tcam region e-vacl 256
[SUCCESS] New tcam size will be applicable only at boot time.
You need to 'copy run start' and 'reload'

switch(config)# copy running-config startup-config
switch(config)# reload
WARNING: This command will reboot the system
Do you want to continue? (y/n) [n] y

The following example shows how to configure ERSPAN rate-limit:

switch# configure terminal
switch(config)# hardware rate-limit erspan-egress 1000 kbps

Configuring an Origin IP Address for ERSPAN Packets

You must configure an IP address to be used as the source of the ERSPAN traffic.

Procedure

Command or Action

Purpose

Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

monitor erspan origin ip-address ip_address

Example:

switch(config)# monitor erspan origin
ip-address 192.0.2.1

Configures an IP address to be used as the source of the ERSPAN traffic.

Step 3

exit

Example:

switch(config-erspan-src)# exit

Updates the configuration and exits ERSPAN source session configuration mode.

Step 4

copy running-config startup-config

Example:

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

Configuring Truncated ERSPAN

You can configure an MTU size for the ERSPAN traffic to reduce the amount of fabric or network bandwidth used in sending ERSPAN packets.

Procedure

Command or Action

Purpose

Step 1

enable

Example:

switch> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 3

monitor session erspan_session_number type {erspan-source | local}

Example:

switch(config)# monitor session 1 type
erspan-source
switch(config-erspan-src)#

Defines an ERSPAN source session using the session ID and the session type, and places the command in ERSPAN monitor source session configuration mode.

The span-session-number argument range is from 1 to 1024. The same session number cannot be used more than once.

The session IDs for source sessions are in the same global ID space, so each session ID is globally unique for both session types.

The session ID (configured by the span-session number argument) and the session type (configured by the erspan-source keyword) cannot be changed once entered. To change session ID or session type, use the no version of the command to remove the session and then re-create the session through the command with a new session ID or a new session type.

Step 4

mtu mtu-value

Example:

switch(config-erspan-src)# mtu 64

Defines the maximum transmission unit (MTU) truncation size for ERSPAN packets. Valid values are from 64 to 1518.

The default is no truncation enabled.

Step 5

exit

Example:

switch(config-mon-erspan-src)# exit

Updates the configuration and exits ERSPAN source session configuration mode.

Step 6

copy running-config startup-config

Example:

switch(config)# copy running-config startup-config

(Optional)
Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

Shutting Down or Activating an ERSPAN Session

You can shut down ERSPAN sessions to discontinue the copying of packets from sources to destinations. Because only a specific number of ERSPAN sessions can be running simultaneously, you can shut down a session to free hardware resources to enable another session. By default, ERSPAN sessions are created in the shut state.

You can enable ERSPAN sessions to activate the copying of packets from sources to destinations. To enable an ERSPAN session that is already enabled but operationally down, you must first shut it down and then enable it. You can shut down and enable the ERSPAN session states with either a global or monitor configuration mode command.

Procedure

Command or Action

Purpose

Step 1

configuration terminal

Example:

switch# configuration terminal
switch(config)#

Enters global configuration mode.

Step 2

monitor session {session-range | all} shut

Example:

switch(config)# monitor session 3 shut

Shuts down the specified ERSPAN sessions. The session range is from 1 to 48. By default, sessions are created in the shut state.

Note:

- In Cisco Nexus 5000 and 5500 platforms, two sessions can run simultaneously.

- In Cisco Nexus 5600 and 6000 platforms, 16 sessions can run simultaneously.

Step 3

no monitor session {session-range | all} shut

Example:

switch(config)# no monitor session 3 shut

Resumes (enables) the specified ERSPAN sessions. The session range is from 1 to 48. By default, sessions are created in the shut state. Only two sessions can be running at a time.
Note:
If a monitor session is enabled but its operational status is down, then to enable the session, you must first specify the monitor session shut command followed by the no monitor session shut command.

Step 4

monitor session session-number type erspan-source

Example:

switch(config)# monitor session 3 type erspan-source
switch(config-erspan-src)#

Enters the monitor configuration mode for the ERSPAN source type. The new session configuration is added to the existing session configuration.

Step 5

monitor session session-number type erspan-destination

Example:

switch(config-erspan-src)# monitor session 3 type erspan-destination

Enters the monitor configuration mode for the ERSPAN destination type.

Step 6

shut

Example:

switch(config-erspan-src)# shut

Shuts down the ERSPAN session. By default, the session is created in the shut state.

Step 7

no shut

Example:

switch(config-erspan-src)# no shut

Enables the ERSPAN session. By default, the session is created in the shut state.

Step 8

show monitor session all

Example:

switch(config-erspan-src)# show monitor session all

(Optional)
Displays the status of ERSPAN sessions.

Step 9

show running-config monitor

Example:

switch(config-erspan-src)# show running-config monitor

(Optional)
Displays the running ERSPAN configuration.

Step 10

show startup-config monitor

Example:

switch(config-erspan-src)# show startup-config monitor

(Optional)
Displays the ERSPAN startup configuration.

Step 11

copy running-config startup-config

Example:

switch(config-erspan-src)# copy running-config startup-config

(Optional)
Copies the running configuration to the startup configuration.

Verifying the ERSPAN Configuration

Use the following command to verify the ERSPAN configuration information:

Command

Purpose

show monitor session {all | session-number | range session-range}

Displays the ERSPAN session configuration.

show running-config monitor

Displays the running ERSPAN configuration.

show startup-config monitor

Displays the ERSPAN startup configuration.

Configuration Example for an ERSPAN Source Session

The following example shows how to configure an ERSPAN source session:

switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# monitor session 1 type erspan-source
switch(config-erspan-src)# description source1
switch(config-erspan-src)# source interface ethernet 1/1
switch(config-erspan-src)# source vlan 1
switch(config-erspan-src)# source vsan 1
switch(config-erspan-src)# destination ip 192.0.2.2
switch(config-erspan-src)# erspan-id 1
switch(config-erspan-src)# vrf default
switch(config-erspan-src)# ip ttl 5
switch(config-erspan-src)# ip dscp 5
switch(config-erspan-src)# no shut
switch(config-erspan-src)# exit
switch(config)# copy running-config startup config

switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# monitor session 1 type erspan-source
switch(config-erspan-src)# description source1
switch(config-erspan-src)# source interface ethernet 1/1
switch(config-erspan-src)# source vlan 1
switch(config-erspan-src)# source vsan 1
switch(config-erspan-src)# destination ip 192.0.2.2
switch(config-erspan-src)# erspan-id 1
switch(config-erspan-src)# vrf default
switch(config-erspan-src)# ip ttl 5
switch(config-erspan-src)# ip dscp 5
switch(config-erspan-src)# no shut
switch(config-erspan-src)# exit
switch(config)# copy running-config startup config

Configuration Example for an IP Address as the Source for an ERSPAN Session

This example shows how to configure an IP address as the source for an ERSPAN session:

switch# configure terminal
switch(config)# monitor erspan origin ip-address 192.0.2.1
switch(config)#  exit
switch(config)# copy running-config startup config

Configuration Example for Truncated ERSPAN

This example shows how to configure truncated ERSPAN:

switch# configure terminal
switch(config)# monitor session 1 type erspan-source
switch(config-erspan-src)# mtu 64
switch(config-mon-erspan-src)# exit
switch(config)# copy running-config startup config

Related Documents

Related Topic

Document Title

ERSPAN commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples

Cisco Nexus NX-OS System Management Command Reference for your platform.

Preface

The preface contains the following sections:

- Audience

- Document Conventions

- Documentation Feedback

- Obtaining Documentation and Submitting a Service Request

Audience

This publication is for network administrators who configure and maintain Cisco Nexus devices and Cisco Nexus 2000 Series Fabric Extenders.

Document Conventions

Note

As part of our constant endeavor to remodel our documents to meet our customers' requirements, we have modified the manner in which we document configuration tasks. As a result of this, you may find a deviation in the style used to describe these tasks, with the newly included sections of the document following the new format.

Command descriptions use the following conventions:

Convention

Description

bold

Bold text indicates the commands and keywords that you enter literally as shown.

Italic

Italic text indicates arguments for which the user supplies the values.

[x]

Square brackets enclose an optional element (keyword or argument).

[x | y]

Square brackets enclosing keywords or arguments separated by a vertical bar indicate an optional choice.

{x | y}

Braces enclosing keywords or arguments separated by a vertical bar indicate a required choice.

[x {y | z}]

Nested set of square brackets or braces indicate optional or required choices within optional or required elements. Braces and a vertical bar within square brackets indicate a required choice within an optional element.

variable

Indicates a variable for which you supply values, in context where italics cannot be used.

string

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

Examples use the following conventions:

Convention

Description

screen font

Terminal sessions and information the switch displays are in screen font.

boldface screen font

Information you must enter is in boldface screen font.

italic screen font

Arguments for which you supply values are in italic screen font.

< >

Nonprinting characters, such as passwords, are in angle brackets.

[ ]

Default responses to system prompts are in square brackets.

!, #

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

This document uses the following conventions:

Note

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

Caution

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

Documentation Feedback

To provide technical feedback on this document, or to report an error or omission, please send your comments to: nexus5k-docfeedback@cisco.com.

We appreciate your feedback.

Obtaining Documentation and Submitting a Service Request

For information on obtaining documentation, using the Cisco Bug Search Tool (BST), submitting a service request, and gathering additional information, see What's New in Cisco Product Documentation.

To receive new and revised Cisco technical content directly to your desktop, you can subscribe to the What's New in Cisco Product Documentation RSS feed. RSS feeds are a free service.

Full Cisco Trademarks with Software License

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

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

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

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

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

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

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