rfc-2677

Definitions of Managed Objects for the NBMA Next Hop Resolution Protocol (NHRP)

M. Greene, J. Cucchiara, J. Luciani
date1999-08 streamIETF areaint wgion statusPROPOSED STANDARD pages67 canonicalhttps://www.rfc-editor.org/rfc/rfc2677 doi10.17487/RFC2677
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. [STANDARDS-TRACK]

Extracted elements (28)

design-rationale §3.1.1

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.

snmp

design-rationale §3.2.2

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.

snmp

interoperability-note §3.1.1

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.

snmp

normative-requirement §2 MUST

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.

snmp

normative-requirement §3.1.1 SHOULD

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).

snmp

normative-requirement §3.2.1 MUST

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.

snmp

normative-requirement §3.1 MUST

The value of nhrpNextIndex MUST be saved in non-volatile storage so that unique indices are preserved across agent re-initializations.

snmp

protocol-element §4

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.

snmp

protocol-element §3.1.1

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.

snmp

protocol-element §4

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.

snmp

protocol-element §4

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.

snmp

protocol-element §3.2.3

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.

snmp

protocol-element §3.2.2

nhrpClientRegistrationTable maintains registration request state per NHC, with nhrpClientRegUniqueness (requestUnique/requestNotUnique, immutable once set) and nhrpClientRegState tracking the registration lifecycle.

snmp

protocol-element §4

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.

snmp

protocol-element §3.2.4

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.).

snmp

protocol-element §3.2.1

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.

snmp

protocol-element §4

NhrpGenAddr is a textual convention defined as OCTET STRING (SIZE 0..64) used to represent internetwork layer or NBMA addresses throughout the MIB.

snmp

protocol-element §3.1

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.

snmp

protocol-element §3.1.2

nhrpPurgeReqTable tracks NHRP Purge Request information, containing nhrpPurgeCacheIdentifier (linking to nhrpCacheTable), nhrpPurgePrefixLength, nhrpPurgeRequestID, and nhrpPurgeReplyExpected (indicating whether the 'N' bit is cleared).

snmp

protocol-element §3.3.2

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).

snmp

protocol-element §3.3.3

nhrpServerNhcTable lists all NHCs known to a server, with per-NHC prefix length, internetwork address, NBMA address/subaddress, and nhrpServerNhcInUse indicating active use.

snmp

protocol-element §3.3.4

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.

snmp

protocol-element §3.3.1

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.

snmp

protocol-element §4

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.

snmp, yang

registry §5

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).

snmp, registry

security-consideration §6

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.

snmp, security

state-machine §4

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.

snmp

state-machine §4

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).

snmp