Table Of Contents
Related Features and Technologies
Supported Standards, RFCs, and MIBs
Enabling and Disabling IfIndex Persistence Globally
Enabling and Disabling IfIndex Persistence on Specific Interfaces
Enabling IfIndex Persistence on All Interfaces Example
Enabling IfIndex Persistence on a Specific Interface Example
Disabling IfIndex Persistence on a Specific Interface Example
Clearing IfIndex Persistence Configuration from a Specific Interface Example
Interface Index Persistence
This feature module describes the enhancement to Cisco IOS Release 12.0(11)S which allows interfaces to be identified with unique values which will remain constant even when a device is rebooted. These interface identification values are used for network monitoring and management using Simple Network Management Protocol (SNMP). This document includes the following sections:
•
Supported Standards, RFCs, and MIBs
Feature Overview
One of the most commonly used identifiers used in SNMP-based network management applications is the interface index (ifIndex) value. IfIndex is a unique identifying number associated with a physical or logical interface; as far as most software is concerned, the ifIndex is the "name" of the interface.
Though there is no requirement in the relevant RFCs that the correspondence between particular ifIndex values and their interfaces be maintained across reboots, increasingly applications such as device inventory, billing, and fault detection depend on this correspondence being maintained.
Cisco IOS Release 12.0(11)S adds support for an ifIndex value that can persist across reboots, allowing users to avoid the workarounds previously required for consistent interface identification.
It is currently possible to poll the router at regular intervals to correlate the interfaces to the ifIndex, but it is not practical to poll this interface constantly. If this data is not correlated constantly however, the data may be made invalid because of a re-boot or new card inserted into the router in between polls. Therefore, ifIndex persistence is the only way to guarantee data integrity.
IfIndex persistence means that the mapping between the ifDescr object values and the ifIndex object values (generated from the IF-MIB) will be retained across reboots.
Benefits
Association of Interfaces with Traffic Targets for Network Management
The IfIndex Persistence feature allows for greater accuracy when collecting and processing network management data by uniquely identifying input and output interfaces for traffic flows and SNMP statistics. By relating each interface to a known entity (such as a ISP customer), network management data can be more effectively utilized.
Accuracy for Mediation, Fault Detection, and Billing
With the international growth and reliance of network data being used for usage-based billing, network planning, policy enforcement, and trending analysis, it becomes increasingly important to be extremely accurate when collecting and processing network management data. The ifIndex information is used to identify input and output interfaces for traffic flows and SNMP statistics. Not being able to reliably relate each interface to a known entity such as a customer invalidates the data.
Restrictions
The interface-specific ifIndex persistence command ([no] snmp ifindex persistence) can not be used on subinterfaces. A command applied to an interface is automatically applied to all the subinterfaces associated with that interface.
Testing indicates approximately 25 bytes of NVRAM storage is used by this feature per interface. There may be some boot delay on platforms with lower CPU speeds.
Related Features and Technologies
•
SNMP (Simple Network Management Protocol)
•
RMON (Remote Monitoring)
•
Expression MIB
•
Event MIB
Related Documents
•
The "Configuring SNMP Support" chapter of the Cisco IOS Configuration Fundamentals Configuration Guide, Release 12.1 (available on CCO)
•
The "SNMP Commands" chapter of the Cisco IOS Configuration Fundamentals Command Reference, Release 12.1 (available on CCO)
•
"Ethernet-like Interfaces MIB and Interfaces Group MIB Enhancements" Feature Module, Cisco IOS Release 12.1(2)T (available on CCO).
•
RFC 2233, "The Interfaces Group MIB using SMIv2"
RFCs are available from a variety of internet sources. The primary source is the IETF's web site at http://www.ietf.org
Supported Platforms
For Cisco IOS Release 12.0(11)S and later, this feature is supported on the following platforms:
•
Cisco 7200 Series
•
Cisco 7500 Series
•
Cisco 12000 GSR Family
Supported Standards, RFCs, and MIBs
The Interface Index Persistence feature supports the following standards, RFCs and MIBs:
Standards
No standards are supported by this feature (ifIndex persistence is not required by RFC2233).
RFCs
•
RFC 2233, "The Interfaces Group MIB using SMIv2", K. McCloghrie, F. Kastenholz
MIBs
•
Interfaces MIB (IF-MIB)
Note that this feature does not change any exisiting MIBs or add any new MIBs.
For lists of MIBs supported by Platform and Cisco IOS Release, and to download MIB modules, go to the Cisco MIB website on CCO at http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.
Prerequisites
The configuration tasks described below assume you have configured SNMP on your routing device and are using SNMP to monitor network activity using the Cisco IOS command line interface or a network management application.
Configuration Tasks
See the following sections for configuration tasks for the Interface Index Persistence feature. Each task in the list indicates if the task is optional or required.
•
Enabling and Disabling IfIndex Persistence Globally (Optional)
•
Enabling and Disabling IfIndex Persistence on Specific Interfaces (Optional)
Enabling and Disabling IfIndex Persistence Globally
IfIndex persistence is disabled by default. To globally enable ifIndex values that are maintained across reboots, use the following command in global configuration mode:
Command PurposeRouter(config)# snmp-server ifindex persist
Globally enables ifIndex values which will remain constant across reboots.
To globally disable ifIndex persistence after enabling it, use the following command in global configuration mode:
Note
After issuing ifIndex persistence commands, the configuration must be saved using the copy running-config startup-config EXEC mode command to ensure consistent ifIndex values.
Enabling and Disabling IfIndex Persistence on Specific Interfaces
To enable ifIndex persistence only on a specific interface, use the following commands, starting in global configuration mode:
To disable ifIndex persistence only on a specific interface, use the following commands, starting in global configuration mode:
To clear the interface-specific ifIndex persistence setting and configure the interface to use the global configuration setting, use the following commands, starting in global configuration mode:
When you clear the interface-specific setting, only the global ifIndex persistence setting will apply to that interface. Regardless of whether the specific interface has ifIndex persistence enabled or disabled, after you issue the snmp ifindex clear command, the ifIndex persistence setting will default to the global setting.
For example, assume you enabled ifIndex persistence on interface ethernet 0/1, then globally enabled ifIndex persistence. Using the snmp ifindex clear command in interface configuration mode for ethernet 0/1 would leave that interface with ifIndex enabled, because the global setting is to have ifIndex persistence enabled.
Likewise, if you disabled ifIndex persistence for ethernet 0/1, globally enabled ifIndex persistence, then issued the snmp ifindex clear command on that interface, ifIndex would be enabled (the global setting) on that interface.
Tips
Use the snmp ifindex clear command on a specific interface when you want that interface to use the global configuration setting for ifIndex persistence. This command clears any ifIndex configuration commands previously entered for that specific interface.
.
Verifying IfIndex Persistence
Use the more system:running-config command to verify that ifIndex commands are configured.
Configuration Examples
This section provides the following configuration examples:
•
Enabling IfIndex Persistence on All Interfaces Example
•
Enabling IfIndex Persistence on a Specific Interface Example
•
Disabling IfIndex Persistence on a Specific Interface Example
•
Clearing IfIndex Persistence Configuration from a Specific Interface Example
Enabling IfIndex Persistence on All Interfaces Example
In the following example, ifIndex persistence is enabled for all interfaces:
router(config)# snmp-server ifindex persistEnabling IfIndex Persistence on a Specific Interface Example
In the following example, ifIndex persistence is enabled for interface ethernet 0/1 only:
router(config)# interface ethernet 0/1router(config-if)# snmp ifindex persistrouter(config-if)# exitDisabling IfIndex Persistence on a Specific Interface Example
In the following example, ifIndex persistence is enabled for interface ethernet 0/1 only:
router(config)# interface ethernet 0/1router(config-if)# no snmp ifindex persistrouter(config-if)# exitClearing IfIndex Persistence Configuration from a Specific Interface Example
In the following example, any previous setting for ifIndex persistence on interface ethernet 0/1 is removed from the configuration. If ifIndex persistence is globally enabled, ifIndex persistence will be enabled for ethernet 0/1. If ifIndex persistence is globally disabled, ifIndex persistence will be disabled for ethernet 0/1:
router(config)# interface ethernet 0/1router(config-if)# snmp ifindex clearrouter(config-if)# exitCommand Reference
This section documents new commands. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command reference publications.
snmp ifindex clear
To clear any previously configured snmp ifIndex commands issued in interface configuration mode on a specific interface, use the snmp ifindex clear command in interface configuration mode.
snmp ifindex clear
Syntax Description
This command has no arguments or keywords.
Defaults
None
Command Modes
Interface configuration mode
Command History
Usage Guidelines
Use the snmp ifindex clear command on a specific interface when you want that interface to use the global configuration setting for ifIndex persistence. This command clears any ifIndex configuration commands previously entered for that specific interface.
Examples
In the following example, ifIndex persistence is enabled for all interfaces:
router(config)# snmp-server ifindex persistIfIndex persistence is then disabled for ethernet 0/1 only:
router(config)# interface ethernet 0/1router(config-if)# no snmp ifindex persistrouter(config-if)# exit
Later, the ifIndex configuration command is cleared from the configuration for ethernet 0/1:
router(config)# interface ethernet 0/1router(config-if)# snmp ifindex clearrouter(config-if)# exit
This leaves ifIndex persistence enabled for all interfaces, as specified by the snmp-server ifindex persist global configuration command.
Related Commands
snmp ifindex persist
To enable ifIndex values in the IF-MIB which persist across reboots (ifIndex persistence) only on a specific interface, use the snmp ifindex persist command in interface configuration mode. To disable ifIndex persistence only a specific interface, use the no form of this command in interface configuration mode.
snmp ifindex persist
no snmp ifindex persist
Syntax Description
This command has no arguments or keywords.
Defaults
This command is disabled by default.
Command Modes
Interface configuration mode
Command History
Usage Guidelines
The snmp-server ifindex persistence global configuration command enables and disables ifIndex persistence for all interfaces on the routing device using ifDescr and ifIndex entries in the ifIndex table. The snmp ifindex persistence interface configuration command enables and disables persistence for individual entries (corresponding to individual interfaces) in the ifIndex table.
IfIndex commands configured for an interface apply to all subinterfaces on that interface.
Examples
In the following example, ifIndex persistence is enabled for interface ethernet 0/1 only:
router(config)# interface ethernet 0/1router(config-if)# snmp ifindex persistrouter(config-if)# exitIn the following example, ifIndex persistence is disabled for interface ethernet 0/1 only:
router(config)# interface ethernet 0/1router(config-if)# no snmp ifindex persistrouter(config-if)# exit
Related Commands
snmp-server ifindex persist
To globally enable ifIndex values which will remain constant across reboots for use by SNMP, use the snmp-server ifindex persist command in global configuration mode. To globally disable ifIndex persistence, use the no form of this command in global configuration mode.
snmp-server ifindex persist
no snmp-server ifindex persist
Syntax Description
This command has no arguments or keywords.
Defaults
This command is disabled by default.
Command Modes
Global configuration mode
Command History
Usage Guidelines
The snmp-server ifindex persist global configuration command will not override interface-specific configuration. Interface-specific configuration of ifIndex persistence is performed with the [no] snmp ifindex persist interface configuration command and the snmp ifindex clear interface configuration command.
The [no] snmp-server ifindex persist global configuration command enables and disables ifIndex persistence for all interfaces on the routing device using ifDescr and ifIndex entries in the ifIndex table of the IF-MIB.
Examples
In the following example, ifIndex persistence is enabled for all interfaces:
router(config)# snmp-server ifindex persistIn the following example, ifIndex persistence is disabled for all interfaces:
router(config)# no snmp-server ifindex persist
Note that these commands will not override any interface-specific ifIndex configuration.
Related Commands
Glossary
The following definitions are from RFC 2233, "The Interfaces Group MIB using SMIv2"1 :
Note
Although RFC 2233 does not require ifIndex persistence, it is necessary at certain times for the assignment of ifIndex values to change after reinitialization of the agent (such as a reboot).
ifDescr—"A textual string containing information about the interface. This string should include the name of the manufacturer, the product name and the version of the interface hardware/software."
1 Copyright (C) The Internet Society (1997). All Rights Reserved:
1 "This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English."


