-- *------------------------------------------------------------------ -- * CISCO-CEF-MIB.my: Cisco CEF MIB. -- * -- * Jan 2006, Rohit Mendiratta -- * -- * This MIB module is used to manage CISCO Express Forwarding -- * (CEF). -- * -- * Copyright (c) 2006 by Cisco Systems, Inc. -- * All rights reserved. -- * -- *------------------------------------------------------------------ CISCO-CEF-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter64, Counter32, Integer32, Gauge32, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TimeStamp, RowStatus, TruthValue, TestAndIncr FROM SNMPv2-TC CounterBasedGauge64 FROM HCNUM-TC ifIndex, InterfaceIndexOrZero FROM IF-MIB entPhysicalIndex, PhysicalIndex FROM ENTITY-MIB InetAddressType, InetAddress, InetAddressPrefixLength FROM INET-ADDRESS-MIB SnmpAdminString FROM SNMP-FRAMEWORK-MIB MplsVpnId FROM MPLS-VPN-MIB EntPhysicalIndexOrZero FROM CISCO-TC CefIpVersion, CefAdjLinkType, CefAdjacencySource, CefPathType, CefPrefixSearchState, CefForwardingElementSpecialType, CefMplsLabelList, CefAdminStatus, CefOperStatus, CefFailureReason, CefCCType, CefCCAction, CefCCStatus FROM CISCO-CEF-TC ciscoMgmt FROM CISCO-SMI; ciscoCefMIB MODULE-IDENTITY LAST-UPDATED "200601300000Z" ORGANIZATION "Cisco System, Inc." CONTACT-INFO "Postal: Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA Tel: +1 800 553-NETS E-mail: cs-cef@cisco.com" DESCRIPTION "Cisco Express Forwarding (CEF) describes a high speed switching mechanism that a router uses to forward packets from the inbound to the outbound interface. CEF uses two sets of data structures or tables, which it stores in router memory: Forwarding information base (FIB) - Describes a database of information used to make forwarding decisions. It is conceptually similar to a routing table or route-cache, although its implementation is different. Adjacency - Two nodes in the network are said to be adjacent if they can reach each other via a single hop across a link layer. CEF path is a valid route to reach to a destination IP prefix. Multiple paths may exist out of a router to the same destination prefix. CEF Load balancing capability share the traffic to the destination IP prefix over all the active paths. After obtaining the prefix in the CEF table with the longest match, output forwarding follows the chain of forwarding elements. Forwarding element (FE) may process the packet, forward the packet, drop or punt the packet or it may also pass the packet to the next forwarding element in the chain for further processing. Forwarding Elements are of various types but this MIB only represents the forwarding elements of adjacency and label types. Hence a forwarding element chain will be represented as a list of labels and adjacency. The adjacency may point to a forwarding element list again, if it is not the last forwarding element in this chain. For the simplest IP forwarding case, the prefix entry will point at an adjacency forwarding element. The IP adjacency processing function will apply the output features, add the encapsulation (performing any required fixups), and may send the packet out. If loadbalancing is configured, the prefix entry will point to lists of forwarding elements. One of these lists will be selected to forward the packet. Each forwarding element list dictates which of a set of possible packet transformations to apply on the way to the same neighbour. The following diagram represents relationship between three of the core tables in this MIB module. cefPrefixTable cefFESelectionTable +---------------+ points +--------------+ | | | | a set +----> | | | | | |---------------| of FE | |--------------| | | | | Selection | | | | | | |---------------| Entries | |--------------| | | | |------------+ | |<----+ |---------------| |--------------| | | | +--------------| | | | | | +---------------+ | +--------------+ | | | points to an | adjacency entry | | | | cefAdjTable | | +---------------+ may point | +->| | | | to a set | |---------------| of FE | | | | | Selection | |---------------| Entries | | | | |----------------+ |---------------| | | +---------------+ Some of the Cisco series routers (e.g. 7500 & 12000) support distributed CEF (dCEF), in which the line cards (LCs) make the packet forwarding decisions using locally stored copies of the same Forwarding information base (FIB) and adjacency tables as the Routing Processor (RP). Inter-Process Communication (IPC) is the protocol used by routers that support distributed packet forwarding. CEF updates are encoded as external Data Representation (XDR) information elements inside IPC messages. This MIB reflects the distributed nature of CEF, e.g. CEF has different instances running on the RP and the line cards. There may be instances of inconsistency between the CEF forwarding databases(i.e between CEF forwarding database on line cards and the CEF forwarding database on the RP). CEF consistency checkers (CC) detects this inconsistency. When two databases are compared by a consistency checker, a set of records from the first (master) database is looked up in the second (slave). There are two types of consistency checkers, active and passive. Active consistency checkers are invoked in response to some stimulus, i.e. when a packet cannot be forwarded because the prefix is not in the forwarding table or in response to a Management Station request. Passive consistency checkers operate in the background, scanning portions of the databases on a periodic basis. The full-scan checkers are active consistency checkers which are invoked in response to a Management Station Request. If 64-bit counter objects in this MIB are supported, then their associated 32-bit counter objects must also be supported. The 32-bit counters will report the low 32-bits of the associated 64-bit counter count (e.g., cefPrefixPkts will report the least significant 32 bits of cefPrefixHCPkts). The same rule should be applied for the 64-bit gauge objects and their assocaited 32-bit gauge objects. If 64-bit counters in this MIB are not supported, then an agent MUST NOT instantiate the corresponding objects with an incorrect value; rather, it MUST respond with the appropriate error/exception condition (e.g., noSuchInstance or noSuchName). Counters related to CEF accounting (e.g., cefPrefixPkts) MUST NOT be instantiated if the corresponding accounting method has been disabled. This MIB allows configuration and monitoring of CEF related objects." REVISION "200601300000Z" DESCRIPTION "Initial version of this MIB module." ::= { ciscoMgmt 492 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- CISCO CEF MIB Object Groups -- -- This MIB module contains the following groups: -- CEF FIB Group -- CEF Adjacency Group -- CEF Forwarding Element Group -- CEF Cfg Group -- CEF Interface Group -- CEF Peer Group -- CEF Consistency Checker (CC) group -- CEF Stats Group -- CEF Notification Control Group. -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ ciscoCefMIBNotifs OBJECT IDENTIFIER ::= {ciscoCefMIB 0} ciscoCefMIBObjects OBJECT IDENTIFIER ::= {ciscoCefMIB 1} ciscoCefMIBConform OBJECT IDENTIFIER ::= {ciscoCefMIB 2} cefFIB OBJECT IDENTIFIER ::= { ciscoCefMIBObjects 1 } cefAdj OBJECT IDENTIFIER ::= { ciscoCefMIBObjects 2 } cefFE OBJECT IDENTIFIER ::= { ciscoCefMIBObjects 3 } cefGlobal OBJECT IDENTIFIER ::= { ciscoCefMIBObjects 4 } cefInterface OBJECT IDENTIFIER ::= { ciscoCefMIBObjects 5 } cefPeer OBJECT IDENTIFIER ::= { ciscoCefMIBObjects 6 } cefCC OBJECT IDENTIFIER ::= { ciscoCefMIBObjects 7 } cefStats OBJECT IDENTIFIER ::= { ciscoCefMIBObjects 8 } cefNotifCntl OBJECT IDENTIFIER ::= { ciscoCefMIBObjects 9 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF FIB Summary -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefFIBSummary OBJECT IDENTIFIER ::= { cefFIB 1 } cefFIBSummaryTable OBJECT-TYPE SYNTAX SEQUENCE OF CefFIBSummaryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the summary information for the cefPrefixTable." ::= { cefFIBSummary 1 } cefFIBSummaryEntry OBJECT-TYPE SYNTAX CefFIBSummaryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device, each entry contains the FIB summary related attributes for the managed entity. A row may exist for each IP version type (v4 and v6) depending upon the IP version supported on the device. entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, cefFIBIpVersion } ::= { cefFIBSummaryTable 1} CefFIBSummaryEntry ::= SEQUENCE { cefFIBIpVersion CefIpVersion, cefFIBSummaryFwdPrefixes Unsigned32 } cefFIBIpVersion OBJECT-TYPE SYNTAX CefIpVersion MAX-ACCESS not-accessible STATUS current DESCRIPTION "The version of IP forwarding." ::= { cefFIBSummaryEntry 1 } cefFIBSummaryFwdPrefixes OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of forwarding Prefixes in FIB for the IP version specified by cefFIBIpVersion object." ::= { cefFIBSummaryEntry 2 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Forwarding Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefPrefixTable OBJECT-TYPE SYNTAX SEQUENCE OF CefPrefixEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of CEF forwarding prefixes." ::= { cefFIB 2 } cefPrefixEntry OBJECT-TYPE SYNTAX CefPrefixEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device, each entry contains the forwarding prefix attributes. CEF prefix based non-recursive stats are maintained in internal and external buckets (depending upon the value of cefIntNonrecursiveAccouting object in the CefIntEntry). entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, cefPrefixType, cefPrefixAddr, cefPrefixLen } ::= { cefPrefixTable 1} CefPrefixEntry ::= SEQUENCE { cefPrefixType InetAddressType, cefPrefixAddr InetAddress, cefPrefixLen InetAddressPrefixLength, cefPrefixForwardingInfo SnmpAdminString, cefPrefixPkts Counter32, cefPrefixHCPkts Counter64, cefPrefixBytes Counter32, cefPrefixHCBytes Counter64, cefPrefixInternalNRPkts Counter32, cefPrefixInternalNRHCPkts Counter64, cefPrefixInternalNRBytes Counter32, cefPrefixInternalNRHCBytes Counter64, cefPrefixExternalNRPkts Counter32, cefPrefixExternalNRHCPkts Counter64, cefPrefixExternalNRBytes Counter32, cefPrefixExternalNRHCBytes Counter64 } cefPrefixType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Network Prefix Type. This object specifies the address type used for cefPrefixAddr. Prefix entries are only valid for the address type of ipv4(1) and ipv6(2)." ::= { cefPrefixEntry 1 } cefPrefixAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Network Prefix Address. The type of this address is determined by the value of the cefPrefixType object. This object is a Prefix Address containing the prefix with length specified by cefPrefixLen. Any bits beyond the length specified by cefPrefixLen are zeroed." ::= { cefPrefixEntry 2 } cefPrefixLen OBJECT-TYPE SYNTAX InetAddressPrefixLength MAX-ACCESS not-accessible STATUS current DESCRIPTION "Length in bits of the FIB Address prefix." ::= { cefPrefixEntry 3 } cefPrefixForwardingInfo OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the associated forwarding element selection entries in cefFESelectionTable. The value of this object is index value (cefFESelectionName) of cefFESelectionTable." ::= { cefPrefixEntry 4 } cefPrefixPkts OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable per prefix accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'perPrefix' accounting), then this object represents the number of packets switched to this prefix." ::= { cefPrefixEntry 5 } cefPrefixHCPkts OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable per prefix accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'perPrefix' accounting), then this object represents the number of packets switched to this prefix. This object is a 64-bit version of cefPrefixPkts." ::= { cefPrefixEntry 6 } cefPrefixBytes OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable per prefix accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'perPrefix' accounting), then this object represents the number of bytes switched to this prefix." ::= { cefPrefixEntry 7 } cefPrefixHCBytes OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable per prefix accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'perPrefix' accounting), then this object represents the number of bytes switched to this prefix. This object is a 64-bit version of cefPrefixBytes." ::= { cefPrefixEntry 8 } cefPrefixInternalNRPkts OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable non-recursive accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'nonRecursive' accounting), then this object represents the number of non-recursive packets in the internal bucket switched using this prefix." ::= { cefPrefixEntry 9 } cefPrefixInternalNRHCPkts OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable non-recursive accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'nonRecursive' accounting), then this object represents the number of non-recursive packets in the internal bucket switched using this prefix. This object is a 64-bit version of cefPrefixInternalNRPkts." ::= { cefPrefixEntry 10 } cefPrefixInternalNRBytes OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable nonRecursive accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'nonRecursive' accounting), then this object represents the number of non-recursive bytes in the internal bucket switched using this prefix." ::= { cefPrefixEntry 11 } cefPrefixInternalNRHCBytes OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable nonRecursive accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'nonRecursive' accounting), then this object represents the number of non-recursive bytes in the internal bucket switched using this prefix. This object is a 64-bit version of cefPrefixInternalNRBytes." ::= { cefPrefixEntry 12 } cefPrefixExternalNRPkts OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable non-recursive accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'nonRecursive' accounting), then this object represents the number of non-recursive packets in the external bucket switched using this prefix." ::= { cefPrefixEntry 13 } cefPrefixExternalNRHCPkts OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable non-recursive accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'nonRecursive' accounting), then this object represents the number of non-recursive packets in the external bucket switched using this prefix. This object is a 64-bit version of cefPrefixExternalNRPkts." ::= { cefPrefixEntry 14 } cefPrefixExternalNRBytes OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable nonRecursive accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'nonRecursive' accounting), then this object represents the number of non-recursive bytes in the external bucket switched using this prefix." ::= { cefPrefixEntry 15 } cefPrefixExternalNRHCBytes OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "If CEF accounting is set to enable nonRecursive accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'nonRecursive' accounting), then this object represents the number of non-recursive bytes in the external bucket switched using this prefix. This object is a 64-bit version of cefPrefixExternalNRBytes." ::= { cefPrefixEntry 16 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Longest Match Prefix Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefLMPrefixSpinLock OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "An advisory lock used to allow cooperating SNMP Command Generator applications to coordinate their use of the Set operation in creating Longest Match Prefix Entries in cefLMPrefixTable. When creating a new longest prefix match entry, the value of cefLMPrefixSpinLock should be retrieved. The destination address should be determined to be unique by the SNMP Command Generator application by consulting the cefLMPrefixTable. Finally, the longest prefix entry may be created (Set), including the advisory lock. If another SNMP Command Generator application has altered the longest prefix entry in the meantime, then the spin lock's value will have changed, and so this creation will fail because it will specify the wrong value for the spin lock. Since this is an advisory lock, the use of this lock is not enforced, but not using this lock may lead to conflict with the another SNMP command responder application which may also be acting on the cefLMPrefixTable." ::= { cefFIB 3 } cefLMPrefixTable OBJECT-TYPE SYNTAX SEQUENCE OF CefLMPrefixEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of Longest Match Prefix Query requests. Generator application should utilize the cefLMPrefixSpinLock to try to avoid collisions. See DESCRIPTION clause of cefLMPrefixSpinLock." ::= { cefFIB 4 } cefLMPrefixEntry OBJECT-TYPE SYNTAX CefLMPrefixEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the managed device, then each entry represents a longest Match Prefix request. A management station wishing to get the longest Match prefix for a given destination address should create the associate instance of the row status. The row status should be set to active(1) to initiate the request. Note that this entire procedure may be initiated via a single set request which specifies a row status of createAndGo(4). Once the request completes, the management station should retrieve the values of the objects of interest, and should then delete the entry. In order to prevent old entries from clogging the table, entries will be aged out, but an entry will never be deleted within 5 minutes of completion. Entries are lost after an agent restart. I.e. to find out the longest prefix match for destination address of A.B.C.D on entity whose entityPhysicalIndex is 1, the Management station will create an entry in cefLMPrefixTable with cefLMPrefixRowStatus.1(entPhysicalIndex).1(ipv4).A.B.C.D set to createAndGo(4). Management Station may query the value of objects cefLMPrefix and cefLMPrefixLen to find out the corresponding prefix entry from the cefPrefixTable once the value of cefLMPrefixState is set to matchFound(2). entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF. " INDEX { entPhysicalIndex, cefLMPrefixDestAddrType, cefLMPrefixDestAddr } ::= { cefLMPrefixTable 1} CefLMPrefixEntry ::= SEQUENCE { cefLMPrefixDestAddrType InetAddressType, cefLMPrefixDestAddr InetAddress, cefLMPrefixState CefPrefixSearchState, cefLMPrefixAddr InetAddress, cefLMPrefixLen InetAddressPrefixLength, cefLMPrefixRowStatus RowStatus } cefLMPrefixDestAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Destination Address Type. This object specifies the address type used for cefLMPrefixDestAddr. Longest Match Prefix entries are only valid for the address type of ipv4(1) and ipv6(2)." ::= { cefLMPrefixEntry 1 } cefLMPrefixDestAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Destination Address. The type of this address is determined by the value of the cefLMPrefixDestAddrType object." ::= { cefLMPrefixEntry 2 } cefLMPrefixState OBJECT-TYPE SYNTAX CefPrefixSearchState MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the state of this prefix search request." ::= { cefLMPrefixEntry 3 } cefLMPrefixAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The Network Prefix Address. Index to the cefPrefixTable. The type of this address is determined by the value of the cefLMPrefixDestAddrType object." ::= { cefLMPrefixEntry 4 } cefLMPrefixLen OBJECT-TYPE SYNTAX InetAddressPrefixLength MAX-ACCESS read-only STATUS current DESCRIPTION "The Network Prefix Length. Index to the cefPrefixTable." ::= { cefLMPrefixEntry 5 } cefLMPrefixRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this table entry. Once the entry status is set to active(1), the associated entry cannot be modified until the request completes (cefLMPrefixState transitions to matchFound(2) or noMatchFound(3)). Once the longest match request has been created (i.e. the cefLMPrefixRowStatus has been made active), the entry cannot be modified - the only operation possible after this is to delete the row." ::= { cefLMPrefixEntry 6 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Path Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefPathTable OBJECT-TYPE SYNTAX SEQUENCE OF CefPathEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "CEF prefix path is a valid route to reach to a destination IP prefix. Multiple paths may exist out of a router to the same destination prefix. This table specify lists of CEF paths." ::= { cefFIB 5 } cefPathEntry OBJECT-TYPE SYNTAX CefPathEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device, each entry contain a CEF prefix path. entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, cefPrefixType, cefPrefixAddr, cefPrefixLen, cefPathId } ::= { cefPathTable 1 } CefPathEntry ::= SEQUENCE { cefPathId Integer32, cefPathType CefPathType, cefPathInterface InterfaceIndexOrZero, cefPathNextHopAddr InetAddress, cefPathRecurseVrfName MplsVpnId } cefPathId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally arbitrary, but unique identifier associated with this prefix path entry." ::= { cefPathEntry 1 } cefPathType OBJECT-TYPE SYNTAX CefPathType MAX-ACCESS read-only STATUS current DESCRIPTION "Type for this CEF Path." ::= { cefPathEntry 2 } cefPathInterface OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "Interface associated with this CEF path. A value of zero for this object will indicate that no interface is associated with this path entry." ::= { cefPathEntry 3 } cefPathNextHopAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "Next hop address associated with this CEF path. The value of this object is only relevant for attached next hop and recursive next hop path types (when the object cefPathType is set to attachedNexthop(4) or recursiveNexthop(5)). and will be set to zero for other path types. The type of this address is determined by the value of the cefPrefixType object." ::= { cefPathEntry 4 } cefPathRecurseVrfName OBJECT-TYPE SYNTAX MplsVpnId MAX-ACCESS read-only STATUS current DESCRIPTION "The recursive vrf name associated with this path. The value of this object is only relevant for recursive next hop path types (when the object cefPathType is set to recursiveNexthop(5)), and '0x00' will be returned for other path types." ::= { cefPathEntry 5 } -- End of cefPathTable -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Adjacency Summary -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefAdjSummary OBJECT IDENTIFIER ::= { cefAdj 1 } cefAdjSummaryTable OBJECT-TYPE SYNTAX SEQUENCE OF CefAdjSummaryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the summary information for the cefAdjTable." ::= { cefAdjSummary 1 } cefAdjSummaryEntry OBJECT-TYPE SYNTAX CefAdjSummaryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device, each entry contains the CEF Adjacency summary related attributes for the Managed entity. A row exists for each adjacency link type. entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, cefAdjSummaryLinkType} ::= { cefAdjSummaryTable 1} CefAdjSummaryEntry ::= SEQUENCE { cefAdjSummaryLinkType CefAdjLinkType, cefAdjSummaryComplete Unsigned32, cefAdjSummaryIncomplete Unsigned32, cefAdjSummaryFixup Unsigned32, cefAdjSummaryRedirect Unsigned32 } cefAdjSummaryLinkType OBJECT-TYPE SYNTAX CefAdjLinkType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The link type of the adjacency." ::= { cefAdjSummaryEntry 1 } cefAdjSummaryComplete OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of complete adjacencies. The total number of adjacencies which can be used to switch traffic to a neighbour." ::= { cefAdjSummaryEntry 2 } cefAdjSummaryIncomplete OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of incomplete adjacencies. The total number of adjacencies which cannot be used to switch traffic in their current state." ::= { cefAdjSummaryEntry 3 } cefAdjSummaryFixup OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of adjacencies for which the Layer 2 encapsulation string (header) may be updated (fixed up) at packet switch time." ::= { cefAdjSummaryEntry 4 } cefAdjSummaryRedirect OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of adjacencies for which ip redirect (or icmp redirection) is enabled. The value of this object is only relevant for ipv4 and ipv6 link type (when the index object cefAdjSummaryLinkType value is ipv4(1) or ipv6(2)) and will be set to zero for other link types. " REFERENCE "1. Internet Architecture Extensions for Shared Media, RFC 1620, May 1994." ::= { cefAdjSummaryEntry 5 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Adjacency Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefAdjTable OBJECT-TYPE SYNTAX SEQUENCE OF CefAdjEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of CEF adjacencies." ::= { cefAdj 2 } cefAdjEntry OBJECT-TYPE SYNTAX CefAdjEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device, each entry contains the adjacency attributes. Adjacency entries may exist for all the interfaces on which packets can be switched out of the device. The interface is instantiated by ifIndex. Therefore, the interface index must have been assigned, according to the applicable procedures, before it can be meaningfully used. Generally, this means that the interface must exist. entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, ifIndex, cefAdjNextHopAddrType, cefAdjNextHopAddr, cefAdjConnId, cefAdjSummaryLinkType } ::= { cefAdjTable 1} CefAdjEntry ::= SEQUENCE { cefAdjNextHopAddrType InetAddressType, cefAdjNextHopAddr InetAddress, cefAdjConnId Unsigned32, cefAdjSource CefAdjacencySource, cefAdjEncap SnmpAdminString, cefAdjFixup SnmpAdminString, cefAdjMTU Unsigned32, cefAdjForwardingInfo SnmpAdminString, cefAdjPkts Counter32, cefAdjHCPkts Counter64, cefAdjBytes Counter32, cefAdjHCBytes Counter64 } cefAdjNextHopAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Address type for the cefAdjNextHopAddr. This object specifies the address type used for cefAdjNextHopAddr. Adjacency entries are only valid for the address type of ipv4(1) and ipv6(2)." ::= { cefAdjEntry 1 } cefAdjNextHopAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The next Hop address for this adjacency. The type of this address is determined by the value of the cefAdjNextHopAddrType object." ::= { cefAdjEntry 2 } cefAdjConnId OBJECT-TYPE SYNTAX Unsigned32(0 | 1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "In cases where cefLinkType, interface and the next hop address are not able to uniquely define an adjacency entry (e.g. ATM and Frame Relay Bundles), this object is a unique identifier to differentiate between these adjacency entries. In all the other cases the value of this index object will be 0." ::= { cefAdjEntry 3 } cefAdjSource OBJECT-TYPE SYNTAX CefAdjacencySource MAX-ACCESS read-only STATUS current DESCRIPTION "If the adjacency is created because some neighbour discovery mechanism has discovered a neighbour and all the information required to build a frame header to encapsulate traffic to the neighbour is available then the source of adjacency is set to the mechanism by which the adjacency is learned." ::= { cefAdjEntry 4 } cefAdjEncap OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The layer 2 encapsulation string to be used for sending the packet out using this adjacency." ::= { cefAdjEntry 5 } cefAdjFixup OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "For the cases, where the encapsulation string is decided at packet switch time, the adjacency encapsulation string specified by object cefAdjEncap require a fixup. I.e. for the adjacencies out of IP Tunnels, the string prepended is an IP header which has fields which can only be setup at packet switch time. The value of this object represent the kind of fixup applied to the packet. If the encapsulation string doesn't require any fixup, then the value of this object will be of zero length." ::= { cefAdjEntry 6 } cefAdjMTU OBJECT-TYPE SYNTAX Unsigned32(0..65535) UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The Layer 3 MTU which can be transmitted using this adjacency." ::= { cefAdjEntry 7 } cefAdjForwardingInfo OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object selects a forwarding info entry defined in the cefFESelectionTable. The selected target is defined by an entry in the cefFESelectionTable whose index value (cefFESelectionName) is equal to this object. The value of this object will be of zero length if this adjacency entry is the last forwarding element in the forwarding path." ::= { cefAdjEntry 8 } cefAdjPkts OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "Number of pkts transmitted using this adjacency." ::= { cefAdjEntry 9 } cefAdjHCPkts OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "Number of pkts transmitted using this adjacency. This object is a 64-bit version of cefAdjPkts." ::= { cefAdjEntry 10 } cefAdjBytes OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Number of bytes transmitted using this adjacency." ::= { cefAdjEntry 11 } cefAdjHCBytes OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Number of bytes transmitted using this adjacency. This object is a 64-bit version of cefAdjBytes." ::= { cefAdjEntry 12 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Forwarding Element Selection Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefFESelectionTable OBJECT-TYPE SYNTAX SEQUENCE OF CefFESelectionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of forwarding element selection entries." ::= { cefFE 1 } cefFESelectionEntry OBJECT-TYPE SYNTAX CefFESelectionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device, each entry contain a CEF forwarding element selection list. entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, cefFESelectionName, cefFESelectionId } ::= { cefFESelectionTable 1 } CefFESelectionEntry ::= SEQUENCE { cefFESelectionName SnmpAdminString, cefFESelectionId Integer32, cefFESelectionSpecial CefForwardingElementSpecialType, cefFESelectionLabels CefMplsLabelList, cefFESelectionAdjLinkType CefAdjLinkType, cefFESelectionAdjInterface InterfaceIndexOrZero, cefFESelectionAdjNextHopAddrType InetAddressType, cefFESelectionAdjNextHopAddr InetAddress, cefFESelectionAdjConnId Unsigned32, cefFESelectionVrfName MplsVpnId, cefFESelectionWeight Unsigned32 } cefFESelectionName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(1..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally arbitrary, but unique identifier used to select a set of forwarding element lists." ::= { cefFESelectionEntry 1 } cefFESelectionId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary index to identify a forwarding elements List in this Table." ::= { cefFESelectionEntry 2 } cefFESelectionSpecial OBJECT-TYPE SYNTAX CefForwardingElementSpecialType MAX-ACCESS read-only STATUS current DESCRIPTION "Special processing for a destination is indicated through the use of special forwarding element. If the forwarding element list contains the special forwarding element, then this object represents the type of special forwarding element." ::= { cefFESelectionEntry 3 } cefFESelectionLabels OBJECT-TYPE SYNTAX CefMplsLabelList MAX-ACCESS read-only STATUS current DESCRIPTION "This object represent the MPLS Labels associated with this forwarding Element List. The value of this object will be irrelevant and will be set to zero length if the forwarding element list doesn't contain a label forwarding element. A zero length label list will indicate that there is no label forwarding element associated with this selection entry." ::= { cefFESelectionEntry 4 } cefFESelectionAdjLinkType OBJECT-TYPE SYNTAX CefAdjLinkType MAX-ACCESS read-only STATUS current DESCRIPTION "This object represent the link type for the adjacency associated with this forwarding Element List. The value of this object will be irrelevant and will be set to unknown(5) if the forwarding element list doesn't contain an adjacency forwarding element." ::= { cefFESelectionEntry 5 } cefFESelectionAdjInterface OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This object represent the interface for the adjacency associated with this forwarding Element List. The value of this object will be irrelevant and will be set to zero if the forwarding element list doesn't contain an adjacency forwarding element." ::= { cefFESelectionEntry 6 } cefFESelectionAdjNextHopAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "This object represent the next hop address type for the adjacency associated with this forwarding Element List. The value of this object will be irrelevant and will be set to unknown(0) if the forwarding element list doesn't contain an adjacency forwarding element." ::= { cefFESelectionEntry 7 } cefFESelectionAdjNextHopAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This object represent the next hop address for the adjacency associated with this forwarding Element List. The value of this object will be irrelevant and will be set to zero if the forwarding element list doesn't contain an adjacency forwarding element." ::= { cefFESelectionEntry 8 } cefFESelectionAdjConnId OBJECT-TYPE SYNTAX Unsigned32(0 | 1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object represent the connection id for the adjacency associated with this forwarding Element List. The value of this object will be irrelevant and will be set to zero if the forwarding element list doesn't contain an adjacency forwarding element. In cases where cefFESelectionAdjLinkType, interface and the next hop address are not able to uniquely define an adjacency entry (e.g. ATM and Frame Relay Bundles), this object is a unique identifier to differentiate between these adjacency entries." ::= { cefFESelectionEntry 9 } cefFESelectionVrfName OBJECT-TYPE SYNTAX MplsVpnId MAX-ACCESS read-only STATUS current DESCRIPTION "This object represent the Vrf name for the lookup associated with this forwarding Element List. The value of this object will be irrelevant and will be set to a string containing the single octet 0x00 if the forwarding element list doesn't contain a lookup forwarding element." ::= { cefFESelectionEntry 10 } cefFESelectionWeight OBJECT-TYPE SYNTAX Unsigned32(0 | 1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object represent the weighting for load balancing between multiple Forwarding Element Lists. The value of this object will be zero if load balancing is associated with this selection entry." ::= { cefFESelectionEntry 11 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Cfg Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefCfgTable OBJECT-TYPE SYNTAX SEQUENCE OF CefCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains global config parameter of CEF on the Managed device." ::= { cefGlobal 1 } cefCfgEntry OBJECT-TYPE SYNTAX CefCfgEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If the Managed device supports CEF, each entry contains the CEF config parameter for the managed entity. A row may exist for each IP version type (v4 and v6) depending upon the IP version supported on the device. entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, cefFIBIpVersion } ::= { cefCfgTable 1} CefCfgEntry ::= SEQUENCE { cefCfgAdminState CefAdminStatus, cefCfgOperState CefOperStatus, cefCfgDistributionAdminState CefAdminStatus, cefCfgDistributionOperState CefOperStatus, cefCfgAccountingMap BITS, cefCfgLoadSharingAlgorithm INTEGER, cefCfgLoadSharingID Unsigned32, cefCfgTrafficStatsLoadInterval Unsigned32, cefCfgTrafficStatsUpdateRate Unsigned32 } cefCfgAdminState OBJECT-TYPE SYNTAX CefAdminStatus MAX-ACCESS read-write STATUS current DESCRIPTION "The desired state of CEF." ::= { cefCfgEntry 1 } cefCfgOperState OBJECT-TYPE SYNTAX CefOperStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The current operational state of CEF. If the cefCfgAdminState is disabled(2), then cefOperState will eventually go to the down(2) state unless some error has occurred. If cefCfgAdminState is changed to enabled(1) then cefCfgOperState should change to up(1) only if the CEF entity is ready to forward the packets using Cisco Express Forwarding (CEF) else it should remain in the down(2) state. The up(1) state for this object indicates that CEF entity is forwarding the packet using Cisco Express Forwarding." ::= { cefCfgEntry 2 } cefCfgDistributionAdminState OBJECT-TYPE SYNTAX CefAdminStatus MAX-ACCESS read-write STATUS current DESCRIPTION "The desired state of CEF distribution." ::= { cefCfgEntry 3 } cefCfgDistributionOperState OBJECT-TYPE SYNTAX CefOperStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The current operational state of CEF distribution. If the cefCfgDistributionAdminState is disabled(2), then cefDistributionOperState will eventually go to the down(2) state unless some error has occurred. If cefCfgDistributionAdminState is changed to enabled(1) then cefCfgDistributionOperState should change to up(1) only if the CEF entity is ready to forward the packets using Distributed Cisco Express Forwarding (dCEF) else it should remain in the down(2) state. The up(1) state for this object indicates that CEF entity is forwarding the packet using Distributed Cisco Express Forwarding." ::= { cefCfgEntry 4 } cefCfgAccountingMap OBJECT-TYPE SYNTAX BITS { nonRecursive(0), perPrefix(1), prefixLength(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object represents a bitmap of network accounting options. CEF network accounting is disabled by default. CEF network accounting can be enabled by selecting one or more of the following CEF accounting option for the value of this object. nonRecursive(0): enables accounting through nonrecursive prefixes. perPrefix(1): enables the collection of the numbers of pkts and bytes express forwarded to a destination (prefix) prefixLength(2): enables accounting through prefixlength. Once the accounting is enabled, the corresponding stats can be retrieved from the cefPrefixTable and cefStatsPrefixLenTable. " ::= { cefCfgEntry 5 } cefCfgLoadSharingAlgorithm OBJECT-TYPE SYNTAX INTEGER { none (1), -- Load sharing is disabled original (2), tunnel (3), universal(4) } MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the CEF Load balancing algorithm. Setting this object to none(1) will disable the Load sharing for the specified entry. CEF load balancing can be enabled by setting this object to one of following Algorithms: original(2) : This algorithm is based on a source and destination hash tunnel(3) : This algorithm is used in tunnels environments or in environments where there are only a few source universal(4) : This algorithm uses a source and destination and ID hash If the value of this object is set to 'tunnel' or 'universal', then the FIXED ID for these algorithms may be specified by the managed object cefLoadSharingID. " ::= { cefCfgEntry 6 } cefCfgLoadSharingID OBJECT-TYPE SYNTAX Unsigned32(0 | 1..4294967295) MAX-ACCESS read-write STATUS current DESCRIPTION "The Fixed ID associated with the managed object cefCfgLoadSharingAlgorithm. The hash of this object value may be used by the Load Sharing Algorithm. The value of this object is not relevant and will be set to zero if the value of managed object cefCfgLoadSharingAlgorithm is set to none(1) or original(2). The default value of this object is calculated by the device at the time of initialization." ::= { cefCfgEntry 7 } cefCfgTrafficStatsLoadInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The interval time over which the CEF traffic statistics are collected." ::= { cefCfgEntry 8 } cefCfgTrafficStatsUpdateRate OBJECT-TYPE SYNTAX Unsigned32(0 | 1..65535) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The frequency with which the line card sends the traffic load statistics to the Router Processor. Setting the value of this object to 0 will disable the CEF traffic statistics collection." ::= { cefCfgEntry 9 } cefResourceTable OBJECT-TYPE SYNTAX SEQUENCE OF CefResourceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains global resource information of CEF on the Managed device." ::= { cefGlobal 2 } cefResourceEntry OBJECT-TYPE SYNTAX CefResourceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If the Managed device supports CEF, each entry contains the CEF Resource parameters for the managed entity. entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex } ::= { cefResourceTable 1} CefResourceEntry ::= SEQUENCE { cefResourceMemoryUsed Gauge32, cefResourceFailureReason CefFailureReason } cefResourceMemoryUsed OBJECT-TYPE SYNTAX Gauge32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of bytes from the Processor Memory Pool that are currently in use by CEF on the managed entity." ::= { cefResourceEntry 1 } cefResourceFailureReason OBJECT-TYPE SYNTAX CefFailureReason MAX-ACCESS read-only STATUS current DESCRIPTION "The CEF resource failure reason which may lead to CEF being disabled on the managed entity." ::= { cefResourceEntry 2 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Interface Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefIntTable OBJECT-TYPE SYNTAX SEQUENCE OF CefIntEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This Table contains interface specific information of CEF on the Managed device." ::= { cefInterface 1 } cefIntEntry OBJECT-TYPE SYNTAX CefIntEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device, each entry contains the CEF attributes associated with an interface. The interface is instantiated by ifIndex. Therefore, the interface index must have been assigned, according to the applicable procedures, before it can be meaningfully used. Generally, this means that the interface must exist. A row may exist for each IP version type (v4 and v6) depending upon the IP version supported on the device. entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, cefFIBIpVersion, ifIndex } ::= { cefIntTable 1} CefIntEntry ::= SEQUENCE { cefIntSwitchingState INTEGER, cefIntLoadSharing INTEGER, cefIntNonrecursiveAccouting INTEGER } cefIntSwitchingState OBJECT-TYPE SYNTAX INTEGER { cefEnabled (1), distCefEnabled (2), cefDisabled (3) } MAX-ACCESS read-write STATUS current DESCRIPTION "The CEF switching State for the interface. If CEF is enabled but distributed CEF(dCEF) is disabled then CEF is in cefEnabled(1) state. If distributed CEF is enabled, then CEF is in distCefEnabled(2) state. The cefDisabled(3) state indicates that CEF is disabled. The CEF switching state is only applicable to the received packet on the interface." ::= { cefIntEntry 1 } cefIntLoadSharing OBJECT-TYPE SYNTAX INTEGER { perPacket (1), perDestination (2) } MAX-ACCESS read-write STATUS current DESCRIPTION "The status of load sharing on the interface. perPacket(1) : Router to send data packets over successive equal-cost paths without regard to individual hosts or user sessions. perDestination(2) : Router to use multiple, equal-cost paths to achieve load sharing Load sharing is enabled by default for an interface when CEF is enabled." ::= { cefIntEntry 2 } cefIntNonrecursiveAccouting OBJECT-TYPE SYNTAX INTEGER { internal(1), external(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "The CEF accounting mode for the interface. CEF prefix based non-recursive accounting on an interface can be configured to store the stats for non-recursive prefixes in a internal or external bucket. internal(1) : Count input traffic in the nonrecursive internal bucket external(2) : Count input traffic in the nonrecursive external bucket The value of this object will only be effective if value of the object cefAccountingMap is set to enable nonRecursive(1) accounting." ::= { cefIntEntry 3 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Peer Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefPeerTable OBJECT-TYPE SYNTAX SEQUENCE OF CefPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entity acting as RP (Routing Processor) keeps the CEF states for the line card entities and communicates with the line card entities using XDR. This Table contains the CEF information related to peer entities on the managed device." ::= { cefPeer 1 } cefPeerEntry OBJECT-TYPE SYNTAX CefPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device, each entry contains the CEF related attributes associated with a CEF peer entity. entPhysicalIndex and entPeerPhysicalIndex are also indexes for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, entPeerPhysicalIndex } ::= { cefPeerTable 1} CefPeerEntry ::= SEQUENCE { entPeerPhysicalIndex PhysicalIndex, cefPeerOperState INTEGER, cefPeerNumberOfResets Counter32 } entPeerPhysicalIndex OBJECT-TYPE SYNTAX PhysicalIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entity index for the CEF peer entity. Only the entities of 'module' entPhysicalClass are included here." ::= { cefPeerEntry 1 } cefPeerOperState OBJECT-TYPE SYNTAX INTEGER { peerDisabled (1), peerUp (2), peerHold (3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The current CEF operational state of the CEF peer entity. Cef peer entity oper state will be peerDisabled(1) in the following condition: : Cef Peer entity encounters fatal error i.e. resource allocation failure, ipc failure etc : When a reload/delete request is received from the Cef Peer Entity Once the peer entity is up and no fatal error is encountered, then the value of this object will transits to the peerUp(3) state. If the Cef Peer entity is in held stage, then the value of this object will be peerHold(3). Cef peer entity can only transit to peerDisabled(1) state from the peerHold(3) state." ::= { cefPeerEntry 2 } cefPeerNumberOfResets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of times the session with CEF peer entity has been reset." ::= { cefPeerEntry 3 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Peer FIB Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefPeerFIBTable OBJECT-TYPE SYNTAX SEQUENCE OF CefPeerFIBEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entity acting as RP (Routing Processor) keep the CEF FIB states for the line card entities and communicate with the line card entities using XDR. This Table contains the CEF FIB State related to peer entities on the managed device." ::= { cefPeer 2 } cefPeerFIBEntry OBJECT-TYPE SYNTAX CefPeerFIBEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device, each entry contains the CEF FIB State associated a CEF peer entity. entPhysicalIndex and entPeerPhysicalIndex are also indexes for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, entPeerPhysicalIndex, cefFIBIpVersion } ::= { cefPeerFIBTable 1} CefPeerFIBEntry ::= SEQUENCE { cefPeerFIBOperState INTEGER } cefPeerFIBOperState OBJECT-TYPE SYNTAX INTEGER { peerFIBDown (1), peerFIBUp (2), peerFIBReloadRequest(3), peerFIBReloading (4), peerFIBSynced (5) } MAX-ACCESS read-only STATUS current DESCRIPTION "The current CEF FIB Operational State for the CEF peer entity. " ::= { cefPeerFIBEntry 1 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Prefix Length Stats Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefStatsPrefixLenTable OBJECT-TYPE SYNTAX SEQUENCE OF CefStatsPrefixLenEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies the CEF stats based on the Prefix Length." ::= { cefStats 1 } cefStatsPrefixLenEntry OBJECT-TYPE SYNTAX CefStatsPrefixLenEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device and if CEF accounting is set to enable prefix length based accounting (value of cefCfgAccountingMap object in the cefCfgEntry is set to enable 'prefixLength' accounting), each entry contains the traffic statistics for a prefix length. A row may exist for each IP version type (v4 and v6) depending upon the IP version supported on the device. entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, cefFIBIpVersion, cefStatsPrefixLen } ::= { cefStatsPrefixLenTable 1} CefStatsPrefixLenEntry ::= SEQUENCE { cefStatsPrefixLen InetAddressPrefixLength, cefStatsPrefixQueries Counter32, cefStatsPrefixHCQueries Counter64, cefStatsPrefixInserts Counter32, cefStatsPrefixHCInserts Counter64, cefStatsPrefixDeletes Counter32, cefStatsPrefixHCDeletes Counter64, cefStatsPrefixElements Gauge32, cefStatsPrefixHCElements CounterBasedGauge64 } cefStatsPrefixLen OBJECT-TYPE SYNTAX InetAddressPrefixLength MAX-ACCESS not-accessible STATUS current DESCRIPTION "Length in bits of the Destination IP prefix. As 0.0.0.0/0 is a valid prefix, hence 0 is a valid prefix length." ::= { cefStatsPrefixLenEntry 1 } cefStatsPrefixQueries OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of queries received in the FIB database for the specified IP prefix length." ::= { cefStatsPrefixLenEntry 2 } cefStatsPrefixHCQueries OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of queries received in the FIB database for the specified IP prefix length. This object is a 64-bit version of cefStatsPrefixQueries." ::= { cefStatsPrefixLenEntry 3 } cefStatsPrefixInserts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of insert operations performed to the FIB database for the specified IP prefix length." ::= { cefStatsPrefixLenEntry 4 } cefStatsPrefixHCInserts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of insert operations performed to the FIB database for the specified IP prefix length. This object is a 64-bit version of cefStatsPrefixInsert." ::= { cefStatsPrefixLenEntry 5 } cefStatsPrefixDeletes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of delete operations performed to the FIB database for the specified IP prefix length." ::= { cefStatsPrefixLenEntry 6 } cefStatsPrefixHCDeletes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of delete operations performed to the FIB database for the specified IP prefix length. This object is a 64-bit version of cefStatsPrefixDelete." ::= { cefStatsPrefixLenEntry 7 } cefStatsPrefixElements OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of elements in the FIB database for the specified IP prefix length." ::= { cefStatsPrefixLenEntry 8 } cefStatsPrefixHCElements OBJECT-TYPE SYNTAX CounterBasedGauge64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of elements in the FIB database for the specified IP prefix length. This object is a 64-bit version of cefStatsPrefixElements." ::= { cefStatsPrefixLenEntry 9 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Switching Stats Table -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefSwitchingStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF CefSwitchingStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies the CEF switch stats." ::= { cefStats 2 } cefSwitchingStatsEntry OBJECT-TYPE SYNTAX CefSwitchingStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If CEF is enabled on the Managed device, each entry specifies the switching stats. A row may exist for each IP version type (v4 and v6) depending upon the IP version supported on the device. entPhysicalIndex is also an index for this table which represents entities of 'module' entPhysicalClass which are capable of running CEF." INDEX { entPhysicalIndex, cefFIBIpVersion, cefSwitchingIndex } ::= { cefSwitchingStatsTable 1} CefSwitchingStatsEntry ::= SEQUENCE { cefSwitchingIndex Integer32, cefSwitchingPath SnmpAdminString, cefSwitchingDrop Counter32, cefSwitchingHCDrop Counter64, cefSwitchingPunt Counter32, cefSwitchingHCPunt Counter64, cefSwitchingPunt2Host Counter32, cefSwitchingHCPunt2Host Counter64 } cefSwitchingIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally arbitrary, but unique identifier associated with this switching stats entry." ::= { cefSwitchingStatsEntry 1 } cefSwitchingPath OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(1..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "Switch path where the feature was executed. Available switch paths are platform-dependent. Following are the examples of switching paths: RIB : switching with CEF assistance Low-end switching (LES) : CEF switch path PAS : CEF turbo switch path. " ::= { cefSwitchingStatsEntry 2 } cefSwitchingDrop OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets dropped by CEF." ::= { cefSwitchingStatsEntry 3 } cefSwitchingHCDrop OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets dropped by CEF. This object is a 64-bit version of cefSwitchingDrop." ::= { cefSwitchingStatsEntry 4 } cefSwitchingPunt OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets that could not be switched in the normal path and were punted to the next-fastest switching vector." ::= { cefSwitchingStatsEntry 5 } cefSwitchingHCPunt OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets that could not be switched in the normal path and were punted to the next-fastest switching vector. This object is a 64-bit version of cefSwitchingPunt." ::= { cefSwitchingStatsEntry 6 } cefSwitchingPunt2Host OBJECT-TYPE SYNTAX Counter32 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets that could not be switched in the normal path and were punted to the host (process switching path). For most of the switching paths, the value of this object may be similar to cefSwitchingPunt." ::= { cefSwitchingStatsEntry 7 } cefSwitchingHCPunt2Host OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets that could not be switched in the normal path and were punted to the host (process switching path). For most of the switching paths, the value of this object may be similar to cefSwitchingPunt. This object is a 64-bit version of cefSwitchingPunt2Host." ::= { cefSwitchingStatsEntry 8 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF IP Prefix Consistency Checker Group -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefCCGlobalTable OBJECT-TYPE SYNTAX SEQUENCE OF CefCCGlobalEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains CEF consistency checker (CC) global parameters for the managed device." ::= { cefCC 1 } cefCCGlobalEntry OBJECT-TYPE SYNTAX CefCCGlobalEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If the managed device supports CEF, each entry contains the global consistency checker parameter for the managed device. A row may exist for each IP version type (v4 and v6) depending upon the IP version supported on the device." INDEX { cefFIBIpVersion } ::= { cefCCGlobalTable 1} CefCCGlobalEntry ::= SEQUENCE { cefCCGlobalAutoRepairEnabled TruthValue, cefCCGlobalAutoRepairDelay Unsigned32, cefCCGlobalAutoRepairHoldDown Unsigned32, cefCCGlobalErrorMsgEnabled TruthValue, cefCCGlobalFullScanAction CefCCAction, cefCCGlobalFullScanStatus CefCCStatus } cefCCGlobalAutoRepairEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Once an inconsistency has been detected, CEF has the ability to repair the problem. This object indicates the status of auto-repair function for the consistency checkers." ::= { cefCCGlobalEntry 1 } cefCCGlobalAutoRepairDelay OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Indiactes how long the consistency checker waits to fix an inconsistency. The value of this object has no effect when the value of object cefCCGlobalAutoRepairEnabled is 'false'." ::= { cefCCGlobalEntry 2 } cefCCGlobalAutoRepairHoldDown OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates how long the consistency checker waits to re-enable auto-repair after auto-repair runs. The value of this object has no effect when the value of object cefCCGlobalAutoRepairEnabled is 'false'." ::= { cefCCGlobalEntry 3 } cefCCGlobalErrorMsgEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Enables the consistency checker to generate an error message when it detects an inconsistency." ::= { cefCCGlobalEntry 4 } cefCCGlobalFullScanAction OBJECT-TYPE SYNTAX CefCCAction MAX-ACCESS read-write STATUS current DESCRIPTION "Setting the value of this object to ccActionStart(1) will start the full scan consistency checkers. The Management station should poll the cefCCGlobalFullScanStatus object to get the state of full-scan operation. Once the full-scan operation completes (value of cefCCGlobalFullScanStatus object is ccStatusDone(3)), the Management station should retrieve the values of the related stats object from the cefCCTypeTable. Setting the value of this object to ccActionAbort(2) will abort the full-scan operation. The value of this object can't be set to ccActionStart(1), if the value of object cefCCGlobalFullScanStatus is ccStatusRunning(2). The value of this object will be set to cefActionNone(1) when the full scan consistency checkers have never been activated. A Management Station cannot set the value of this object to cefActionNone(1)." DEFVAL { ccActionNone } ::= { cefCCGlobalEntry 5 } cefCCGlobalFullScanStatus OBJECT-TYPE SYNTAX CefCCStatus MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the status of the full scan consistency checker request." ::= { cefCCGlobalEntry 6 } -- -- Consistency Checker Type Table -- cefCCTypeTable OBJECT-TYPE SYNTAX SEQUENCE OF CefCCTypeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains CEF consistency checker types specific parameters on the managed device. All detected inconsistency are signaled to the Management Station via cefInconsistencyDetection notification. " ::= { cefCC 2 } cefCCTypeEntry OBJECT-TYPE SYNTAX CefCCTypeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If the managed device supports CEF, each entry contains the consistency checker statistics for a consistency checker type. A row may exist for each IP version type (v4 and v6) depending upon the IP version supported on the device." INDEX { cefFIBIpVersion, cefCCType } ::= { cefCCTypeTable 1} CefCCTypeEntry ::= SEQUENCE { cefCCType CefCCType, cefCCEnabled TruthValue, cefCCCount Unsigned32, cefCCPeriod Unsigned32, cefCCQueriesSent Counter32, cefCCQueriesIgnored Counter32, cefCCQueriesChecked Counter32, cefCCQueriesIterated Counter32 } cefCCType OBJECT-TYPE SYNTAX CefCCType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Type of the consistency checker." ::= { cefCCTypeEntry 1 } cefCCEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Enables the passive consistency checker. Passive consistency checkers are disabled by default. Full-scan consistency checkers are always enabled. An attempt to set this object to 'false' for an active consistency checker will result in 'wrongValue' error." ::= { cefCCTypeEntry 2 } cefCCCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The maximum number of prefixes to check per scan. The default value for this object depends upon the consistency checker type. The value of this object will be irrelevant for some of the consistency checkers and will be set to 0. A Management Station cannot set the value of this object to 0." ::= { cefCCTypeEntry 3 } cefCCPeriod OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The period between scans for the consistency checker." ::= { cefCCTypeEntry 4 } cefCCQueriesSent OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of prefix consistency queries sent to CEF forwarding databases by this consistency checker." ::= { cefCCTypeEntry 5 } cefCCQueriesIgnored OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of prefix consistency queries for which the consistency checks were not performed by this consistency checker. This may be because of some internal error or resource failure." ::= { cefCCTypeEntry 6 } cefCCQueriesChecked OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of prefix consistency queries processed by this consistency checker." ::= { cefCCTypeEntry 7 } cefCCQueriesIterated OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of prefix consistency queries iterated back to the master database by this consistency checker." ::= { cefCCTypeEntry 8 } -- -- Inconsistency Record Table -- cefInconsistencyRecordTable OBJECT-TYPE SYNTAX SEQUENCE OF CefInconsistencyRecordEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains CEF inconsistency records." ::= { cefCC 3 } cefInconsistencyRecordEntry OBJECT-TYPE SYNTAX CefInconsistencyRecordEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If the managed device supports CEF, each entry contains the inconsistency record." INDEX { cefFIBIpVersion, cefInconsistencyRecId } ::= { cefInconsistencyRecordTable 1} CefInconsistencyRecordEntry ::= SEQUENCE { cefInconsistencyRecId Integer32, cefInconsistencyPrefixType InetAddressType, cefInconsistencyPrefixAddr InetAddress, cefInconsistencyPrefixLen InetAddressPrefixLength, cefInconsistencyVrfName MplsVpnId, cefInconsistencyCCType CefCCType, cefInconsistencyEntity EntPhysicalIndexOrZero, cefInconsistencyReason INTEGER } cefInconsistencyRecId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally arbitrary, but unique identifier associated with this inconsistency record entry." ::= { cefInconsistencyRecordEntry 1 } cefInconsistencyPrefixType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The network prefix type associated with this inconsistency record." ::= { cefInconsistencyRecordEntry 2 } cefInconsistencyPrefixAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The network prefix address associated with this inconsistency record. The type of this address is determined by the value of the cefInconsistencyPrefixType object." ::= { cefInconsistencyRecordEntry 3 } cefInconsistencyPrefixLen OBJECT-TYPE SYNTAX InetAddressPrefixLength MAX-ACCESS read-only STATUS current DESCRIPTION "Length in bits of the inconsistency address prefix." ::= { cefInconsistencyRecordEntry 4 } cefInconsistencyVrfName OBJECT-TYPE SYNTAX MplsVpnId MAX-ACCESS read-only STATUS current DESCRIPTION "Vrf name associated with this inconsistency record." ::= { cefInconsistencyRecordEntry 5 } cefInconsistencyCCType OBJECT-TYPE SYNTAX CefCCType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of consistency checker who generated this inconsistency record." ::= { cefInconsistencyRecordEntry 6 } cefInconsistencyEntity OBJECT-TYPE SYNTAX EntPhysicalIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The entity for which this inconsistency record was generated. The value of this object will be irrelevant and will be set to 0 when the inconsisency record is applicable for all the entities." ::= { cefInconsistencyRecordEntry 7 } cefInconsistencyReason OBJECT-TYPE SYNTAX INTEGER { missing (1), checksumErr(2), unknown (3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The reason for generating this inconsistency record. missing(1): the prefix is missing checksumErr(2): checksum error was found unknown(3): reason is unknown " ::= { cefInconsistencyRecordEntry 8 } -- -- Global objects for CEF Inconsistency -- -- last change time stamp for the whole MIB entLastInconsistencyDetectTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time an inconsistency is detecetd." ::= { cefCC 4 } cefInconsistencyReset OBJECT-TYPE SYNTAX CefCCAction MAX-ACCESS read-write STATUS current DESCRIPTION "Setting the value of this object to ccActionStart(1) will reset all the active consistency checkers. The Management station should poll the cefInconsistencyResetStatus object to get the state of inconsistency reset operation. This operation once started, cannot be aborted. Hence, the value of this object cannot be set to ccActionAbort(2). The value of this object can't be set to ccActionStart(1), if the value of object cefInconsistencyResetStatus is ccStatusRunning(2). " DEFVAL { ccActionNone } ::= { cefCC 5 } cefInconsistencyResetStatus OBJECT-TYPE SYNTAX CefCCStatus MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the status of the consistency reset request." ::= { cefCC 6 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- The CEF Notif Control Group -- -- This group of objects controls the sending of CEF Notifications -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefResourceFailureNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether or not a notification should be generated on the detection of CEF resource Failure." ::= { cefNotifCntl 1 } cefPeerStateChangeNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether or not a notification should be generated on the detection of CEF peer state change." ::= { cefNotifCntl 2 } cefPeerFIBStateChangeNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether or not a notification should be generated on the detection of CEF FIB peer state change." ::= { cefNotifCntl 3 } cefNotifThrottlingInterval OBJECT-TYPE SYNTAX Integer32 (0 | 1..3600) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object controls the generation of the cefInconsistencyDetection notification. If this object has a value of zero, then the throttle control is disabled. If this object has a non-zero value, then the agent must not generate more than one cefInconsistencyDetection 'notification-event' in the indicated period, where a 'notification-event' is the transmission of a single trap or inform PDU to a list of notification destinations. If additional inconsistency is detected within the throttling period, then notification-events for these inconsistencies should be suppressed by the agent until the current throttling period expires. At the end of a throttling period, one notification-event should be generated if any inconsistency was detected since the start of the throttling period. In such a case, another throttling period is started right away. An NMS should periodically poll cefInconsistencyRecordTable to detect any missed cefInconsistencyDetection notification-events, e.g., due to throttling or transmission loss. If cefNotifThrottlingInterval notification generation is enabled, the suggested default throttling period is 60 seconds, but generation of the cefInconsistencyDetection notification should be disabled by default. If the agent is capable of storing non-volatile configuration, then the value of this object must be restored after a re-initialization of the management system. The actual transmission of notifications is controlled via the MIB modules in RFC 3413." DEFVAL { 0 } ::= { cefNotifCntl 4 } cefInconsistencyNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether cefInconsistencyDetection notification should be generated for this managed device." ::= { cefNotifCntl 5 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- CEF Notifications -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefResourceFailure NOTIFICATION-TYPE OBJECTS { cefResourceFailureReason } STATUS current DESCRIPTION "A cefResourceFailure notification is generated when CEF resource failure on the managed entity is detected. The reason for this failure is indicated by cefResourcefFailureReason." ::= { ciscoCefMIBNotifs 1 } cefPeerStateChange NOTIFICATION-TYPE OBJECTS { cefPeerOperState } STATUS current DESCRIPTION "A cefPeerStateChange notification is generated if change in cefPeerOperState is detected for the peer entity." ::= { ciscoCefMIBNotifs 2 } cefPeerFIBStateChange NOTIFICATION-TYPE OBJECTS { cefPeerFIBOperState } STATUS current DESCRIPTION "A cefPeerFIBStateChange notification is generated if change in cefPeerFIBOperState is detected for the peer entity." ::= { ciscoCefMIBNotifs 3 } cefInconsistencyDetection NOTIFICATION-TYPE OBJECTS { entLastInconsistencyDetectTime } STATUS current DESCRIPTION "A cefInconsistencyDetection notification is generated when CEF consistency checkers detects an inconsistent prefix in one of the CEF forwarding databases. Note that the generation of cefInconsistencyDetection notifications is throttled by the agent, as specified by the 'cefNotifThrottlingInterval' object." ::= { ciscoCefMIBNotifs 4 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Conformance Information -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefMIBGroups OBJECT IDENTIFIER ::= { ciscoCefMIBConform 1 } cefMIBCompliances OBJECT IDENTIFIER ::= { ciscoCefMIBConform 2 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Compliance Statements -- +++++++++++++++++++++++++++++++++++ ++++++++++++++++++++ cefMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP Agents which implement this MIB." MODULE -- this module MANDATORY-GROUPS { cefGroup, cefNotifCntlGroup, cefNotificationGroup } GROUP cefDistributedGroup DESCRIPTION "This group should be supported on the agents which support distributed CEF (dCEF)." GROUP cefHCStatsGroup DESCRIPTION "This group should be supported on the agents which support 64-bit counters." -- OBJECT cefFESelectionAdjNextHopAddrType -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } -- DESCRIPTION -- "An implementation is required to support global IPv4 -- and/or IPv6 addresses, depending on its support for -- IPv4 and IPv6." OBJECT cefFESelectionAdjNextHopAddr SYNTAX InetAddress (SIZE(4|16)) DESCRIPTION "An implementation is required to support global IPv4 and/or IPv6 addresses, depending on its support for IPv4 and IPv6." -- OBJECT cefInconsistencyPrefixType -- SYNTAX InetAddressType { ipv4(1), ipv6(2) } -- DESCRIPTION -- "An implementation is required to support global IPv4 -- and/or IPv6 addresses, depending on its support for -- IPv4 and IPv6." OBJECT cefInconsistencyPrefixAddr SYNTAX InetAddress (SIZE(4|16)) DESCRIPTION "An implementation is required to support global IPv4 and/or IPv6 addresses, depending on its support for IPv4 and IPv6." ::= { cefMIBCompliances 1 } -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- Units of Conformance -- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ cefGroup OBJECT-GROUP OBJECTS { cefFIBSummaryFwdPrefixes, cefPrefixForwardingInfo, cefPrefixPkts, cefPrefixBytes, cefPrefixInternalNRPkts, cefPrefixInternalNRBytes, cefPrefixExternalNRPkts, cefPrefixExternalNRBytes, cefLMPrefixSpinLock, cefLMPrefixState, cefLMPrefixAddr, cefLMPrefixLen, cefLMPrefixRowStatus, cefPathType, cefPathInterface, cefPathNextHopAddr, cefPathRecurseVrfName, cefAdjSummaryComplete, cefAdjSummaryIncomplete, cefAdjSummaryFixup, cefAdjSummaryRedirect, cefAdjSource, cefAdjEncap, cefAdjFixup, cefAdjMTU, cefAdjForwardingInfo, cefAdjPkts, cefAdjBytes, cefFESelectionSpecial, cefFESelectionLabels, cefFESelectionAdjLinkType, cefFESelectionAdjInterface, cefFESelectionAdjNextHopAddrType, cefFESelectionAdjNextHopAddr, cefFESelectionAdjConnId, cefFESelectionVrfName, cefFESelectionWeight, cefCfgAdminState, cefCfgOperState, cefCfgAccountingMap, cefCfgLoadSharingAlgorithm, cefCfgLoadSharingID, cefCfgTrafficStatsLoadInterval, cefCfgTrafficStatsUpdateRate, cefResourceMemoryUsed, cefResourceFailureReason, cefIntSwitchingState, cefIntLoadSharing, cefIntNonrecursiveAccouting, cefStatsPrefixQueries, cefStatsPrefixInserts, cefStatsPrefixDeletes, cefStatsPrefixElements, cefSwitchingPath, cefSwitchingDrop, cefSwitchingPunt, cefSwitchingPunt2Host } STATUS current DESCRIPTION "This group consists of all the managed objects which are applicable to CEF irrespective of the value of object cefDistributionOperState." ::= { cefMIBGroups 1 } cefDistributedGroup OBJECT-GROUP OBJECTS { cefCfgDistributionAdminState, cefCfgDistributionOperState, cefPeerOperState, cefPeerNumberOfResets, cefPeerFIBOperState, cefCCGlobalAutoRepairEnabled, cefCCGlobalAutoRepairDelay, cefCCGlobalAutoRepairHoldDown, cefCCGlobalErrorMsgEnabled, cefCCGlobalFullScanStatus, cefCCGlobalFullScanAction, cefCCEnabled, cefCCCount, cefCCPeriod, cefCCQueriesSent, cefCCQueriesIgnored, cefCCQueriesChecked, cefCCQueriesIterated, entLastInconsistencyDetectTime, cefInconsistencyPrefixType, cefInconsistencyPrefixAddr, cefInconsistencyPrefixLen, cefInconsistencyVrfName, cefInconsistencyCCType, cefInconsistencyEntity, cefInconsistencyReason, cefInconsistencyReset, cefInconsistencyResetStatus } STATUS current DESCRIPTION "This group consists of all the Managed objects which are only applicable to CEF is the value of object cefDistributionOperState is 'up'." ::= { cefMIBGroups 2 } cefHCStatsGroup OBJECT-GROUP OBJECTS { cefPrefixHCPkts, cefPrefixHCBytes, cefPrefixInternalNRHCPkts, cefPrefixInternalNRHCBytes, cefPrefixExternalNRHCPkts, cefPrefixExternalNRHCBytes, cefAdjHCPkts, cefAdjHCBytes, cefStatsPrefixHCQueries, cefStatsPrefixHCInserts, cefStatsPrefixHCDeletes, cefStatsPrefixHCElements, cefSwitchingHCDrop, cefSwitchingHCPunt, cefSwitchingHCPunt2Host } STATUS current DESCRIPTION "This group consists of all the 64-bit counter objects which are applicable to CEF irrespective of the value of object cefDistributionOperState." ::= { cefMIBGroups 3 } cefNotifCntlGroup OBJECT-GROUP OBJECTS { cefResourceFailureNotifEnable, cefPeerStateChangeNotifEnable, cefPeerFIBStateChangeNotifEnable, cefNotifThrottlingInterval, cefInconsistencyNotifEnable } STATUS current DESCRIPTION "This group of objects controls the sending of CEF Notifications." ::= { cefMIBGroups 5 } cefNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { cefResourceFailure, cefPeerStateChange, cefPeerFIBStateChange, cefInconsistencyDetection } STATUS current DESCRIPTION "This group contains the notifications for the CEF MIB." ::= { cefMIBGroups 6 } END