rfc-4803

Generalized Multiprotocol Label Switching (GMPLS) Label Switching Router (LSR) Management Information Base

T. Nadeau (Editor), A. Farrel (Editor)
date2007-02 streamIETF areartg wgccamp statusPROPOSED STANDARD pages42 canonicalhttps://www.rfc-editor.org/rfc/rfc4803 doi10.17487/RFC4803 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 to configure and/or monitor a Generalized Multiprotocol Label Switching (GMPLS) Label Switching Router (LSR). [STANDARDS-TRACK]

Extracted elements (26)

design-rationale §5

Bidirectional LSPs share a single mplsXCIndex across all segments to facilitate simple references from MPLS-TE-STD-MIB and GMPLS-TE-STD-MIB and to make fate-sharing obvious. A direction indicator on each segment (forward/reverse) prevents incorrectly connecting all in-segments to all out-segments.

mpls

design-rationale §4.2

Labels may optionally be stored in gmplsLabelTable even when 32-bit representation suffices, to allow disambiguation of GMPLS label types or to consolidate all label storage in a single table in mixed MPLS and GMPLS systems. This is an operator choice, not a requirement.

mpls

design-rationale §1.1

The GMPLS-LSR-STD-MIB uses sparse augmentation of MPLS-LSR-STD-MIB tables rather than replacement, so that migration from MPLS to GMPLS management requires only adding new table support without removing existing MPLS objects. The gmplsInterfaceSignalingCaps object also allows GMPLS-LSR-STD-MIB to be deployed on MPLS-only interfaces for supplemental information.

mpls

design-rationale §4.1.2

The gmplsLabelTable was introduced because the existing MplsLabel textual convention (32-bit) cannot represent all GMPLS label types. GMPLS generalized labels vary in length and bit-by-bit interpretation depending on the switching technology (e.g., MPLS packet labels differ fundamentally from TDM timeslot labels).

mpls

interoperability-note §7

Full compliance with GMPLS-LSR-STD-MIB requires mandatory support for IF-MIB groups (ifGeneralInformationGroup, ifCounterDiscontinuityGroup), all MPLS-LSR-STD-MIB mandatory groups, and the three GMPLS groups (gmplsInterfaceGroup, gmplsInSegmentGroup, gmplsOutSegmentGroup). GMPLS-LABEL-STD-MIB is not mandatory if all labels fit within 32 bits.

mpls

interoperability-note §1.1

MPLS implementations using MPLS-LSR-STD-MIB may reference labels held in GMPLS-LABEL-STD-MIB via label pointer objects (such as mplsInSegmentLabelPtr) without implementing GMPLS-LSR-STD-MIB. This allows incremental adoption of the GMPLS label table by purely MPLS deployments.

mpls

normative-requirement §7 MUST

A gmplsInterfaceEntry MUST be deleted shortly after the corresponding entry in mplsInterfaceTable is deleted or the associated ifTable entry becomes operationally disabled (removing GMPLS capabilities on the interface).

mpls

normative-requirement §9 RECOMMENDED

It is RECOMMENDED that implementers support SNMPv3 with full cryptographic mechanisms (authentication and privacy). Deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED; SNMPv3 with cryptographic security SHOULD be deployed instead.

mpls, security

normative-requirement §7 MUST NOT

The gmplsInSegmentDirection and gmplsOutSegmentDirection objects cannot be modified when the corresponding mplsInSegmentRowStatus or mplsOutSegmentRowStatus is active(1). Similarly, no objects in a gmplsLabelEntry (except gmplsLabelRowStatus and gmplsLabelStorageType) can be modified when the row is active(1).

mpls

normative-requirement §8 MUST

The gmplsLabelStorageType agent MUST ensure that the storage type of a gmplsLabelTable row remains at least as permanent as any row in other tables that contains a pointer to it, maintaining consistency across MIB tables.

mpls

normative-requirement §8 SHOULD

The gmplsLabelSubindex SHOULD be set to zero for labels that are not composed of concatenated sub-labels. The label sub-index with the lowest value appears first in the concatenation ordering.

mpls

normative-requirement §8 MUST

When a row in gmplsLabelTable is created using the index value held in gmplsLabelIndexNext, an implementation MUST change the value in gmplsLabelIndexNext to prevent duplicate index assignment by concurrent management applications.

mpls

normative-requirement §8 MUST

When gmplsLabelInterface is set to zero, the label MUST have applicability across the whole system and not be limited to a single interface. This allows system-wide label representation independent of a specific interface.

mpls

protocol-element §8

Label concatenation is supported via the gmplsLabelSubindex field (Unsigned32), allowing a single GMPLS label to be composed of multiple sub-labels stored as distinct rows sharing the same gmplsLabelInterface and gmplsLabelIndex. Sub-labels are ordered strictly by ascending gmplsLabelSubindex; for non-concatenated labels this SHOULD be zero.

mpls

protocol-element §8

SONET/SDH Generalized Labels are encoded across five objects: gmplsLabelSonetSdhSignalIndex (Integer32 0..4095, Signal Index S), gmplsLabelSdhVc (Integer32 0..15, VC Indicator U), gmplsLabelSdhVcBranch (Integer32 0..15, Branch K), gmplsLabelSonetSdhBranch (Integer32 0..15, Branch L), and gmplsLabelSonetSdhGroupBranch (Integer32 0..15, Group Branch M). Zero in any field means non-significant.

mpls

protocol-element §7

The gmplsInSegmentTable sparse-augments mplsInSegmentTable (RFC 3813) and adds two GMPLS-specific objects per incoming LSP segment: gmplsInSegmentDirection (GmplsSegmentDirectionTC, default forward) and gmplsInSegmentExtraParamsPtr (RowPointer to technology-specific parameters, default zeroDotZero).

mpls

protocol-element §7

The gmplsInterfaceSignalingCaps object is a BITS type with values unknown(0), rsvpGmpls(1), crldpGmpls(2) (deprecated), and otherGmpls(3). Setting no bits means all LSPs must be manually provisioned; if 'unknown' is set, no other bit may be set. Default is rsvpGmpls.

mpls

protocol-element §7

The gmplsInterfaceTable sparse-augments mplsInterfaceTable (RFC 3813) to enable GMPLS capability on MPLS interfaces. It contains two objects: gmplsInterfaceSignalingCaps (BITS indicating RSVP-GMPLS, CR-LDP-GMPLS, or other signaling) and gmplsInterfaceRsvpHelloPeriod (Unsigned32, milliseconds, default 3000).

mpls

protocol-element §8

The gmplsLabelIndexNext object (IndexIntegerNextFree) provides a management application with an unused value suitable for use as gmplsLabelIndex when creating a new row. A value of zero indicates no unused value is available. The implementation MUST update this object whenever a row is created using the held index value.

mpls

protocol-element §8

The gmplsLabelTable (in GMPLS-LABEL-STD-MIB) stores GMPLS label values of variable length that cannot be encoded in the 32-bit MplsLabel textual convention. It is indexed by (gmplsLabelInterface, gmplsLabelIndex, gmplsLabelSubindex) and supports six label types: MPLS packet label, port/wavelength, freeform, SONET, SDH, and waveband.

mpls

protocol-element §8

The gmplsLabelType object identifies which sub-objects are valid in a gmplsLabelEntry: gmplsMplsLabel(1) uses gmplsLabelMplsLabel; gmplsPortWavelengthLabel(2) uses gmplsLabelPortWavelength; gmplsFreeformLabel(3) uses gmplsLabelFreeform; gmplsSonetLabel(4) and gmplsSdhLabel(5) use SONET/SDH signal index fields; gmplsWavebandLabel(6) uses waveband ID, start, and end.

mpls

protocol-element §7

The gmplsOutSegmentTable sparse-augments mplsOutSegmentTable (RFC 3813) and adds three objects: gmplsOutSegmentDirection (GmplsSegmentDirectionTC, default forward), gmplsOutSegmentTTLDecrement (Unsigned32 for per-hop TTL decrement, default 0), and gmplsOutSegmentExtraParamsPtr (RowPointer, default zeroDotZero).

mpls

protocol-element §8

Waveband Labels are encoded using three objects: gmplsLabelWavebandId (Unsigned32, waveband identifier), gmplsLabelWavebandStart (Unsigned32, starting label), and gmplsLabelWavebandEnd (Unsigned32, end label). All three are only valid when gmplsLabelType is gmplsWavebandLabel(6).

mpls

registry §11

IANA assigned OID subtree entries under mplsStdMIB (1.3.6.1.2.1.10.166): decimal 15 for GMPLS-LSR-STD-MIB and decimal 16 for GMPLS-LABEL-STD-MIB, both rooted under the mplsStdMIB subtree as defined in RFC 3811. Future GMPLS-related standards-track MIB modules should also be rooted under mplsStdMIB.

mpls, registry, yang

security-consideration §9

Readable objects in gmplsInterfaceTable, gmplsInSegmentTable, gmplsOutSegmentTable, and gmplsLabelTable collectively expose the LSP network topology and its capabilities. Operators who do not wish to reveal this information should treat these tables as sensitive and control GET/NOTIFY access, potentially encrypting values sent over SNMP.

mpls, security

security-consideration §9

Unauthorized write access to gmplsInterfaceTable, gmplsInSegmentTable, gmplsOutSegmentTable, and gmplsLabelTable could result in disruption of traffic on the network, especially if an LSP has already been established. SET operations on these tables in a non-secure environment without proper protection can have a negative effect on network operations.

mpls, security