rfc-9902

A YANG Data Model for IS-IS Segment Routing over the MPLS Data Plane

S. Litkowski, Y. Qu, A. Lindem, I. Chen, J. Tantsura
date2025-12 streamIETF areartg wglsr statusPROPOSED STANDARD pages30 canonicalhttps://www.rfc-editor.org/rfc/rfc9902 doi10.17487/RFC9902
This document defines a YANG data model that can be used to manage IS-IS extensions for Segment Routing (SR) over the MPLS data plane.

Extracted elements (25)

design-rationale §2

The module is structured as an augmentation to the IS-IS YANG data model (RFC 9130) rather than a standalone model, allowing SR MPLS extensions to be activated independently while reusing the base IS-IS configuration and state structure. This follows the layered design of the SR YANG framework (RFC 9020 as base, RFC 9130 as IS-IS base).

yang, mpls, routing

design-rationale §3

The 'remote-lfa-sr' and 'ti-lfa' capabilities are modeled as YANG features rather than mandatory nodes, allowing implementations to advertise optional FRR capabilities without requiring all implementations to support both LFA variants.

yang, mpls, routing

interoperability-note §3

The module references and imports RFC 9020 (SR YANG base), RFC 9130 (IS-IS YANG base), RFC 8667 (IS-IS SR extensions protocol), RFC 8402 (SR architecture), and RFC 9855 (TI-LFA); implementations must support these base modules for the augmentations to apply correctly.

yang, mpls, routing

protocol-element §3

Adjacency-SID sub-TLV (grouping adjacency-segment-id) carries adj-sid-flags (F, B, V/I, L/G, S, P/E flags), weight (uint8), optional neighbor-id (isis:system-id, used on LAN adjacencies only), and SID encoding.

yang, mpls, routing

protocol-element §3

Adjacency state (grouping adjacency-state) is a read-only (config false) list of adjacency-sid entries carrying value (uint32), address-family, weight (uint8), and protection-requested (boolean), augmented into the IS-IS adjacency operational state.

yang, mpls, routing

protocol-element §3

LAN adjacency-SID configuration requires a mandatory neighbor-system-id leaf (isis:system-id type), added via augmentation of the adj-sids list when the interface-type is 'broadcast'. This distinguishes LAN adj-SIDs from point-to-point adj-SIDs.

yang, mpls, routing

protocol-element §2.2

Mapping server policy advertisement is controlled via 'bindings/advertise/policies' leaf-list; by default IS-IS will not advertise or process any mapping server entry. Reception of mapping server entries is controlled by the 'bindings/receive' leaf.

yang, mpls, routing

protocol-element §3

Per-protocol SRGB (protocol-srgb container, requiring sr-mpls:protocol-srgb feature) allows configuration of a protocol-specific Segment Routing Global Block with lower-bound and upper-bound uint32 leaves, distinct from the global SRGB.

yang, mpls, routing

protocol-element §3

Prefix-SID sub-TLV (grouping prefix-sid-sub-tlv) carries prefix-sid-flags (R, N, P, E, V, L flags as identityrefs), an algorithm field (identityref to prefix-sid-algorithm), and SID encoding (label or index). Used in extended-ipv4-reachability, mt-extended-ipv4-reachability, ipv6-reachability, and mt-ipv6-reachability LSDB augmentations.

yang, mpls, routing

protocol-element §3

RLFA SR path augmentation adds a 'use-segment-routing-path' boolean leaf (default false, requires 'remote-lfa-sr' feature) to force RLFA to use an SR path instead of LDP, effective only when remote-lfa is enabled.

yang, mpls, routing

protocol-element §3

SID/Label Binding TLV type 149 (grouping sid-binding-tlv) carries a prefix (inet:ip-prefix as FEC), range (uint16), binding flags (F, M, S, D, A), and lists of prefix-sid-sub-tlvs and sid-sub-tlvs. Multi-Topology variant (type 150) adds a 12-bit mt-id field.

yang, mpls, routing

protocol-element §2.1

SR activation is controlled by setting the 'enable' leaf to true under /isis:isis/segment-routing. This triggers advertisement of SR MPLS extensions based on parameters configured via the base SR module.

yang, mpls, routing

protocol-element §3

SR Algorithm sub-TLV (grouping sr-algorithm) carries a leaf-list sr-algorithm of identityrefs to sr-cmn:prefix-sid-algorithm, advertising all SR algorithms the router is currently using.

yang, mpls, routing

protocol-element §3

SR Capability sub-TLV (grouping sr-capability) carries sr-capability-flag leaf-list (identityref based on sr-capability identity, with mpls-ipv4 and mpls-ipv6 values) and a global-blocks list of SRGBs, each with range-size (uint24) and SID encoding.

yang, mpls, routing

protocol-element §3

SR Local Block (SRLB) grouping carries a list of local-blocks, each with range-size (rt-types:uint24) and SID encoding (label or index), representing the locally significant label range.

yang, mpls, routing

protocol-element §3

SRMS Preference TLV (grouping srms-preference) carries a single preference leaf (uint8, 0-255) where 255 is most preferred, used to advertise preference of a node acting as SR Mapping Server.

yang, mpls, routing

protocol-element §2

The 'ietf-isis-sr-mpls' YANG module augments the IS-IS base model (RFC 9130) with SR MPLS extensions, requiring support for the base SR module (RFC 9020). It defines data nodes for configuring IS-IS SR MPLS extensions and additions to IS-IS LSPs necessary to support MPLS SR.

yang, netconf, mpls, routing

protocol-element §2.3

The module augments the Fast Reroute (FRR) container under interface to support Topology Independent Loop-Free Alternate (TI-LFA) and enhanced Remote LFA (RLFA) using SR tunneling instead of LDP.

yang, mpls, routing

protocol-element §3

TI-LFA container augments the IS-IS interface LFA fast-reroute configuration with an 'enabled' boolean (default false) and selection-tie-breakers for node-protection and srlg-disjoint, each with a priority (uint8, default 128, lower is more preferred). Requires the 'ti-lfa' feature.

yang, mpls, routing

registry §5

IANA assigned URI 'urn:ietf:params:xml:ns:yang:ietf-isis-sr-mpls' in the IETF XML Registry (RFC 3688) for the module namespace.

registry, yang

registry §5

IANA registered YANG module name 'ietf-isis-sr-mpls' with namespace 'urn:ietf:params:xml:ns:yang:ietf-isis-sr-mpls' and prefix 'isis-sr-mpls' in the YANG Module Names registry (RFC 6020).

registry, yang

security-consideration §4

Readable operational state nodes including sr-capability, sr-algorithms, local-blocks, srms-preference, and all LSDB augmentations can disclose operational state of the IS-IS protocol; read access should be controlled via NACM.

yang, security, routing

security-consideration §4

Writable data nodes including /isis:isis/segment-routing, /isis:isis/protocol-srgb, and interface-level segment-routing and TI-LFA containers are sensitive; unauthorized write or delete operations can cause a Denial-of-Service by dropping or misrouting traffic.

yang, security, mpls, routing

security-consideration §4

YANG-based management protocols (NETCONF, RESTCONF) accessing this module must use a secure transport layer (SSH, TLS, QUIC) and must use mutual authentication. The NACM (RFC 8341) should be used to restrict access to authorized users.

yang, netconf, security, tls

wire-format §3

The SID TLV encoding (grouping sid-tlv-encoding) represents either a 20-bit MPLS label (label-value, uint32 range 0..1048575) or a 32-bit SID index (index-value, uint32). Interpretation depends on V-Flag and L-Flag: V=0,L=0 means 4-octet index; V=1,L=1 means 3-octet local label using the 20 rightmost bits.

yang, mpls, routing