<?xml version="1.0" encoding="US-ASCII"?> version='1.0' encoding='UTF-8'?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
  <!ENTITY RFC3688 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml'> nbsp    "&#160;">
  <!ENTITY RFC6020 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6020.xml'> zwsp   "&#8203;">
  <!ENTITY RFC6241 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6241.xml'> nbhy   "&#8209;">
  <!ENTITY RFC6242 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6242.xml'>
    <!ENTITY RFC7950 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.7950.xml'>
    <!ENTITY RFC8040 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8040.xml'>
    <!ENTITY RFC8340 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8340.xml'>
    <!ENTITY RFC8341 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8341.xml'>
    <!ENTITY RFC8342 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8342.xml'>
    <!ENTITY RFC8349 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8349.xml'>
    <!ENTITY RFC8446 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8446.xml'>
    <!ENTITY RFC8476 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8476.xml'>
    <!ENTITY RFC8491 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8491.xml'>
    <!ENTITY RFC8662 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8662.xml'>
    <!ENTITY RFC8960 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8960.xml'>
    <!ENTITY RFC9088 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.9088.xml'>
    <!ENTITY RFC9110 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.9110.xml'>
    <!ENTITY RFC9352 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.9352.xml'> wj     "&#8288;">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="no" ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>

<?rfc rfcedstyle="yes" ?>
<?rfc subcompact="no" ?>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-mpls-msd-yang-12" ipr="trust200902"> number="9702" consensus="true" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3">

<!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add [rfced] Please note that the attributes updates="NNNN" and obsoletes="NNNN"
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in of the page header - it is only necessary document has been updated
to expand abbreviations per Section 3.6 of RFC 7322 ("RFC Style
Guide"). Please let us know if the
         full title is longer than 39 characters you prefer otherwise.

Original:
YANG Data Model for Maximum SID Depth Types and MPLS Maximum SID Depth

Current:
YANG Data Model for Maximum Segment Identifier (SID) Depth Types
and MPLS Maximum SID Depth
-->
  <front>
    <title abbrev="MPLS MSD YANG">YANG Data Model for Maximum SID Segment Identifier (SID) Depth Types and MPLS Maximum SID Depth </title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->
    <seriesInfo name="RFC" value="9702"/>
    <author fullname="Yingzhen Qu" initials="Y" surname="Qu">
      <organization>Futurewei Technologies</organization>
      <address>
        <email>yingzhen.ietf@gmail.com</email>
      </address>
    </author>
    <author fullname="Acee Lindem" initials="A." surname="Lindem">
      <organization>LabN Consulting, L.L.C.</organization>
      <address>
        <email>acee.ietf@gmail.com</email>
      </address>
    </author>
    <author fullname="Stephane Litkowski" initials="S" surname="Litkowski">
      <organization>Cisco Systems</organization>
      <address>
        <email>slitkows.ietf@gmail.com</email>
      </address>
    </author>
    <author fullname="Jeff Tantsura" initials="J" surname="Tantsura">
      <organization>Nvidia</organization>
      <address>
        <email>jefftant.ietf@gmail.com</email>
      </address>
    </author>

    <date/>
    <date month="December" year="2024"/>

    <area>RTG</area>
    <workgroup>mpls</workgroup>

<!-- If the month and year are both specified and are the current ones, xml2rfc will fill
         in the current day for you. If only the current year is specified, xml2rfc will fill [rfced] Please insert any keywords (beyond those that appear in
the current day and month for you. If the year is not the current one, it is
   necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
   purpose of calculating the expiry date).  With drafts it is normally sufficient to
   specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>General</area>

    <workgroup>MPLS Working Group</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine title) for individual submissions.
   If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect use on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. https://www.rfc-editor.org/search. -->

<keyword>example</keyword>

    <abstract>
      <t>This document defines two YANG data modules. The first is the initial
      version of the IANA-maintained YANG module for Maximum Segment
      Identifier (SID)
        Depths (MSDs) Depth (MSD) Types, which includes identities for both
      the MPLS data plane and SRv6 Segment Routing over IPv6 (SRv6) data planes. plane. The second augments the IETF MPLS YANG model to provide support for MPLS MSDs as defined in RFC RFCs 8476 and RFC
      8491. </t>
    </abstract>
  </front>
  <middle>
    <section title="Overview"> numbered="true" toc="default">
      <name>Overview</name>
      <t>There are two YANG modules defined in this document. Module
      iana-msd-types defines the identities for Maximum Segment Identifier (SID) SID Depth (MSD) Types as per the "IGP MSD-Types" IANA IGP MSD-Types registry <xref target="IANA-IGP-MSD-Types"/>,
      target="IANA-IGP-MSD-Types" format="default"/>, which include includes MSD types
      for both the MPLS data plane and the SRv6 data plane. planes. This document also
      defines module ietf-mpls-msd augmenting the IETF MPLS YANG data model <xref target="RFC8960"/>,
      target="RFC8960" format="default"/>, which itself augments the routing RIB data
      model <xref target="RFC8349"/>, target="RFC8349" format="default"/> to provide operational
      state for various MSDs<xref target="RFC8662"/> MSDs <xref target="RFC8662" format="default"/> for the
      MPLS data plane. The module augments the base MPLS model with a list of
      various types of node MSDs, Node MSDs as well as various types of MSDs on links.
      </t>
      <t>
        The YANG modules in this document conform to the Network Management
        Datastore Architecture (NMDA) <xref target="RFC8342"/>. target="RFC8342" format="default"/>.
      </t>
    </section>
    <section title="Design numbered="true" toc="default">
      <name>Design of the Model"> Model</name>
      <section title="IANA numbered="true" toc="default">
        <name>IANA MSD Types Module"> Module</name>
        <t>
        IANA has created an IANA-managed a registry titled "IGP MSD-Types"
        under the "Interior Gateway Protocol (IGP) Parameters" registry group to
        identify MSD-Types. Module iana-msd-types is an IANA-maintained
        module, which defines the identities for the MSD-Types as in the
        IANA IGP MSD-Types "IGP MSD-Types" registry.
        </t>
        <t>
        On top of the base identity "msd-base", identity "msd-base-mpls"
        is defined to serve as the base for MSD types for the MPLS data
        plane, and identity "msd-base-srh" is defined to serve as the
        base for MSD types for the Segment Routing Header (SRH) in the IPv6
        data plane.
        </t>
        <t>
        This module will be is maintained by IANA and will be updated if and when
        there is any change to the registry.
        </t>
      </section>
      <section title="IETF numbered="true" toc="default">
        <name>IETF MPLS MSD Module"> Module</name>
        <t>
        Module ietf-mpls-msd augments the base MPLS model <xref target="RFC8960"/>, target="RFC8960" format="default"/>,
        and it provides support of different types of MSDs in the
        MPLS data plane.
        </t>
        <t>
        As defined in <xref target="RFC8491"/>, target="RFC8491" format="default"/>, a Link MSD is
        the number of SIDs supported by a node's link, while a Node MSD is
        the smallest MSD supported by the node across all its interfaces.
        The module defines lists
        of MSDs with different MSD Types for a node and links. Please
        note that these are read-only data as per the node's hardware
        capability.
        </t>
      </section>
    </section>
    <section title="Tree numbered="true" toc="default">
      <name>Tree for IETF MPLS MSD Types YANG Module"> Module</name>
      <t>
      This document uses the graphical representation of data models
      per <xref target="RFC8340"/>. target="RFC8340" format="default"/>.
      </t>
    <figure align="left">
      <artwork align="left">

<sourcecode name="" type="yangtree">
module: ietf-mpls-msd

  augment /rt:routing/mpls:mpls:
    +--ro node-msds
       +--ro node-msd* [msd-type]
          +--ro msd-type     identityref
          +--ro msd-value?   uint8
  augment /rt:routing/mpls:mpls/mpls:interfaces/mpls:interface:
    +--ro link-msds
       +--ro link-msd* [msd-type]
          +--ro msd-type     identityref
          +--ro msd-value?   uint8

      </artwork>
    </figure>
</sourcecode>

    </section>
    <section title="YANG Modules"> numbered="true" toc="default">
      <name>YANG Modules</name>
      <t>There are two YANG modules defined in this document.</t>
      <section anchor="iana-msd-types" title="IANA-Maintained numbered="true" toc="default">
        <name>IANA-Maintained Module for MSD-Types"> MSD-Types</name>
        <t>This document defines the initial version of the IANA-maintained YANG
      module for MSD Types, which Types that mirrors the IANA IGP MSD-Types "IGP MSD-Types"
      registry <xref target="IANA-IGP-MSD-Types"/>. target="IANA-IGP-MSD-Types" format="default"/>.
        </t>
        <t>
    <figure>
      <artwork><![CDATA[
<CODE BEGINS> file "iana-msd-types@2024-07-04.yang"

<!--[rfced] We note that two RFCs in the reference clauses in the
iana-msd-types module do not appear in the reference section of the RFC.
May a sentence be added before the YANG module stating that it refers to
the following RFCs? For example:

  This module references [RFC8476], [RFC8491], [RFC8662], [RFC8664],
  [RFC8814], [RFC9088], and [RFC9352].

(where [RFC8664] and [RFC8814] would be added as Informative References)

Alternatively, you could let us know a different place to cite [RFC8664]
and [RFC8814] in this document.
-->

        <sourcecode name="iana-msd-types@2024-07-04.yang" type="yang" markers="true"><![CDATA[
module iana-msd-types {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:iana-msd-types";
  prefix iana-msd-types;

  organization
    "Internet Assigned Numbers Authority (IANA)";

  contact
    "Internet Assigned Numbers Authority

     ICANN
     12025 Waterfront Drive, Suite 300
     Los Angeles, CA 90094-2536
     United States of America

     Tel:    +1 310 301 5800
     <mailto:iana@iana.org>";

  description
    "The YANG module defines the identities for Maximum Segment
     Identifier (SID) Depth (MSD) Types.

     This YANG module is maintained by IANA and reflects the 'IGP
     MSD-Types' registry.

     Copyright (c) 2024 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 initial version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); 9702
     (https://www.rfc-editor.org/info/rfc9702); see the RFC itself
     for full legal notices.

     //RFC Ed.: replace XXXX with actual RFC number and remove
       this note

     //RFC Ed.: replace IANA_FOO_URL and remove this note.

     The latest version of this YANG module is available at
     <IANA_FOO_URL>.";
     https://www.iana.org/assignments/yang-parameters.";

  revision 2024-07-04 {
    description
      "Initial Version";
    reference
      "RFC XXXX: 9702: YANG Data Model for Maximum SID Segment Identifier (SID)
                 Depth Types and MPLS Maximum SID Depth";
  }

  identity msd-base {
    description
      "Base identity for Maximum SID Depth (MSD) Type. The MSD type
       definition is defined in the IANA IGP MSD-Types 'IGP MSD-Types' registry.";
  }

  identity msd-base-mpls {
    base msd-base;
    description
      "Base identity of MSD types for the MPLS data plane.";
  }

  identity base-mpls-imposition-msd {
    base msd-base-mpls;
    description
      "Base MPLS Imposition MSD.";
    reference
      "RFC 8491: Signaling Maximum SID Depth (MSD) using Using IS-IS
       RFC 8476: Signaling Maximum SID Depth (MSD) using Using OSPF
       RFC 8664: Path Computation Element Communication Protocol
                 (PCEP) Extensions for Segment Routing
       RFC 8814: Signaling Maximum SID Depth (MSD) Using the Border
                 Gateway Protocol - Link State";
  }

  identity erld-msd {
    base msd-base-mpls;
    description
      "msd-erld is defined to advertise the Entropy Readable
       Label Depth (ERLD).";
    reference
      "RFC 8662: Entropy Label for Source Packet Routing in
                 Networking (SPRING) Tunnels
       RFC 9088: Signaling Entropy Label Capability and Entropy
                 Readable Label Depth Using IS-IS";
  }

  identity msd-base-srh {
    base msd-base;
    description
      "Base identity of MSD types for Segment Routing Header (SRH).";
  }

  identity srh-max-sl {
    base msd-base-srh;
    description
      "The Maximum Segment Left MSD type.";
    reference
      "RFC 9352: IS-IS Extensions to Support Segment Routing
                 over the IPv6 Data Plane";
  }

  identity srh-max-end-pop {
    base msd-base-srh;
    description
      "The Maximum End Pop MSD Type.";
    reference
      "RFC 9352: IS-IS Extensions to Support Segment Routing
                 over the IPv6 Data Plane";
  }

  identity srh-max-h-encaps {
    base msd-base-srh;
    description
      "The Maximum H.Encaps MSD Type.";
    reference
      "RFC 9352: IS-IS Extensions to Support Segment Routing
                 over the IPv6 Data Plane";
  }

  identity srh-max-end-d {
    base msd-base-srh;
    description
      "The Maximum End D MSD Type.";
    reference
      "RFC 9352: IS-IS Extensions to Support Segment Routing
                 over the IPv6 Data Plane";
  }
}
<CODE ENDS>
      ]]></artwork>
    </figure></t>
]]></sourcecode>
      </section>
      <section title="MPLS numbered="true" toc="default">
        <name>MPLS MSD YANG"> YANG</name>
        <t>This document also defines a YANG module for MSD extensions
      <xref target="RFC8476"/><xref target="RFC8491"/> target="RFC8476" format="default"/> <xref target="RFC8491" format="default"/> to the MPLS base
      model as defined in <xref target="RFC8960"/>. target="RFC8960" format="default"/>.
        </t>
        <t>
    <figure>
      <artwork><![CDATA[
<CODE BEGINS> file "ietf-mpls-msd@2024-07-05.yang"
        <sourcecode name="ietf-mpls-msd@2024-07-05.yang" type="yang" markers="true"><![CDATA[
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:   <https://datatracker.ietf.org/wg/mpls/>
     WG List:  <mailto:mpls@ietf.org>

     Author:    Yingzhen Qu
               <mailto:yingzhen.ietf@gmail.com>
     Author:    Acee Lindem
               <mailto:acee.ietf@gmail.com>
     Author:    Stephane Litkowski
               <mailto:slitkows.ietf@gmail.com>
     Author:    Jeff Tantsura
               <mailto:jefftant.ietf@gmail.com>

    ";
  description
    "The
    "This YANG module augments the base MPLS model, and it is to
     provide support for different types of Maximum SID Depth (MSD).

     This YANG model module conforms to the Network Management
     Datastore Architecture (NMDA) as described in RFC 8342.

     Copyright (c) 2024 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 XXXX; 9702;
     see the RFC itself for full legal notices.";

  revision 2024-07-05 {
    description
      "Initial Version";
    reference
      "RFC XXXX: 9702: YANG Data Model for Maximum SID 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 '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 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 Node MSDs. For the same
          type, the value of node Node MSD is the smallest among link Link MSD
          values.";
      }
    }
  }

  augment "/rt:routing/mpls:mpls/mpls:interfaces/mpls:interface" {
    description
      "This module augments MPLS data model (RFC 8960)
       with link 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.";
      }
    }
  }
}
<CODE ENDS>
      ]]></artwork>
    </figure>
  </t>
]]></sourcecode>
      </section>
    </section>
    <section anchor="Security" title="Security Considerations"> numbered="true" toc="default">
      <name>Security Considerations</name>
<!--[rfced] FYI, the Security Considerations section has been updated
to match https://wiki.ietf.org/group/ops/yang-security-guidelines.
If the differences from the approved template should be reinstated,
please let us know.

Specifically, this text is no longer present:
   ... without the "none" authentication
   option, Transport Layer Security (TLS) [RFC8446] with mutual X.509
   authentication, and HTTPS with HTTP authentication (Section 11 of
   [RFC9110]).

The normative reference [RFC9110] has been removed, as it was not
cited elsewhere in the document.
-->

      <t>
<!-- DNE begins-->
      The YANG modules specified in this document define a schema for data
      that is designed to be accessed via network management protocols such as
      NETCONF <xref target="RFC6241"/> target="RFC6241" format="default"/> or RESTCONF <xref target="RFC8040"/>.
      These network management protocols are required to use a
      target="RFC8040" format="default"/>.
The lowest NETCONF layer
is the secure transport layer layer, and mutual authentication, e.g., SSH <xref target="RFC6242"/>
      without the "none" authentication option, Transport Layer Security (TLS) mandatory-to-implement secure
transport is Secure Shell (SSH) <xref target="RFC8446"/> with mutual X.509 authentication, target="RFC6242" format="default"/>.  The lowest RESTCONF layer
is HTTPS, and HTTPS
      with HTTP authentication (Section 11 of the mandatory-to-implement secure transport is TLS
<xref target="RFC9110"/>).</t> target="RFC8446" format="default"/>.</t>
      <t>The NETCONF Network Configuration Access Control Model (NACM) <xref target="RFC8341"/> target="RFC8341" format="default"/> provides the
      means to restrict access for particular NETCONF or RESTCONF users to a
      pre-configured subset of all available NETCONF or RESTCONF protocol
      operations and content.</t>
<!-- DNE ends -->
      <t>Some of the readable data nodes in the ietf-mpls-msd YANG module
      may be considered sensitive or vulnerable in some network environments. It is
      thus important to control read access (e.g., via get, get-config, or notification)
      to these data nodes. These are the
      subtrees and data nodes and their sensitivity/vulnerability:
      <list style="empty">
        <t>/rt:routing/mpls:mpls/msd/node-msds</t>
        <t>/rt:routing/mpls:mpls/msd/link-msds</t>
        <t>Exposure
      </t>
          <t indent="3">/rt:routing/mpls:mpls/msd/node-msds</t>
          <t indent="3">/rt:routing/mpls:mpls/msd/link-msds</t>
          <t indent="3">Exposure of the node's maximum SID depth may be useful in mounting a
          Denial-of-Service (DoS) attack by sending packets to the node that
          the router can't process.</t>
      </list></t>
      <t>
      The iana-msd-types YANG module defines a set of identities, which mirrors identities that mirror
      the IANA IGP MSD-Types "IGP MSD-Types" registry. These identities are intended to be reused
      by other YANG modules. The module by itself does not expose any data nodes
      that are writable or readable. As such, there are no additional security
      issues related to this YANG module that need to be considered.
      </t>
    </section>
    <section title="IANA Considerations"> numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section title="Registering numbered="true" toc="default">
        <name>Registering YANG Modules"> Modules</name>
        <t>This document registers URIs in the IETF XML registry
   <xref target="RFC3688"/>.  Following the format
   as defined in <xref target="RFC3688"/>,
   the target="RFC3688" format="default"/>.
   The following registrations are requested to be have been made:
   <figure>
   <artwork>
   URI: urn:ietf:params:xml:ns:yang:iana-msd-types
   Registrant Contact: The IESG.
   XML: N/A,
        </t>
  <dl spacing="compact">
   <dt>URI:</dt><dd>urn:ietf:params:xml:ns:yang:iana-msd-types</dd>
   <dt>Registrant Contact:</dt><dd>The IESG.</dd>
   <dt>XML:</dt><dd>N/A; the requested URI is an XML namespace.
   </artwork>
   </figure>

   <figure>
   <artwork>
   URI: urn:ietf:params:xml:ns:yang:ietf-mpls-msd
   Registrant Contact: The IESG.
   XML: N/A, namespace.</dd>
  </dl>
  <dl spacing="compact">
   <dt>URI:</dt><dd>urn:ietf:params:xml:ns:yang:ietf-mpls-msd</dd>
   <dt>Registrant Contact:</dt><dd>The IESG.</dd>
   <dt>XML:</dt><dd>N/A; the requested URI is an XML namespace.
   </artwork>
   </figure>
</t> namespace.</dd>
  </dl>

        <t>This document registers the YANG modules in the YANG "YANG Module Names Names"
   registry as defined in <xref target="RFC6020"/>.
   <figure>
   <figure>
   <artwork>
   name: iana-msd-types
   Maintained target="RFC6020" format="default"/>.
        </t>

  <dl spacing="compact">
   <dt>Name:</dt><dd>iana-msd-types</dd>
   <dt>Maintained by IANA?  Y
   namespace: urn:ietf:params:xml:ns:yang:iana-msd-types
   prefix: iana-msd-types
   reference: RFC XXXX
   </artwork>
   </figure>

   <artwork>
   name: ietf-mpls-msd
   Maintained IANA?</dt><dd>Y</dd>
   <dt>Namespace:</dt><dd>urn:ietf:params:xml:ns:yang:iana-msd-types</dd>
   <dt>Prefix:</dt><dd>iana-msd-types</dd>
   <dt>Reference:</dt><dd>RFC 9702</dd>
  </dl>

  <dl spacing="compact">
   <dt>Name:</dt><dd>ietf-mpls-msd</dd>
   <dt>Maintained by IANA?  N
   namespace: urn:ietf:params:xml:ns:yang:ietf-mpls-msd
   prefix: mpls-msd
   reference: RFC XXXX
   </artwork>
   </figure>
   </t> IANA?</dt><dd>N</dd>
   <dt>Namespace:</dt><dd>urn:ietf:params:xml:ns:yang:ietf-mpls-msd</dd>
   <dt>Prefix:</dt><dd>mpls-msd</dd>
   <dt>Reference:</dt><dd>RFC 9702</dd>
  </dl>

      </section>
      <section title="IANA numbered="true" toc="default">
        <name>IANA MSD-Types Module"> Module</name>
        <t>This document defines the initial version of the IANA-maintained
      "iana-msd-types" YANG module <xref target="iana-msd-types"/>. (<xref target="iana-msd-types" format="default"/>). The latest
      version of the YANG module is available from the "YANG Parameters"
      registry <xref target="IANA-YANG-Parameters"/>.</t> target="IANA-YANG-Parameters" format="default"/>.</t>
        <t>
      IANA is requested to add has added this note to the "YANG Module Names" registry:
      <list style="empty">
        <t>MSD Types
        </t>
      <blockquote>
<t>New values must not be added directly added to the iana-msd-types "iana-msd-types" YANG module. They must first instead be added to the "IGP MSD-Types" registry in the "Interior Gateway Protocol (IGP) Parameters" registry group <xref target="IANA-IGP-MSD-Types"/>, which it mirrors.</t>
      </list></t> target="IANA-IGP-MSD-Types" format="default"/>.</t>
      </blockquote>
        <t>
      The identities defined in the iana-msd-types YANG module are organized hierarchically
      based on the data plane. In this initial version, only MPLS and SRv6 data
      planes are supported, hence "msd-base-mpls" and "msd-base-srh" are defined.
      When a new data plane is added to the "IGP MSD-Types" registry, a new "identity"
      statement should be added to the "iana-msd-types" YANG module. The name of the
      "identity" is the prefix "msd-base-" plus a lower-case lowercase version of the data plane name . name.
      The identity statement should have the following sub-statements defined:</t>
        <dl newline="false" spacing="normal" indent="15"> spacing="normal">
          <dt>"base":</dt>
          <dd>Contains 'msd-base'.</dd>
          <dt>"description":</dt>
          <dd>Replicates the description from "msd-base-mpls" and change changes the corresponding data plane name.</dd>
          <dt>"reference":</dt>
          <dd>Replicates the reference from
            the registry with the title of the document added.</dd>
        </dl>
        <t>
      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. Then The name of the
      "identity" is a lower-case lowercase version of the type name provided in the name with
      the space replaced with "-". The "identity" statement should have the
      following sub-statements defined:</t>
        <dl newline="false" spacing="normal" indent="15"> spacing="normal">
          <dt>"base":</dt>
          <dd>Contains the base name of the corresponding data plane.</dd>
          <dt>"description":</dt>
          <dd>Replicates the name from the registry.</dd>
          <dt>"reference":</dt>
          <dd>Replicates the reference from
            the registry with the title of the document added.</dd>
        </dl>
        <t>Unassigned or reserved values are not present in the module.</t>
        <t>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.</t>
    <t>
<!--[rfced] We suggest naming the column "Data Plane" no hyphen, as the
hyphen seems unnecessary. If you agree, we will ask IANA is requested to update the add
registry accordingly.

Current:   IANA has added a "Data-Plane" column
Suggested: IANA has added a "Data Plane" column
 [and other instances]
-->
        <t>
      IANA has added a "data-plane" "Data-Plane" column to the
     "IGP MSD-Types" registry. This will unequivocally identify the
     base identity for MSD-Types. The values for the Data-Plane "Data-Plane"
     column for existing MSD-Types are: </t>
    <artwork>

Value      Name                      Data-Plane   Reference
0          Reserved                  N/A          [RFC8491]

<!--[rfced] FYI, "N/A" has been removed from Table 1          Base in order
to match the IANA registry, which does not use "N/A" for empty fields.
-->

<table anchor="tab-1">
  <thead>
    <tr>
      <th>Value</th>
      <th>Name</th>
      <th>Data-Plane</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>0</td>
      <td>Reserved</td>
      <td></td>
      <td><xref target="RFC8491"/></td>
    </tr>
    <tr>
      <td>1</td>
      <td>Base MPLS Imposition MSD  MPLS         [RFC8491]
2          ERLD-MSD                  MPLS         [RFC9088]
3-40       Unassigned                N/A
41         SRH MSD</td>
      <td>MPLS</td>
      <td><xref target="RFC8491"/></td>
    </tr>
    <tr>
      <td>2</td>
      <td>ERLD-MSD</td>
      <td>MPLS</td>
      <td><xref target="RFC9088"/></td>
    </tr>
    <tr>
      <td>3-40</td>
      <td>Unassigned</td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td>41</td>
      <td>SRH Max SL                SRv6         [RFC9352]
42         SRH SL</td>
      <td>SRv6</td>
      <td><xref target="RFC9352"/></td>
    </tr>
    <tr>
      <td>42</td>
      <td>SRH Max End Pop           SRv6         [RFC9352]
43         Unassigned                N/A
44         SRH Pop</td>
      <td>SRv6</td>
      <td><xref target="RFC9352"/></td>
    </tr>
    <tr>
      <td>43</td>
      <td>Unassigned</td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td>44</td>
      <td>SRH Max H.encaps          SRv6         [RFC9352]
45         SRH H.encaps</td>
      <td>SRv6</td>
      <td><xref target="RFC9352"/></td>
    </tr>
    <tr>
      <td>45</td>
      <td>SRH Max End               SRv6         [RFC9352]
46-250     Unassigned                N/A
251-254    Experimental Use          N/A          [RFC8491]
255        Reserved                  N/A          [RFC8491]
   </artwork> End</td>
      <td>SRv6</td>
      <td><xref target="RFC9352"/></td>
    </tr>
    <tr>
      <td>46-250</td>
      <td>Unassigned</td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td>251-254</td>
      <td>Experimental Use</td>
      <td></td>
      <td><xref target="RFC8491"/></td>
    </tr>
    <tr>
      <td>255</td>
      <td>Reserved</td>
      <td></td>
      <td><xref target="RFC8491"/></td>
    </tr>
  </tbody>
</table>

        <t>
        IANA is requested to add has added this note to <xref target="IANA-IGP-MSD-Types"/>:
      <list style="empty"> target="IANA-IGP-MSD-Types" format="default"/>:
        </t>
    <blockquote>
            <t>When this registry is modified, the YANG module "iana-msd-types"
          must be updated as defined in RFC XXXX.</t>
      </list>
    </t> 9702.</t>
    </blockquote>
      </section>
    </section>
  </middle>
  <back>

    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
	<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3688.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6020.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6242.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml"/>

<!-- [rfced] RFC 7950 is not cited anywhere in this document.  Please let us
know where it should be cited; otherwise, this reference will be removed
from the Normative References.

Original:
 [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
            RFC 7950, DOI 10.17487/RFC7950, August 2016,
            <https://www.rfc-editor.org/info/rfc7950>. -->

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8040.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8342.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8349.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8476.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8491.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8960.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9088.xml"/>
<!--        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9110.xml"/>
-->
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9352.xml"/>

        <reference anchor="IANA-IGP-MSD-Types" target="https://www.iana.org/assignments/igp-parameters">
          <front>
            <title>IGP MSD-Types</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>

        <reference anchor="IANA-YANG-Parameters" target="https://www.iana.org/assignments/yang-parameters">
          <front>
            <title>YANG Module Names</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>

      </references>
      <references>
        <name>Informative References</name>
	<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8340.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8662.xml"/>
      </references>
    </references>
    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>This document was produced using Marshall Rose's xml2rfc tool.</t> numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>The YANG model was developed using the suite of YANG tools written
      and maintained by numerous authors.</t>
      <t>We would like to thank Jan Lindblad, Tom Petch, Dhruv Dhody, Mohamed Boucadair
        and Susan Hares <contact fullname="Jan Lindblad"/>, <contact
      fullname="Tom Petch"/>, <contact fullname="Dhruv Dhody"/>, <contact
      fullname="Mohamed Boucadair"/>, and <contact fullname="Susan Hares"/>
      for their reviews and comments.</t>
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->
<!-- There are 2 ways to insert reference entries [rfced] Terminology

a) We have received guidance from BenoƮt Claise and the citation libraries:
     1. define an ENTITY at YANG Doctors that
the top, terms "YANG module" and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both "YANG data model" are cited textually preferred.  Please review
the usage in this document. For example, should text be updated as follows
or otherwise?

Abstract
   Original: This document defines two YANG data modules.
   Perhaps:  This document defines two YANG modules.
       [Section 1 already uses the same manner: by using xref elements.
     If you use latter.]

   Original: The second augments the PI option, xml2rfc will, by default, try IETF MPLS YANG model to find included files in provide ...
   Perhaps:  The second augments the IETF MPLS YANG data model to provide ...
       [And the same
     directory for similar text in Section 1.]

Acknowledgements
   Original: The YANG model was developed ...
   Perhaps:  The YANG data model was developed ...

b) FYI, we have updated the terms below to use the form on the right,
as this is how they appear in the including file. You can also define referenced documents (e.g., RFC 8491).

node MSD vs. Node MSD
link MSD vs. Link MSD
-->

<!-- [rfced] Please review the XML_LIBRARY environment variable
     with a value containing a set "Inclusive Language" portion of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
      &RFC3688;
      &RFC6020;
      &RFC6241;
      &RFC6242;
      &RFC7950;
      &RFC8040;
      &RFC8341;
      &RFC8342;
      &RFC8349;
      &RFC8446;
      &RFC8476;
      &RFC8491;
      &RFC8960;
      &RFC9088;
      &RFC9110;
      &RFC9352;
      <reference anchor="IANA-IGP-MSD-Types" target="https://www.iana.org/assignments/igp-parameters/igp-parameters.xhtml#igp-msd-types" quoteTitle="true" derivedAnchor="IANA-IGP-MSD-Types">
          <front>
            <title>IGP MSD-Types</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
            <date/>
          </front>
      </reference>
      <reference anchor="IANA-YANG-Parameters" target="https://www.iana.org/assignments/yang-parameters" quoteTitle="true" derivedAnchor="IANA-YANG-Parameters">
          <front>
            <title>YANG Module Names</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
    </references>
    <references title="Informative References"> online
Style Guide <https://www.rfc-editor.org/styleguide/part2/#inclusive_language>
and let us know if any changes are needed.  Updates of this nature typically
result in more precise language, which is helpful for readers. Note that our
script did not flag any words in particular, but this should still be reviewed
as a best practice.
-->

<!-- Here we [rfced] FYI - We have added expansions for abbreviations upon first use entities that we defined at
per Section 3.6 of RFC 7322 ("RFC Style Guide"). Please review each
expansion in the beginning. document carefully to ensure correctness.
-->
      &RFC8340;
      &RFC8662;
    </references>
</back>
</rfc>