Link Management Protocol (LMP) Management Information Base (MIB)
obsoletes
- rfc-4327 — Link Management Protocol (LMP) Management Information Base (MIB)
Extracted elements (26)
LMP control channels are not required to be modeled as SNMP interfaces (lmpCcIsIf may be false(2)), allowing implementations where control channels exist as purely logical connections between adjacent nodes without corresponding ifTable entries. This reduces management overhead when interface modeling provides no benefit.
Retransmission uses exponential backoff where successive intervals grow by factor (1 + lmpNbrRetransmitDelta), implementing RFC 2914 congestion control principles. The lmpNbrRetryLimit of 0 means unlimited retransmission, which is an explicit design choice for links where eventual delivery must be guaranteed.
Setting ifAdminStatus to 'testing' on a TE link's ifEntry is the trigger mechanism for initiating LMP link verification on that TE link, reusing the standard IF-MIB testing state rather than introducing a separate LMP-specific trigger object, maintaining consistency with the Interfaces Group model.
RFC 4631 obsoletes RFC 4327 with minor corrections: TruthValue descriptions are fixed so that true is consistently 1 and false is consistently 2 throughout all object descriptions, and punctuation is added to REFERENCE clauses. Implementations of RFC 4327 may have ambiguous TruthValue interpretations.
TE link information is distributed across three MIB modules that must remain consistent: ifTable (RFC 2863) for interface parameters, lmpTeLinkTable for LMP-specific flags, and teLinkTable in TE-LINK-STD-MIB (RFC 4220) for generic TE link data. All three tables are co-indexed by the same ifIndex value.
The association between data-bearing links and their TE links is stored in ifStackTable (RFC 2863), not within the LMP MIB itself. The protection role (primary or secondary) for data-bearing links is defined in componentLinkTable of TE-LINK-STD-MIB (RFC 4220).
A pair of LMP nodes that both configure lmpCcSetupRole as passive(2) will never establish control channel communications; at least one node in each control channel pair must take the active role to initiate channel establishment.
Implementations SHOULD save lmpAdminStatus, lmpCcHelloIntervalDefault and related defaults, and lmpGlobalLinkVerificationInterval in persistent memory so that configured values survive device restarts or reboots.
None of the writable objects in a conceptual row can be changed if RowStatus is active(1); all read-create objects must have valid and consistent values before a row can be activated. This constraint applies uniformly to lmpNbrTable, lmpControlChannelTable, lmpTeLinkTable, lmpLinkVerificationTable, and lmpDataLinkTable.
The HelloDeadInterval SHOULD be at least three times the value of HelloInterval to ensure reliable dead-link detection before a control channel is declared failed.
When a new lmpControlChannelTable entry is created with lmpCcIsIf set to true(1), a corresponding entry MUST be created in ifTable (RFC 2863), and the control channel SHOULD be modeled with ifType lmp(227) with appropriate interface stacking.
When lmpCcIsIf is true(1) and lmpCcUnderlyingIfIndex is zero, the control channel is not associated with any underlying interface; the control channel's operational status MUST NOT be up(1) and it must not forward or receive traffic.
lmpControlChannelPerfTable provides per-control-channel Counter32 performance counters for all LMP message families: Config, Hello, BeginVerify/EndVerify, TestStatusSuccess/Failure, LinkSummary, ChannelStatus, and ChannelStatusRequest/Response, plus octet, discard, and error counts. lmpCcCounterDiscontinuityTime tracks counter resets.
lmpControlChannelTable configures LMP control channels indexed by lmpCcId (non-zero Unsigned32). Key fields include lmpCcHelloInterval and lmpCcHelloDeadInterval (each with min, max, and post-negotiation read-only variants), lmpCcSetupRole (active/passive), lmpCcAuthentication, lmpCcIsIf, and lmpCcUnderlyingIfIndex.
lmpDataLinkTable specifies data-bearing links associated with TE links, indexed by ifIndex. Fields include lmpDataLinkAddressType, local/remote IP addresses, and lmpDataLinkRemoteIfId. lmpDataLinkType is automatically populated by the node and does not require provisioning.
lmpLinkVerificationTable configures LMP link verification parameters per TE link: lmpLinkVerifyInterval and lmpLinkVerifyDeadInterval, lmpLinkVerifyTransportMechanism (BITS covering payload, DCC section/line overhead bytes, J0/J1/J2 traces), lmpLinkVerifyTransmissionRate (bytes/sec), lmpLinkVerifyWavelength (nm), and lmpLinkVerifyAllLinks.
lmpNbrTable identifies neighbor nodes with which control channels may be established, indexed by lmpNbrNodeId (IPv4). Each entry stores retransmission parameters: lmpNbrRetransmitInterval (default 500 ms), lmpNbrRetryLimit (default 3), and lmpNbrRetransmitDelta (default 1) governing exponential backoff.
lmpTeLinkPerfTable provides per-TE-link Counter32 performance counters mirroring the control channel performance table for all verification and link management message types, plus aggregate octet counts. lmpTeCounterDiscontinuityTime tracks counter resets.
lmpTeLinkTable holds LMP-specific TE link state indexed by ifIndex, with TruthValue flags for link verification (lmpTeLinkVerification), fault management (lmpTeLinkFaultManagement), and DWDM procedure (lmpTeLinkDwdm). Administrative status is controlled via the ifEntry; setting ifAdminStatus to testing triggers link verification.
IANA assigned ifType value 227 (lmp) for LMP control channel interfaces in the IANAifType-MIB, used when LMP control channels are modeled as ifTable entries. The LMP-MIB module is also registered under the transmission(227) OID arc.
The LMP-MIB MODULE-IDENTITY is assigned OID { transmission 227 }, with sub-arcs lmpNotifications(0), lmpObjects(1), and lmpConformance(2). This registration was made by IANA as part of the RFC 4631 publication.
Several writable MIB objects are security-sensitive: unauthorized write access to lmpCcAdminStatus, lmpNbrAdminStatus, or lmpCcAuthentication could disrupt LMP adjacencies or disable authentication on control channels. Implementations should restrict SNMP write access using SNMPv3 USM with authentication and privacy.
lmpCcOperStatus defines six control channel states: up(1), down(2), configSnd(3) — Config message sent awaiting acknowledgment, configRcv(4) — Config message received, active(5), goingDown(6). Transitions are driven by Config/ConfigAck/ConfigNack message exchanges.
lmpTeLinkOperStatus defines five TE link states: up(1), down(2), testing(3) — link verification in progress, init(4), and degraded(5) — no active control channel between endpoint nodes but at least one data-bearing link on the TE link is allocated.
LmpInterval is Unsigned32 in range 1..65535 representing milliseconds, used for Hello and link-verification interval fields. LmpRetransmitInterval extends the range to 1..4294967295 ms, used for lmpNbrRetransmitInterval to accommodate longer exponential backoff sequences.
LmpNodeId textual convention encodes a Node ID as a 4-octet OCTET STRING in network byte order representing an IPv4 address, displayed as dotted-decimal (DISPLAY-HINT '1d.1d.1d.1d'). Used as the index key for lmpNbrTable.