module ietf-mpls-msd {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-msd";
prefix mpls-msd;
import ietf-routing {
prefix rt;
reference
"RFC 8349: A YANG Data Model for Routing
Management (NMDA Version)";
}
import ietf-mpls {
prefix mpls;
reference
"RFC 8960: A YANG Data Model for MPLS Base";
}
import iana-msd-types {
prefix iana-msd-types;
}
organization
"IETF Multiprotocol Label Switching (MPLS) Working Group";
contact
"WG Web:
WG List:
Author: Yingzhen Qu
Author: Acee Lindem
Author: Stephane Litkowski
Author: Jeff Tantsura
";
description
"This YANG module augments the base MPLS model, and it is to
provide support for different types of Maximum SID Depth (MSD).
This YANG module conforms to the Network Management
Datastore Architecture (NMDA) as described in RFC 8342.
Copyright (c) 2025 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject to
the license terms contained in, the Revised BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC 9702;
see the RFC itself for full legal notices.";
revision 2025-01-10 {
description
"Initial Version";
reference
"RFC 9702: YANG Data Model for Maximum Segment Identifier (SID)
Depth Types and MPLS Maximum SID Depth";
}
grouping msd-type-value {
description
"Grouping for MSD type and value.";
leaf msd-type {
type identityref {
base iana-msd-types:msd-base-mpls;
}
description
"MSD types. The MSD type is defined in IANA 'IGP
MSD-Types' registry.";
}
leaf msd-value {
type uint8;
description
"MSD value, in the range of 0-255. 0 represents the lack
of ability to support a SID stack of any depth.";
}
}
augment "/rt:routing/mpls:mpls" {
description
"This module augments MPLS data model (RFC 8960)
with Node MSD.";
container node-msds {
config false;
description
"Maximum SID Depth (MSD) of a node.";
list node-msd {
key "msd-type";
uses msd-type-value;
description
"List of different types of Node MSDs. For the same
type, the value of Node MSD is the smallest among Link MSD
values.";
}
}
}
augment "/rt:routing/mpls:mpls/mpls:interfaces/mpls:interface" {
description
"This module augments MPLS data model (RFC 8960)
with Link MSD.";
container link-msds {
config false;
description
"Maximum SID Depth (MSD) of an interface.";
list link-msd {
key "msd-type";
uses msd-type-value;
description
"List of different types of MSDs on the link.";
}
}
}
}