Definitions of Managed Objects for the NBMA Next Hop Resolution Protocol (NHRP)
Extracted elements (28)
The indexing scheme for nhrpCacheTable (and nhrpServerCacheTable) deliberately mirrors the MPC Ingress Cache Table and MPS Ingress Cache Table in the MPOA MIB, even though other schemes were possible. A consistent indexing scheme across these complementary, non-overlapping MIBs was considered more advantageous from an implementation standpoint.
The nhrpClientRegistrationTable omits refresh information because the NHRP specification does not mandate a refresh algorithm. The table is intentionally scoped to track only the registration requests that clients must maintain, leaving refresh policy to implementations.
The NHRP MIB and the MPOA MIB were designed to be complementary and non-overlapping. The MPOA MIB (designed prior by the LANE/MPOA Working Group at ATM Forum) should also support this MIB, and the shared indexing scheme facilitates joint implementation.
A translated SMIv1 MIB must be semantically equivalent to the SMIv2 version, except where objects or events are omitted because no translation is possible (e.g., Counter64). Loss of machine-readable information during translation is not considered to change MIB semantics.
The ifIndex in the NHRP Cache Table SHOULD reflect a specific NBMA subnetwork-related interface as determined by the implementation (e.g., for ATM, the ifIndex of the VC/shortcut for that entry).
The nhrpClientRequestID used to register a client with its server MUST be kept in non-volatile storage so that after an NHC crash and re-initialization, it uses a different RequestID when re-registering with the same NHS, as required by RFC 2332 Section 5.2.3.
The value of nhrpNextIndex MUST be saved in non-volatile storage so that unique indices are preserved across agent re-initializations.
nhrpCacheHoldingTime (Unsigned32, 0..65535 seconds) specifies how long a cache entry remains valid. It is only meaningful when nhrpCacheHoldingTimeValid is true(1), which is the case for all entries not administratively added.
nhrpCacheTable contains mappings between internetwork layer addresses and NBMA subnetwork addresses, indexed by nhrpCacheInternetworkAddrType, nhrpCacheInternetworkAddr, ifIndex, and nhrpCacheIndex. Entries can be created by administrators or dynamically via NHRP, SCSP, or ATMARP.
nhrpCacheType indicates how a cache entry was created, with values: other(1), register(2), resolveAuthoritative(3), resolveNonauthoritative(4), transit(5), administrativelyAdded(6), atmarp(7), scsp(8). When creating a row via nhrpCacheRowStatus, only administrativelyAdded(6) may be specified; the value cannot be changed once the entry is active.
nhrpClientDefaultMtu (Unsigned32, default 9180) reflects the default MTU for the LIS/LAG, initialized to 9180 per RFC 2225 Classical IP over ATM. nhrpCacheNegotiatedMtu (Integer32, 0..65535) reflects the actual MTU negotiated or registered for a specific cache entry.
nhrpClientNhsTable lists NBMA subnetwork addresses of servers configured for use by a client. By default the agent adds an entry corresponding to the client's default router. nhrpClientNhsInUse (read-only TruthValue) indicates whether an NHS is currently in use.
nhrpClientRegistrationTable maintains registration request state per NHC, with nhrpClientRegUniqueness (requestUnique/requestNotUnique, immutable once set) and nhrpClientRegState tracking the registration lifecycle.
nhrpClientStatDiscontinuityTime (TimeStamp) records the sysUpTime value at the most recent counter discontinuity for a client. All client Counter32 statistics reference this object to allow management systems to detect and handle counter resets. A zero value means no discontinuity since last re-initialization.
nhrpClientStatTable provides Counter32 statistics per NHC including transmitted/received counts for Resolution Requests/Replies (ACK and NAK subtypes), Registration Requests/Replies, Purge Requests/Replies, and Error Indications broken down by error code (loop detected, hop count exceeded, authentication failure, etc.).
nhrpClientTable holds configuration for each NHC managed by this agent, including internetwork address, NBMA address/subaddress, retry counts for registration/resolution/purge requests, default MTU (default 9180), hold time (default 900s), and a RequestID that must be persisted to non-volatile storage.
NhrpGenAddr is a textual convention defined as OCTET STRING (SIZE 0..64) used to represent internetwork layer or NBMA addresses throughout the MIB.
nhrpNextIndex is a read-only scalar (Unsigned32) in the General Group that provides unique index values for creating rows in nhrpClientTable and nhrpServerTable. It returns 0 if no new rows can be created, and its value MUST be saved in non-volatile storage across agent re-initializations.
nhrpPurgeReqTable tracks NHRP Purge Request information, containing nhrpPurgeCacheIdentifier (linking to nhrpCacheTable), nhrpPurgePrefixLength, nhrpPurgeRequestID, and nhrpPurgeReplyExpected (indicating whether the 'N' bit is cleared).
nhrpServerCacheTable augments nhrpCacheTable for NHS entries, adding nhrpServerCacheAuthoritative (true if entry came from direct registration or SCSP from authoritative source) and nhrpServerCacheUniqueness (used in duplicate address detection, immutable once active).
nhrpServerNhcTable lists all NHCs known to a server, with per-NHC prefix length, internetwork address, NBMA address/subaddress, and nhrpServerNhcInUse indicating active use.
nhrpServerStatTable tracks per-NHS statistics with Rx, Tx, and Fw (forwarded) counters. The forwarded counters (nhrpServerStatFwResolveReq, FwRegisterReq, FwPurgeReq, etc.) are specific to transit NHSes that forward NHRP packets without being the authoritative server.
nhrpServerTable holds configuration for each NHS, containing internetwork address type/value, NBMA address type/subaddress, and storage type. Each server is identified by nhrpServerIndex whose value should be obtained from nhrpNextIndex.
The nhrpMIB MODULE-IDENTITY is assigned OID mib-2 71, defining managed objects for NHRP as specified in RFC 2332. It contains three groups: General, Client, and Server.
This document registers the nhrpMIB MODULE-IDENTITY under mib-2 71 (OID 1.3.6.1.2.1.71), as noted in the IANA Considerations section (Section 5).
Several MIB objects have read-write or read-create access, including nhrpCacheTable, nhrpClientTable, nhrpServerTable entries. Unauthorized write access could disrupt NHRP operation by corrupting address mappings or server/client configuration. The document recommends using SNMPv3 with authentication and privacy to protect management access to this MIB.
nhrpCacheState tracks the resolution state of a cache entry: incomplete(1) when a Resolution Request has been sent but no reply received; ackReply(2) for a valid cached mapping; nakReply(3) for a cached negative mapping.
nhrpClientRegState tracks client registration state with values: other(1), registering(2) when a request is outstanding, ackRegisterReply(3) on positive reply, nakRegisterReply(4) on negative reply (NAK).