rfc-9702

YANG Data Model for Maximum Segment Identifier (SID) Depth (MSD) Types and MPLS MSD

Y. Qu, A. Lindem, S. Litkowski, J. Tantsura
date2025-01 streamIETF areartg wgmpls statusPROPOSED STANDARD pages14 canonicalhttps://www.rfc-editor.org/rfc/rfc9702 doi10.17487/RFC9702
This document defines two YANG modules. The first module is the initial version of the IANA-maintained YANG module for Maximum Segment Identifier (SID) Depth (MSD) Types, which includes identities for both the MPLS data plane and Segment Routing over IPv6 (SRv6) data plane. The second module augments the IETF MPLS YANG data model to provide support for MPLS MSDs as defined in RFCs 8476 and 8491.

Extracted elements (20)

design-rationale §6.2

MSD identities are organized hierarchically by data plane (msd-base-mpls, msd-base-srh) so that when a new data plane is added to the registry, a new base identity is defined rather than placing all types under a single flat base.

yang, mpls

design-rationale §2.1

The iana-msd-types module is IANA-maintained and will be updated whenever the 'IGP MSD-Types' registry changes, ensuring the YANG model stays in sync with protocol assignments without requiring a new RFC for each addition.

yang, registry, mpls

design-rationale §2.2

The node-msds and link-msds data nodes are defined as read-only (config false) because they expose hardware capability, not configurable parameters, reflecting the operational state nature of MSD values.

yang, mpls, netconf

interoperability-note §4.2

The ietf-mpls-msd module conforms to the Network Management Datastore Architecture (NMDA) as described in RFC 8342, and imports ietf-routing (RFC 8349) and ietf-mpls (RFC 8960) as dependencies.

yang, netconf, mpls

normative-requirement §6.2 MUST NOT

New values must not be directly added to the 'iana-msd-types' YANG module; they must instead be added to the 'IGP MSD-Types' registry in the 'Interior Gateway Protocol (IGP) Parameters' registry group.

registry, yang, mpls

normative-requirement §6.2 MUST

When an MSD type is added to the 'IGP MSD-Types' registry, a new 'identity' statement must be added to the 'iana-msd-types' YANG module with name derived from the type name (lowercase, spaces replaced with '-'), appropriate base, description, and reference sub-statements.

registry, yang, mpls

normative-requirement §6.2 MUST

When the 'iana-msd-types' YANG module is updated, a new 'revision' statement with a unique revision date must be added in front of the existing revision statements.

yang, registry

normative-requirement §6.2 MUST

When the 'IGP MSD-Types' registry is modified, the YANG module 'iana-msd-types' must be updated as defined in RFC 9702.

registry, yang, mpls

protocol-element §4.1

Four SRv6 SRH MSD identities are defined under msd-base-srh: srh-max-sl (Maximum Segments Left), srh-max-end-pop (Maximum End Pop), srh-max-h-encaps (Maximum H.Encaps), and srh-max-end-d (Maximum End D), all referencing RFC 9352.

mpls, yang, routing

protocol-element §4.1

Identity 'base-mpls-imposition-msd' (base: msd-base-mpls) represents the Base MPLS Imposition MSD type as defined in RFCs 8491 and 8476, also referenced by PCEP (RFC 8664) and BGP-LS (RFC 8814).

mpls, yang, routing

protocol-element §4.1

Identity 'erld-msd' (base: msd-base-mpls) represents the Entropy Readable Label Depth (ERLD) MSD type used to advertise ERLD capability as defined in RFCs 8662 and 9088.

mpls, yang

protocol-element §2.1

Module iana-msd-types defines YANG identities for Maximum SID Depth (MSD) Types mirroring the IANA 'IGP MSD-Types' registry, with base identity 'msd-base', and sub-bases 'msd-base-mpls' for MPLS data plane and 'msd-base-srh' for SRH/IPv6 data plane.

mpls, yang, registry

protocol-element §2.2

Module ietf-mpls-msd augments the IETF MPLS YANG data model (RFC 8960) to expose Node MSD and Link MSD as read-only operational state. Node MSD is the smallest MSD across all links; Link MSD is the MSD supported by a specific interface.

mpls, yang, netconf

protocol-element §4.2

The link-msds container (config false) under /rt:routing/mpls:mpls/mpls:interfaces/mpls:interface holds a list of link-msd entries keyed by msd-type, exposing per-interface MSD hardware capabilities.

mpls, yang

protocol-element §4.2

The msd-type-value grouping defines two leaves: 'msd-type' (identityref based on iana-msd-types:msd-base-mpls) and 'msd-value' (uint8, range 0-255, where 0 indicates inability to support any SID stack depth).

mpls, yang

protocol-element §4.2

The node-msds container (config false) under /rt:routing/mpls:mpls holds a list of node-msd entries keyed by msd-type, exposing the node's hardware MSD capabilities per type.

mpls, yang

registry §6.2

IANA has added a 'Data Plane' column to the 'IGP MSD-Types' registry to identify the base identity for each MSD type. Existing assignments include value 1 (Base MPLS Imposition MSD, MPLS), value 2 (ERLD-MSD, MPLS), values 41-42 and 44-45 (SRH types, SRv6), and values 251-254 (Experimental Use).

registry, mpls, yang

registry §6.1

RFC 9702 registers two YANG module URIs in the IETF XML registry and two module names in the 'YANG Module Names' registry: 'iana-msd-types' (IANA-maintained) and 'ietf-mpls-msd' (not IANA-maintained).

registry, yang, mpls

security-consideration §5

Exposure of node-msds and link-msds data nodes may be exploited to mount Denial-of-Service (DoS) attacks by sending packets that exceed the router's SID stack processing capability; read access to these nodes should be restricted via NACM (RFC 8341).

security, mpls, yang

security-consideration §5

YANG modules defined here are accessed via NETCONF (mandatory secure transport: SSH per RFC 6242) or RESTCONF (mandatory secure transport: TLS per RFC 8446); NACM (RFC 8341) should be used to restrict access to sensitive MSD data nodes.

security, yang, netconf, tls