rfc-7420

Path Computation Element Communication Protocol (PCEP) Management Information Base (MIB) Module

A. Koushik, E. Stephan, Q. Zhao, D. King, J. Hardwick
date2014-12 streamIETF areartg wgpce statusPROPOSED STANDARD pages65 canonicalhttps://www.rfc-editor.org/rfc/rfc7420 doi10.17487/RFC7420 errataview
This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling of the Path Computation Element Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between two PCEs.

Extracted elements (23)

design-rationale §3.3

During session initialization, pcePcepSessTable may transiently contain two rows for the same peer — one for the locally initiated TCP connection and one for the peer-initiated connection — distinguished by the pcePcepSessInitiator index. Once either reaches sessionUp, the other is discarded. This is why pcePcepSessInitiator is part of the table index.

routing

design-rationale §3.2

pcePcepPeerTable retains rows for peers even when no PCEP session currently exists, so that aggregate statistics spanning multiple successive sessions remain accessible. An implementation MAY discard a row only if no session exists to that peer, allowing optional cleanup of ephemeral peer state.

routing

design-rationale §3.3

Statistics in pcePcepSessTable and pcePcepPeerTable are semantically distinct: pcePcepSessTable tracks only the current session, while pcePcepPeerTable aggregates across all sessions to that peer over time. This dual-level design supports both real-time session debugging and historical trend analysis.

routing

design-rationale §3

The PCEP MIB is intentionally limited to read-only access for all objects except pcePcepNotificationsMaxRate. This design confines the MIB's role to monitoring and prevents SNMP-based modification of PCEP operational parameters, reducing the attack surface.

routing, snmp, security

interoperability-note §4.1

The compliance statement (pcePcepModuleReadOnlyCompliance) restricts pcePcepEntityAddrType to only unknown(0), ipv4(1), and ipv6(2). The corresponding restriction on pcePcepPeerAddrType is intentionally omitted from the formal MODULE-COMPLIANCE due to an SMIv2 limitation that disallows restricting index objects in scope, though the same restriction is intended.

routing, snmp

normative-requirement §4.1 MUST

If pcePcepSessState is tcpPending or openWait, then pcePcepSessRemoteID MUST be set to zero, as the peer's session ID is not yet known from the peer's Open message.

routing

normative-requirement §4.1 MUST

pcePcepEntityMaxUnknownMsgs defines the maximum number of unknown messages any session on this entity will accept per minute before terminating the session, providing a rate-limiting defense against malformed or unexpected traffic.

routing, security

normative-requirement §4.1 MUST

pcePcepEntityMaxUnknownReqs defines the maximum number of unrecognized requests and replies any session will accept per minute before terminating the session. An unrecognized reply has an RP object whose request ID does not match any in-progress request; an unrecognized request has a request ID of zero.

routing, security

normative-requirement §4.1 MUST

pcePcepSessKeepaliveTimer and pcePcepSessPeerKeepaliveTimer are used if and only if pcePcepSessState is sessionUp; otherwise they MUST be set to zero. Similarly, pcePcepSessPeerDeadTimer and pcePcepSessKAHoldTimeRem MUST be zero in tcpPending or openWait states.

routing

normative-requirement §4.1 MUST

pcePcepSessOverloadTime MUST be set to zero when pcePcepSessOverloaded is false; pcePcepSessPeerOverloadTime MUST be zero when pcePcepSessPeerOverloaded is false. These fields are only meaningful when the respective overload flag is true.

routing

normative-requirement §4.1 MUST

When the SyncTimer (pcePcepEntitySyncTimer) expires before all M synchronized path computation requests referenced in an SVEC object have been received, the PCE MUST cancel the whole set of path computation requests and trigger a protocol error. A value of zero means the entity does not use the SyncTimer.

routing

protocol-element §4.1

pcePcepNotificationsMaxRate is the sole read-write object in the MIB; all other objects are read-only. It controls the maximum number of notifications emitted per second; a value of zero means all notifications are discarded and none queued.

routing, snmp

protocol-element §4.1

pcePcepPeerRole identifies the role a peer played in its last established session: unknown(0), pcc(1), pce(2), or pccAndPce(3). Response-time statistics (pcePcepPeerAvgRspTime, LWMRspTime, HWMRspTime) are meaningless and set to zero when the peer role is pcc, since PCCs do not respond to path computation requests.

routing

protocol-element §3.4

Six SNMP NOTIFICATION-TYPEs are defined: pcePcepSessUp and pcePcepSessDown (session state changes), pcePcepSessLocalOverload and pcePcepSessLocalOverloadClear (local entity overload events), pcePcepSessPeerOverload and pcePcepSessPeerOverloadClear (peer overload events). Each carries relevant session state objects as varbinds.

routing, snmp

protocol-element §4.1

The pcePcepEntityAddr and pcePcepEntityAddrType objects specify the local IP address of the PCEP entity. When acting as a PCE server, the entity listens on this address; when acting as a PCC, it binds outgoing TCP connections to this address. An entity can simultaneously act as both PCC and PCE server on the same address.

routing

protocol-element §3.1

The pcePcepEntityTable contains one row per local PCEP entity, holding administrative status, operational status, IP address, and all timer/limit configuration (ConnectTimer, KeepAliveTimer, DeadTimer, MaxSessions, MaxUnknownReqs, MaxUnknownMsgs, etc.). All entries are read-only.

routing, snmp

protocol-element §3.2

The pcePcepPeerTable contains one row per known remote PCEP speaker, indexed by pcePcepEntityIndex + InetAddressType + InetAddress. It aggregates statistics (message counts, response times, session setup successes/failures) across all sessions to that peer and persists entries even when no active session exists.

routing, snmp

protocol-element §3.3

The pcePcepSessTable contains one row per active PCEP session (non-idle), indexed by pcePcepEntityIndex + peer address + pcePcepSessInitiator. Statistics here apply to the current session only, in contrast to the aggregate statistics in pcePcepPeerTable. The entry is removed when the session returns to idle.

routing, snmp

registry §6

IANA assigned the PCE-PCEP-MIB module the OID { mib-2 227 } under the Internet-Standard Management Framework. This is the authoritative object identifier for the PCEP management module defined in this document.

registry, routing, snmp

security-consideration §5

The PCEP MIB exposes sensitive operational data including session state, peer addresses, timer values, and traffic statistics. SNMPv3 with authentication and privacy (authPriv security level) is strongly recommended to prevent unauthorized read access and to protect counter data from being observed by eavesdroppers who could use it for traffic analysis.

security, routing, snmp

security-consideration §5

The sole read-write object, pcePcepNotificationsMaxRate, could be used by an attacker to suppress PCEP event notifications entirely by setting it to zero, masking session failures or overload conditions from network management systems. Write access to this object should be strictly controlled via SNMP access control.

security, routing, snmp

state-machine §4.1

The pcePcepEntityOperStatus object defines six operational states for a local PCEP entity: operStatusUp(1), operStatusDown(2), operStatusGoingUp(3), operStatusGoingDown(4), operStatusFailed(5) — will recover automatically, operStatusFailedPerm(6) — requires operator intervention to recover.

routing

state-machine §4.1

The pcePcepSessState object defines four session states: tcpPending(1) — TCP connection being established; openWait(2) — waiting for Open message; keepWait(3) — waiting for Keepalive or PCErr after Open exchange; sessionUp(4) — session fully active. The idle state is not represented because entries are absent from pcePcepSessTable in idle state.

routing