<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ihlesong-mpls-mna-signaling-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="SIG">Signaling MNA Capabilities Using LSP Ping</title>
    <seriesInfo name="Internet-Draft" value="draft-ihlesong-mpls-mna-signaling-03"/>
    <author fullname="Fabian Ihle">
      <organization>University of Tuebingen</organization>
      <address>
        <postal>
          <city>Tuebingen</city>
          <country>Germany</country>
        </postal>
        <email>fabian.ihle@uni-tuebingen.de</email>
      </address>
    </author>
    <author fullname="Xueyan Song">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>song.xueyan2@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Michael Menth">
      <organization>University of Tuebingen</organization>
      <address>
        <postal>
          <city>Tuebingen</city>
          <country>Germany</country>
        </postal>
        <email>michael.menth@uni-tuebingen.de</email>
      </address>
    </author>
    <date year="2026" month="June" day="26"/>
    <area>Routing</area>
    <workgroup>Multiprotocol Label Switching</workgroup>
    <keyword>signaling</keyword>
    <keyword>mpls</keyword>
    <keyword>mna</keyword>
    <abstract>
      <?line 69?>

<t>This document defines a mechanism for discovering MPLS Network Actions (MNA) capabilities along a Label Switched Path (LSP) using the LSP Ping echo request/reply mechanism defined in RFC 8029. The In-Stack MNA capabilities include the Readable Label Depth (RLD), the maximum sizes of differently scoped Network Action Sub-stacks (MLD_NAS), and supported In-Stack network action opcodes. The Post-Stack MNA capabilities include the maximum Post-Stack MPLS Header size (MLD_PSMH), the Readable Label Depth including the Post-Stack MPLS Header (RLD_PSMH), and supported Post-Stack network action opcodes. This mechanism allows the ingress Label Edge Router (LER) to discover MNA capabilities of each transit and egress node on the path, enabling correct construction of MPLS label stacks containing MNA network actions.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://uni-tue-kn.github.io/draft-ihlesong-mpls-mna-signaling/draft-ihlesong-mpls-mna-signaling.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ihlesong-mpls-mna-signaling/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Multiprotocol Label Switching Working Group mailing list (<eref target="mailto:mpls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/mpls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/mpls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/uni-tue-kn/draft-ihlesong-mpls-mna-signaling"/>.</t>
    </note>
  </front>
  <middle>
    <?line 73?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The MPLS Network Actions (MNA) framework <xref target="I-D.ietf-mpls-mna-fwk"/> provides a general mechanism for encoding network actions and their data in the MPLS label stack.
Network actions are encoded in Network Action Sub-stacks (NAS) that are placed within (ISD) or follow after (PSD) the MPLS label stack.
The MNA header encoding is defined in <xref target="I-D.ietf-mpls-mna-hdr"/>.
To correctly construct MPLS label stacks containing network actions, the ingress LER needs to know the MNA capabilities of each node along the path.
For Post-Stack MNA, the ingress LER additionally needs to discover whether nodes support Post-Stack MPLS Headers and what Post-Stack network actions they can process, as required by Section 5.3 of <xref target="I-D.ietf-mpls-mna-ps-hdr"/>.
These capabilities include:</t>
      <ol spacing="normal" type="1"><li>
          <t>In-Stack MNA capabilities:
          </t>
          <ul spacing="normal">
            <li>
              <t>The Readable Label Depth (RLD): the number of Label Stack Entries (LSEs) a node can parse without performance impact.</t>
            </li>
            <li>
              <t>The NAS Maximum Label Depth (MLD_NAS): the maximum supported NAS size for each scope (select, HBH, I2E).</t>
            </li>
            <li>
              <t>The supported In-Stack network action opcodes.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Post-Stack MNA capabilities:
          </t>
          <ul spacing="normal">
            <li>
              <t>Whether the node supports Post-Stack MNA processing as defined in <xref target="I-D.ietf-mpls-mna-ps-hdr"/>,</t>
            </li>
            <li>
              <t>The maximum Post-Stack MPLS Header (PSMH) size (MLD_PSMH),</t>
            </li>
            <li>
              <t>The RLD including the PSMH (RLD_PSMH),</t>
            </li>
            <li>
              <t>The supported Post-Stack network action opcodes.</t>
            </li>
          </ul>
        </li>
      </ol>
      <t>This document defines new TLVs for the MPLS echo request/reply messages <xref target="rfc8029"/> to query and report MNA capabilities. The mechanism supports both "ping" mode (querying only the egress node) and "traceroute" mode (querying all nodes along the path).</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<section anchor="abbreviations">
          <name>Abbreviations</name>
          <t>This document makes use of the terms defined in <xref target="I-D.ietf-mpls-mna-hdr"/> and in <xref target="I-D.ietf-mpls-mna-fwk"/>.</t>
          <table anchor="table_abbrev">
            <name>Abbreviations.</name>
            <thead>
              <tr>
                <th align="left">Abbreviation</th>
                <th align="left">Name</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">NAS</td>
                <td align="left">Network Action Sub-stack</td>
                <td align="left">A stack of related LSEs in the MPLS stack containing network actions and ancillary data.</td>
                <td align="left">
                  <xref target="rfc9789"/></td>
              </tr>
              <tr>
                <td align="left">RLD</td>
                <td align="left">Readable Label Depth</td>
                <td align="left">The number of LSEs a node can parse.</td>
                <td align="left">
                  <xref target="I-D.ietf-mpls-mna-hdr"/></td>
              </tr>
              <tr>
                <td align="left">MLD_NAS</td>
                <td align="left">NAS Maximum Label Depth</td>
                <td align="left">The maximum number of LSEs in a NAS that a node can process, defined per scope.</td>
                <td align="left">This document</td>
              </tr>
              <tr>
                <td align="left">PSMH</td>
                <td align="left">Post-Stack MPLS Header</td>
                <td align="left">The header after the BOS carrying post-stack network actions and ancillary data.</td>
                <td align="left">
                  <xref target="I-D.ietf-mpls-mna-ps-hdr"/></td>
              </tr>
              <tr>
                <td align="left">PSD</td>
                <td align="left">Post-Stack Data</td>
                <td align="left">Network actions and data encoded after the MPLS label stack.</td>
                <td align="left">
                  <xref target="I-D.ietf-mpls-mna-ps-hdr"/></td>
              </tr>
              <tr>
                <td align="left">ISD</td>
                <td align="left">In-Stack Data</td>
                <td align="left">Network actions and data encoded within the MPLS label stack.</td>
                <td align="left">
                  <xref target="I-D.ietf-mpls-mna-hdr"/></td>
              </tr>
              <tr>
                <td align="left">MLD_PSMH</td>
                <td align="left">Maximum PSMH Size</td>
                <td align="left">The maximum PSMH size a node can process, in 4-octet units.</td>
                <td align="left">This document</td>
              </tr>
              <tr>
                <td align="left">RLD_PSMH</td>
                <td align="left">RLD including PSMH</td>
                <td align="left">The total parseable depth including label stack and PSMH, in 4-octet units.</td>
                <td align="left">This document</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section anchor="definition-of-mna-capabilities">
      <name>Definition of MNA Capabilities</name>
      <t>This section defines the parameters that an LSR uses to signal its MNA capabilities to the ingress LER.</t>
      <section anchor="in-stack-mna-capabilities">
        <name>In-Stack MNA Capabilities</name>
        <section anchor="the-readable-label-depth-rld">
          <name>The Readable Label Depth (RLD)</name>
          <t>The Readable Label Depth (RLD) is the number of LSEs an LSR can parse without performance impact <xref target="I-D.ietf-mpls-mna-fwk"/>.
An LSR is required to search the MPLS stack for NAS that have to be processed by the LSR.
To that end, the network actions must be within the RLD of the node.
For HBH-scoped network actions, the ingress LER that pushes the network actions <bcp14>MUST</bcp14> ensure that the actions are readable at each LSR on the path, i.e., that they are placed within the RLD of each node.</t>
          <section anchor="example">
            <name>Example</name>
            <t>An example for the RLD parameter is given in <xref target="fig-rld_example"/>.
With an RLD of 5, an LSR is capable of reading labels A, B, C, D, and E but not F.
An RLD of 8 is required in this example to read the entire MPLS stack.</t>
            <figure anchor="fig-rld_example">
              <name>Example MPLS stack of 8 MPLS LSEs illustrating the concept of RLD.</name>
              <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = A                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = B                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = C                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = D                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = E                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = F                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = G                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = H                   | TC  |1|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure>
          </section>
        </section>
        <section anchor="maximum-nas-sizes-mldnas">
          <name>Maximum NAS Sizes (MLD_NAS)</name>
          <t>This section gives a motivation for signaling maximum NAS sizes and then introduces the NAS Maximum Label Depth (MLD_NAS).</t>
          <section anchor="motivation">
            <name>Motivation</name>
            <t>A NAS in the MNA header encoding is at least 2 LSEs and at most 17 LSEs large <xref target="I-D.ietf-mpls-mna-hdr"/>.
At an LSR, one or more NAS, e.g., a select-scoped and a hop-by-hop-scoped NAS, are possible.
With two maximum-sized NAS, an LSR is required to reserve 34 LSEs in hardware to be able to process network actions.
This consumes hardware resources that may be needed to encode other LSEs, e.g., forwarding labels for SR-MPLS paths, or are not available in less capable devices.</t>
            <t>Many use cases in the MNA framework <xref target="I-D.ietf-mpls-mna-usecases"/> do not require a maximum-sized NAS of 17 LSEs to encode network actions and their ancillary data.
Therefore, a NAS can be up to 17 LSEs but nodes can also support smaller maximum NAS.
Signaling the maximum supported NAS size to the ingress LER prevents an LSR from receiving packets with a larger NAS than it supports.
This way, the allocated resources for NAS can be reduced if smaller maximum NAS are supported.
More resources are available for other purposes, and hardware with a low RLD can be made MNA-capable <xref target="IhMe25"/>.</t>
          </section>
          <section anchor="nas-maximum-label-depth">
            <name>NAS Maximum Label Depth</name>
            <t>The maximum supported number of LSEs in a NAS that an LSR can process is referred to as NAS Maximum Label Depth (MLD_NAS) in this document.
For each scope in MNA, a separate parameter for the MLD_NAS exists, called MLD_NAS_Select, MLD_NAS_HBH, and MLD_NAS_I2E.</t>
            <t>An LSR <bcp14>SHOULD</bcp14> signal the maximum-supported size of a NAS for each scope, i.e., the parameters MLD_NAS_Select, MLD_NAS_HBH, and MLD_NAS_I2E.
Those parameters include the Format A, B, C, and D LSEs from <xref target="I-D.ietf-mpls-mna-hdr"/> in a NAS.</t>
            <t>Based on the signaled parameters, the ingress LER <bcp14>MUST</bcp14> ensure the following when pushing the MPLS stack and NAS on a packet:</t>
            <ul spacing="normal">
              <li>
                <t>The ingress LER <bcp14>MUST NOT</bcp14> push a select-scoped NAS that is larger than the signaled MLD_NAS_Select value of the node that will process the select-scoped NAS.</t>
              </li>
              <li>
                <t>The ingress LER <bcp14>MUST NOT</bcp14> push an HBH-scoped NAS that is larger than the minimum of all signaled MLD_NAS_HBH values of all nodes on the path.</t>
              </li>
              <li>
                <t>The ingress LER <bcp14>MUST NOT</bcp14> push an I2E-scoped NAS that is larger than the signaled MLD_NAS_I2E value of the egress node.</t>
              </li>
            </ul>
          </section>
          <section anchor="example-1">
            <name>Example</name>
            <t><xref target="fig-nas_sizes_example"/> illustrates the different MLD_NAS sizes in an MPLS stack that are signaled by the LSR.
In this example, a select-scoped NAS has a maximum size of 4 LSEs, a hop-by-hop-scoped NAS of 7 LSEs, and an I2E-scoped NAS of 4 LSEs.</t>
            <figure anchor="fig-nas_sizes_example">
              <name>Example MPLS stack illustrating the different NAS sizes.</name>
              <artwork><![CDATA[
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = A                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ──┑
|      MNA-Label=bSPL (TBA)             | TC  |0|    TTL        |    │ 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data               |R|SEL|0|U| NASL=2|NAL=0|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ MLD_NAS
|   Opcode    |      Data                     |0|U|  Data |NAL=1| _Select
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|1|                  Data                     |0|    Data       |    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ──┚
|      MPLS-Label = B                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = C                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ──┑
|      MNA-Label=bSPL (TBA)             | TC  |0|    TTL        |    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │  
|   Opcode    |      Data               |R|HBH|0|U| NASL=5|NAL=0|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data                     |0|U|  Data |NAL=0|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data                     |0|U|  Data |NAL=0| MLD_NAS
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  _HBH
|   Opcode    |      Data                     |0|U|  Data |NAL=0|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data                     |0|U|  Data |NAL=1|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|1|                  Data                     |0|    Data       |    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ───┨
|      MNA-Label=bSPL (TBA)             | TC  |0|    TTL        |    │ 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data               |R|I2E|0|U| NASL=2|NAL=0|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ MLD_NAS
|   Opcode    |      Data                     |0|U|  Data |NAL=1|  _I2E
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │      
|1|                  Data                     |1|    Data       |    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ───┚
]]></artwork>
            </figure>
          </section>
        </section>
        <section anchor="supported-in-stack-network-action-opcodes">
          <name>Supported In-Stack Network Action Opcodes</name>
          <t>When an LSR reports its In-Stack capabilities, it <bcp14>MUST</bcp14> include all In-Stack network action opcodes it supports.
If a network action opcode is not signaled, it is assumed that this opcode is not supported by the node.</t>
        </section>
      </section>
      <section anchor="post-stack-mna-capabilities">
        <name>Post-Stack MNA Capabilities</name>
        <t>The Post-Stack MNA solution <xref target="I-D.ietf-mpls-mna-ps-hdr"/> allows network actions and their ancillary data to be encoded after the bottom of the MPLS label stack in a Post-Stack MPLS Header (PSMH).
Section 5.3 of <xref target="I-D.ietf-mpls-mna-ps-hdr"/> requires that each participating node signals its Post-Stack capabilities to the encapsulating node.
This section defines the parameters for that purpose.</t>
        <section anchor="post-stack-mna-support">
          <name>Post-Stack MNA Support</name>
          <t>A node <bcp14>MAY</bcp14> support Post-Stack MNA processing.
The encapsulating node <bcp14>MUST NOT</bcp14> add a Post-Stack MPLS Header to a packet if the decapsulating node does not support Post-Stack MNA processing <xref target="I-D.ietf-mpls-mna-ps-hdr"/>.
Therefore, the ingress LER needs to discover whether each node on the path supports Post-Stack MNA.</t>
        </section>
        <section anchor="maximum-post-stack-mpls-header-size-mldpsmh">
          <name>Maximum Post-Stack MPLS Header Size (MLD_PSMH)</name>
          <t>The PSMH-LEN field in the Post-Stack MPLS Header indicates the total length of the Post-Stack MPLS Header in 4-octet units, excluding the 4-byte PSMH type header <xref target="I-D.ietf-mpls-mna-ps-hdr"/>.
Hardware implementations may have limits on the maximum PSMH size they can process.
The maximum supported PSMH length is referred to as MLD_PSMH in this document, analogous to the scope-specific values of MLD_NAS for ISD.
It is expressed in 4-octet units, consistent with the PSMH-LEN field encoding.
An LSR <bcp14>SHOULD</bcp14> signal its MLD_PSMH to the ingress LER.
Based on the signaled parameters, the ingress LER <bcp14>MUST</bcp14> ensure the following:</t>
          <ul spacing="normal">
            <li>
              <t>The ingress LER <bcp14>MUST NOT</bcp14> add a PSMH with a PSMH-LEN exceeding the MLD_PSMH of any node that will process that PSMH.</t>
            </li>
          </ul>
        </section>
        <section anchor="readable-label-depth-including-post-stack-mpls-header-rldpsmh">
          <name>Readable Label Depth Including Post-Stack MPLS Header (RLD_PSMH)</name>
          <t>Section 5.3 of <xref target="I-D.ietf-mpls-mna-ps-hdr"/> defines the "Readable Label Depth including Post-Stack MPLS Header" as the total depth a node can parse, including both the MPLS label stack and the PSMH.
This parameter is referred to as RLD_PSMH in this document and is expressed in 4-octet units.
When the RLD_PSMH is signaled, the ingress LER <bcp14>MUST</bcp14> ensure that the combined size of the MPLS label stack and any PSMH intended for a node does not exceed that node's RLD_PSMH.</t>
        </section>
        <section anchor="supported-post-stack-network-action-opcodes">
          <name>Supported Post-Stack Network Action Opcodes</name>
          <t>The Post-Stack network action opcode space (MNA-PS-OP) is 7 bits, supporting 128 opcodes <xref target="I-D.ietf-mpls-mna-ps-hdr"/>.
When a node reports its Post-Stack capabilities, it <bcp14>MUST</bcp14> include all Post-Stack network action opcodes it supports.
The Post-Stack opcode space is separate from the In-Stack opcode space; a node may support an opcode in-stack, post-stack, or both.</t>
        </section>
      </section>
    </section>
    <section anchor="overview">
      <name>LSP Ping MNA Operation Overview</name>
      <t>The MNA capability discovery mechanism operates as follows:</t>
      <ol spacing="normal" type="1"><li>
          <t>The ingress LER sends MPLS echo request messages containing the MNA Capabilities Query TLV. In traceroute mode, echo requests are sent with incrementing TTL values to reach each node on the path. In ping mode, a single echo request is sent to the egress LER.</t>
        </li>
        <li>
          <t>Each node that receives the echo request and supports MNA capability discovery responds with an MPLS echo reply containing the MNA Capabilities Response TLV. The response includes sub-TLVs corresponding to the queried capabilities.</t>
        </li>
        <li>
          <t>The ingress LER aggregates the received responses to determine path-wide MNA constraints. Specifically:  </t>
          <ul spacing="normal">
            <li>
              <t>The path-wide RLD is the minimum RLD reported by any node on the path.</t>
            </li>
            <li>
              <t>The path-wide MLD_NAS_HBH is the minimum MLD_NAS_HBH reported by any node.</t>
            </li>
            <li>
              <t>The MLD_NAS_Select for a specific node is the value reported by that node.</t>
            </li>
            <li>
              <t>The MLD_NAS_I2E is the value reported by the egress node.</t>
            </li>
            <li>
              <t>The path-wide supported opcodes for HBH-scoped NAS are the intersection of opcodes supported by all nodes.</t>
            </li>
          </ul>
        </li>
      </ol>
      <t>The ingress LER <bcp14>SHOULD</bcp14> perform MNA capability discovery before pushing MNA-enabled label stacks onto a path. The ingress LER <bcp14>SHOULD</bcp14> re-query capabilities when the path changes, e.g., due to IGP reconvergence or Fast Reroute activation.</t>
      <section anchor="mna-capabilities-query-tlv">
        <name>MNA Capabilities Query TLV</name>
        <t>The MNA Capabilities Query TLV is carried in the MPLS Echo Request message.
Its format is as follows:</t>
        <figure anchor="fig-query-tlv">
          <name>MNA Capabilities Query TLV.</name>
          <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  MNA Cap. Query Type (TBA1)   |            Length             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Query Flags  |                   Reserved                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The fields are defined as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Type: Indicates the MNA Capabilities Query TLV. The value is TBA1.</t>
          </li>
          <li>
            <t>Length: The length of the Value field in octets. For this TLV, Length is 4 octets.</t>
          </li>
          <li>
            <t>Query Flags: An 8-bit field indicating which capabilities are being queried:</t>
          </li>
        </ul>
        <table anchor="query-flags">
          <name>Query Flags.</name>
          <thead>
            <tr>
              <th align="left">Bit</th>
              <th align="left">Name</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">QUERY_RLD_MLD_NAS</td>
              <td align="left">Query the Readable Label Depth and NAS Maximum Label Depth (scopes)</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">QUERY_ISD_OPCODES</td>
              <td align="left">Query supported network action opcodes for ISD</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">QUERY_PS_MNA</td>
              <td align="left">Query Post-Stack MNA capabilities (support, MLD_PSMH, RLD_PSMH)</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">QUERY_PS_OPCODES</td>
              <td align="left">Query supported network action opcodes for PSD</td>
            </tr>
            <tr>
              <td align="left">4-7</td>
              <td align="left">Reserved</td>
              <td align="left">
                <bcp14>MUST</bcp14> be set to zero on transmit, ignored on receipt</td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t>Reserved: <bcp14>MUST</bcp14> be set to zero on transmit and <bcp14>MUST</bcp14> be ignored on receipt.</t>
          </li>
        </ul>
        <t>A node that receives an MNA Capabilities Query TLV with all Query Flags set to zero <bcp14>SHOULD</bcp14> respond with all available MNA capabilities.</t>
      </section>
      <section anchor="mna-capabilities-response-tlv">
        <name>MNA Capabilities Response TLV</name>
        <t>The MNA Capabilities Response TLV is carried in the MPLS Echo Reply message. Its format is as follows:</t>
        <figure anchor="fig-response-tlv">
          <name>MNA Capabilities Response TLV.</name>
          <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MNA Cap. Response Type (TBA2) |            Length             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
//                   List of Sub-TLVs                          //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The fields are defined as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Type: Indicates the MNA Capabilities Response TLV. The value is TBA2.</t>
          </li>
          <li>
            <t>Length: The length of the Value field in octets.</t>
          </li>
        </ul>
        <t>The Value field consists of one or more sub-TLVs as defined in the following sections. The responding node <bcp14>MUST</bcp14> include sub-TLVs corresponding to the flags set in the Query TLV. If no flags were set in the query, the responding node <bcp14>SHOULD</bcp14> include all sub-TLVs for which it has information.</t>
        <section anchor="rld-and-mldnas-sub-tlv">
          <name>RLD and MLD_NAS Sub-TLV</name>
          <t>The RLD and MLD_NAS Sub-TLV reports the Readable Label Depth of the responding node together with the maximum supported NAS sizes for each scope.</t>
          <figure anchor="fig-rld-mld-tlv">
            <name>RLD and MLD_NAS Sub-TLV.</name>
            <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RLD & MLD_NAS Sub-type (1)    |         Length = 4            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   RLD Value   | MLD_NAS_Select| MLD_NAS_HBH   | MLD_NAS_I2E   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <ul spacing="normal">
            <li>
              <t>Sub-type: 1 (RLD and MLD_NAS).</t>
            </li>
            <li>
              <t>Length: 4 octets.</t>
            </li>
            <li>
              <t>RLD Value: An 8-bit unsigned integer indicating the number of LSEs the node can parse without performance impact. A value of 0 indicates that the node did not provide an RLD value.</t>
            </li>
            <li>
              <t>MLD_NAS_Select: An 8-bit unsigned integer indicating the maximum number of LSEs in a select-scoped NAS that the node can process. Valid range: 2-17. A value of 0 indicates that select-scoped NAS are not supported. Values of 1 and 18-255 are invalid and <bcp14>MUST NOT</bcp14> be sent; receivers <bcp14>MUST</bcp14> treat them as 0.</t>
            </li>
            <li>
              <t>MLD_NAS_HBH: An 8-bit unsigned integer indicating the maximum number of LSEs in an HBH-scoped NAS that the node can process. Valid range: 2-17. A value of 0 indicates that HBH-scoped NAS are not supported. Values of 1 and 18-255 are invalid and <bcp14>MUST NOT</bcp14> be sent; receivers <bcp14>MUST</bcp14> treat them as 0.</t>
            </li>
            <li>
              <t>MLD_NAS_I2E: An 8-bit unsigned integer indicating the maximum number of LSEs in an I2E-scoped NAS that the node can process. Valid range: 2-17. A value of 0 indicates that I2E-scoped NAS are not supported. Values of 1 and 18-255 are invalid and <bcp14>MUST NOT</bcp14> be sent; receivers <bcp14>MUST</bcp14> treat them as 0.</t>
            </li>
          </ul>
        </section>
        <section anchor="isd-opcodes">
          <name>Supported In-Stack Opcodes Sub-TLV</name>
          <t>The Supported In-Stack Opcodes Sub-TLV reports the In-Stack network action opcodes supported by the responding node using a bitmap encoding. The MNA opcode space is 7 bits, supporting 128 opcodes. Each bit in the bitmap corresponds to one opcode value.</t>
          <figure anchor="fig-opcode-tlv">
            <name>Supported In-Stack Opcodes Sub-TLV.</name>
            <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Opcodes Sub-type (2)         |         Length = 16           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Supported Opcodes bitmap (bits 0-31)              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Supported Opcodes bitmap (bits 32-63)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Supported Opcodes bitmap (bits 64-95)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Supported Opcodes bitmap (bits 96-127)            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <ul spacing="normal">
            <li>
              <t>Sub-type: 2 (Supported In-Stack Opcodes).</t>
            </li>
            <li>
              <t>Length: 16 octets.</t>
            </li>
            <li>
              <t>Supported In-Stack Opcodes bitmap: A 128-bit bitmap where bit N (counting from bit 0 as the most significant bit of the first octet) corresponds to opcode value N. If bit N is set to 1, the node supports opcode N. If bit N is set to 0, the node does not support opcode N.</t>
            </li>
          </ul>
        </section>
        <section anchor="post-stack-mna-capabilities-sub-tlv">
          <name>Post-Stack MNA Capabilities Sub-TLV</name>
          <t>The Post-Stack MNA Capabilities Sub-TLV reports whether the node supports Post-Stack MNA processing, the maximum PSMH size, and the RLD including PSMH.</t>
          <figure anchor="fig-psd">
            <name>Post-Stack MNA Capabilities Sub-TLV.</name>
            <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    PS MNA Cap. Sub-type (3)   |         Length = 4            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   PS Flags    | MLD_PSMH      |  RLD_PSMH    |  Reserved      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <ul spacing="normal">
            <li>
              <t>Sub-type: 3 (Post-Stack MNA Capabilities).</t>
            </li>
            <li>
              <t>Length: 4 octets.</t>
            </li>
            <li>
              <t>PS Flags: An 8-bit field.
              </t>
              <ul spacing="normal">
                <li>
                  <t>Bit 0: PS_SUPPORTED. If set to 1, the node supports Post-Stack MNA processing as defined in <xref target="I-D.ietf-mpls-mna-ps-hdr"/>. If set to 0, Post-Stack MNA is not supported and the remaining fields in this sub-TLV <bcp14>SHOULD</bcp14> be ignored.</t>
                </li>
                <li>
                  <t>Bits 1-7: Reserved. <bcp14>MUST</bcp14> be set to zero on transmit and <bcp14>MUST</bcp14> be ignored on receipt.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>MLD_PSMH: An 8-bit unsigned integer indicating the maximum Post-Stack MPLS Header length (in 4-octet units, excluding the PSMH type header) that the node can process. A value of 0 indicates that the node did not provide this value. The valid range corresponds to the 8-bit PSMH-LEN field defined in <xref target="I-D.ietf-mpls-mna-ps-hdr"/>.</t>
            </li>
            <li>
              <t>RLD_PSMH: An 8-bit unsigned integer indicating the Readable Label Depth including the Post-Stack MPLS Header, in 4-octet units. A value of 0 indicates that the node did not provide this value.</t>
            </li>
            <li>
              <t>Reserved: <bcp14>MUST</bcp14> be set to zero on transmit and <bcp14>MUST</bcp14> be ignored on receipt.</t>
            </li>
          </ul>
        </section>
        <section anchor="supported-post-stack-opcodes-sub-tlv">
          <name>Supported Post-Stack Opcodes Sub-TLV</name>
          <t>The Supported Post-Stack Opcodes Sub-TLV reports the Post-Stack network action opcodes supported by the responding node.
The Post-Stack opcode space is 7 bits (128 values), identical to the In-Stack Opcodes Sub-TLV format in <xref target="isd-opcodes"/> but independent from it.
For the Supported Post-Stack Opcodes Sub-TLV, the sub-type 4 (Supported Post-Stack Opcodes) is used.
The format is identical to <xref target="fig-opcode-tlv"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="processing-rules">
      <name>Processing Rules</name>
      <t>This section defines the processing rules for querying and responding nodes.</t>
      <section anchor="ingress-ler-querier">
        <name>Ingress LER (Querier)</name>
        <t>The ingress LER constructs MPLS echo request messages containing the MNA Capabilities Query TLV.
In traceroute mode, the ingress LER sends echo requests with TTL values from 1 to the path length. This allows discovery of MNA capabilities at each hop.
Traceroute mode <bcp14>SHOULD</bcp14> be used when HBH-scoped network actions are planned, as the ingress LER needs the capabilities of every node to correctly place NAS copies within each node's RLD.
In ping mode, a single echo request with TTL set to 255 is sent.
This is sufficient when only I2E-scoped network actions are planned, as only the egress node's capabilities are needed.
After collecting responses, the ingress LER computes path-wide constraints as described in <xref target="overview"/>.
The ingress LER <bcp14>MUST</bcp14> ensure the following when constructing MPLS stacks with MNA:</t>
        <ol spacing="normal" type="1"><li>
            <t>A select-scoped NAS pushed for a specific node <bcp14>MUST NOT</bcp14> exceed that node's MLD_NAS_Select.</t>
          </li>
          <li>
            <t>An HBH-scoped NAS <bcp14>MUST NOT</bcp14> exceed the minimum MLD_NAS_HBH across all nodes on the path.</t>
          </li>
          <li>
            <t>An I2E-scoped NAS <bcp14>MUST NOT</bcp14> exceed the egress node's MLD_NAS_I2E.</t>
          </li>
          <li>
            <t>All NAS intended for a node <bcp14>MUST</bcp14> be within that node's RLD.</t>
          </li>
        </ol>
        <t>When Post-Stack MNA is used, the ingress LER <bcp14>MUST</bcp14> additionally ensure:</t>
        <ol spacing="normal" type="1"><li>
            <t>The ingress LER <bcp14>MUST NOT</bcp14> add a Post-Stack MPLS Header to a packet if the decapsulating node does not have the PS_SUPPORTED flag set.</t>
          </li>
          <li>
            <t>The PSMH-LEN of any Post-Stack MPLS Header <bcp14>MUST NOT</bcp14> exceed the MLD_PSMH of any node that will process the PSMH.</t>
          </li>
          <li>
            <t>The combined size of the MPLS label stack and any PSMH intended for a node <bcp14>MUST NOT</bcp14> exceed that node's RLD_PSMH.</t>
          </li>
        </ol>
      </section>
      <section anchor="responding-node">
        <name>Responding Node</name>
        <t>A node that supports MNA and receives an MPLS echo request containing the MNA Capabilities Query TLV <bcp14>MUST</bcp14> respond with an MPLS echo reply containing the MNA Capabilities Response TLV.
The responding node <bcp14>MUST</bcp14> include sub-TLVs corresponding to the flags set in the query:</t>
        <ul spacing="normal">
          <li>
            <t>If the QUERY_RLD_MLD_NAS flag is set, the RLD and MLD_NAS Sub-TLV <bcp14>MUST</bcp14> be included.</t>
          </li>
          <li>
            <t>If the QUERY_ISD_OPCODES flag is set, the Supported In-Stack Opcodes Sub-TLV <bcp14>MUST</bcp14> be included.</t>
          </li>
          <li>
            <t>If the QUERY_PS_MNA flag is set, the Post-Stack MNA Capabilities Sub-TLV (sub-type 3) <bcp14>MUST</bcp14> be included.</t>
          </li>
          <li>
            <t>If the node supports Post-Stack MNA and the QUERY_PS_OPCODES flag is set, the Supported Post-Stack Opcodes Sub-TLV (sub-type 4) <bcp14>MUST</bcp14> also be included.</t>
          </li>
        </ul>
        <t>If no Query Flags are set (all zero), the responding node <bcp14>SHOULD</bcp14> include all available sub-TLVs.
The reported capabilities are those of the node as a whole.
If capabilities vary per interface, the node <bcp14>SHOULD</bcp14> report the capabilities applicable to the interface on which the echo request was received.</t>
      </section>
      <section anchor="mna-incapable-nodes">
        <name>MNA-incapable Nodes</name>
        <t>A node that does not support MNA will not recognize the MNA Capabilities Query TLV.
According to RFC 8029, the handling depends on the TLV type value range.
The TLV type for the MNA Capabilities Query TLV <bcp14>SHOULD</bcp14> be assigned from the range that requires an error message if the TLV is not recognized.
This allows the ingress LER to detect nodes that do not support MNA.</t>
        <t>If a node does not support MNA, but recognizes the MNA Capabilities Query TLV, it <bcp14>MUST</bcp14> include Return Code TBA3 in the MPLS echo reply message.</t>
      </section>
    </section>
    <section anchor="example-2">
      <name>Example</name>
      <t>Consider an SR-MPLS path with three LSRs: R1, R2 (transit), and R3 (egress). The ingress LER R0 wants to push an HBH-scoped NAS and a select-scoped NAS for R2 along this path.</t>
      <t>R0 sends MPLS echo requests in traceroute mode with all Query Flags set. The responses are:</t>
      <table anchor="table_example_ping">
        <name>Example MNA Capabilities Responses.</name>
        <thead>
          <tr>
            <th align="left">Node</th>
            <th align="left">RLD</th>
            <th align="left">MLD_NAS_Select</th>
            <th align="left">MLD_NAS_HBH</th>
            <th align="left">MLD_NAS_I2E</th>
            <th align="left">PS_Supported</th>
            <th align="left">MLD_PSMH</th>
            <th align="left">RLD_PSMH</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">R1</td>
            <td align="left">20</td>
            <td align="left">9</td>
            <td align="left">9</td>
            <td align="left">0 (not egress)</td>
            <td align="left">Yes</td>
            <td align="left">16</td>
            <td align="left">36</td>
          </tr>
          <tr>
            <td align="left">R2</td>
            <td align="left">51</td>
            <td align="left">9</td>
            <td align="left">3</td>
            <td align="left">0 (not egress)</td>
            <td align="left">Yes</td>
            <td align="left">8</td>
            <td align="left">59</td>
          </tr>
          <tr>
            <td align="left">R3</td>
            <td align="left">35</td>
            <td align="left">9</td>
            <td align="left">9</td>
            <td align="left">9</td>
            <td align="left">Yes</td>
            <td align="left">16</td>
            <td align="left">51</td>
          </tr>
        </tbody>
      </table>
      <t>From these responses, R0 determines:</t>
      <ul spacing="normal">
        <li>
          <t>Path-wide RLD: min(20, 51, 35) = 20 LSEs</t>
        </li>
        <li>
          <t>Path-wide MLD_NAS_HBH: min(9, 3, 9) = 3 LSEs</t>
        </li>
        <li>
          <t>MLD_NAS_Select for R2: 9 LSEs</t>
        </li>
        <li>
          <t>MLD_NAS_I2E: 9 LSEs (from R3)</t>
        </li>
        <li>
          <t>Post-Stack MNA is supported on all nodes (PS_SUPPORTED set at R1, R2, R3).</t>
        </li>
        <li>
          <t>Path-wide MLD_PSMH for HBH-scoped PSMH: min(16, 8, 16) = 8 (in 4-octet units).</t>
        </li>
        <li>
          <t>MLD_PSMH for I2E-scoped PSMH: 16 (from R3).</t>
        </li>
        <li>
          <t>Path-wide RLD_PSMH: min(36, 59, 51) = 36 (in 4-octet units).</t>
        </li>
      </ul>
      <t>R0 can now construct a label stack ensuring that all NAS are within each node's RLD and do not exceed the per-scope MLD_NAS constraints. For Post-Stack MNA, R0 ensures that the PSMH does not exceed the path-wide MLD_PSMH and that the combined label stack and PSMH do not exceed any node's RLD_PSMH.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations described in <xref target="rfc8029"/> apply to this document.
The MNA capability discovery mechanism reveals information about node capabilities, which could potentially be exploited by an attacker to craft targeted attacks against nodes with limited MNA support.
Nodes that support MNA capability discovery <bcp14>SHOULD</bcp14> support configuration options to enable or disable the MNA Capabilities Query/Response functionality.
By default, MNA capability discovery <bcp14>SHOULD</bcp14> be enabled only within an MNA-capable MPLS domain.
The security considerations from <xref target="I-D.ietf-mpls-mna-hdr"/> and <xref target="rfc9789"/> also apply.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This section requests new TLVs and sub-TLVs.</t>
      <section anchor="tlv-assignments">
        <name>TLV Assignments</name>
        <t>IANA is requested to assign two new TLVs from the "TLV" registry in the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" registry group.
The TLV values <bcp14>SHOULD</bcp14> be assigned from the range that requires an error message if the TLV is not recognized.</t>
        <table anchor="table_iana">
          <name>New TLVs.</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">TLV Name</th>
              <th align="left">Reference</th>
              <th align="left">Sub-TLV Registry</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBA1</td>
              <td align="left">MNA Capabilities Query</td>
              <td align="left">This document</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">TBA2</td>
              <td align="left">MNA Capabilities Response</td>
              <td align="left">This document</td>
              <td align="left">See <xref target="table_iana2"/></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="new-sub-tlv-registry">
        <name>New Sub-TLV Registry</name>
        <t>IANA is requested to create a new sub-TLV registry for TLV TBA2 with the following initial entries:</t>
        <table anchor="table_iana2">
          <name>Sub-TLV Registry for TLV TBA2.</name>
          <thead>
            <tr>
              <th align="left">Sub-Type</th>
              <th align="left">Sub-TLV Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">Reserved</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">RLD and MLD_NAS</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">Supported In-Stack Opcodes</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">Post-Stack MNA Capabilities</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">Supported Post-Stack Opcodes</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="return-code-assignment">
        <name>Return Code Assignment</name>
        <t>IANA is requested to assign a new Return Code from the "Return Code" registry in the "Multiprotocol Label
Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" registry group as follows.</t>
        <table anchor="table_return_code">
          <name>New return code.</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Meaning</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBA3</td>
              <td align="left">MNA not supported</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-mpls-mna-hdr">
          <front>
            <title>MPLS Network Action (MNA) Sub-Stack Specification including In-Stack Network Actions and Data</title>
            <author fullname="Jaganbabu Rajamanickam" initials="J." surname="Rajamanickam">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Royi Zigler" initials="R." surname="Zigler">
              <organization>Broadcom</organization>
            </author>
            <author fullname="Haoyu Song" initials="H." surname="Song">
              <organization>Futurewei Technologies</organization>
            </author>
            <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
              <organization>Juniper Networks</organization>
            </author>
            <date day="24" month="February" year="2026"/>
            <abstract>
              <t>   This document specifies the MPLS Network Actions (MNA) sub-stack for
   carrying Network Actions and Ancillary Data in the MPLS label stack.
   MNA can be used to influence packet forwarding decisions, carry
   additional Operations, Administration, and Maintenance information in
   the MPLS packet or perform user-defined operations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mpls-mna-hdr-21"/>
        </reference>
        <reference anchor="I-D.ietf-mpls-mna-ps-hdr">
          <front>
            <title>Post-Stack MPLS Network Action (MNA) Header Specification</title>
            <author fullname="Jaganbabu Rajamanickam" initials="J." surname="Rajamanickam">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Royi Zigler" initials="R." surname="Zigler">
              <organization>Broadcom</organization>
            </author>
            <author fullname="Jie Dong" initials="J." surname="Dong">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Jisu Bhattacharya" initials="J." surname="Bhattacharya">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <date day="23" month="June" year="2026"/>
            <abstract>
              <t>   This document defines the Post-Stack MPLS Network Action (MNA) Header
   Specification for carrying Network Action encodings and Ancillary
   Data after the MPLS label stack, based on the In-Stack MNA
   Specification defined in "MPLS Network Action (MNA) Sub-Stack
   Specification."  MPLS Network Actions can be used to influence packet
   forwarding decisions, carry additional Operations, Administration,
   and Maintenance information in the MPLS packet, or perform user-
   defined operations.  This document follows the framework specified in
   RFC 9789.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mpls-mna-ps-hdr-09"/>
        </reference>
        <reference anchor="rfc8029">
          <front>
            <title>Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures</title>
            <author fullname="K. Kompella" initials="K." surname="Kompella"/>
            <author fullname="G. Swallow" initials="G." surname="Swallow"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="N. Kumar" initials="N." surname="Kumar"/>
            <author fullname="S. Aldrin" initials="S." surname="Aldrin"/>
            <author fullname="M. Chen" initials="M." surname="Chen"/>
            <date month="March" year="2017"/>
            <abstract>
              <t>This document describes a simple and efficient mechanism to detect data-plane failures in Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs). It defines a probe message called an "MPLS echo request" and a response message called an "MPLS echo reply" for returning the result of the probe. The MPLS echo request is intended to contain sufficient information to check correct operation of the data plane and to verify the data plane against the control plane, thereby localizing faults.</t>
              <t>This document obsoletes RFCs 4379, 6424, 6829, and 7537, and updates RFC 1122.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8029"/>
          <seriesInfo name="DOI" value="10.17487/RFC8029"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IhMe25" target="https://ieeexplore.ieee.org/document/10947349">
          <front>
            <title>MPLS Network Actions; Technological Overview and P4-Based Implementation on a High-Speed Switching ASIC</title>
            <author initials="F." surname="Ihle" fullname="Fabian Ihle">
              <organization>University of Tuebingen</organization>
            </author>
            <author initials="M." surname="Menth" fullname="Michael Menth">
              <organization>University of Tuebingen</organization>
            </author>
            <date year="2025" month="April" day="02"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/OJCOMS.2025.3557082"/>
          <format type="PDF" target="https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;arnumber=10947349"/>
        </reference>
        <reference anchor="I-D.ietf-mpls-mna-fwk">
          <front>
            <title>MPLS Network Actions (MNA) Framework</title>
            <author fullname="Loa Andersson" initials="L." surname="Andersson">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Stewart Bryant" initials="S." surname="Bryant">
              <organization>University of Surrey 5GIC</organization>
            </author>
            <author fullname="Matthew Bocci" initials="M." surname="Bocci">
              <organization>Nokia</organization>
            </author>
            <author fullname="Tony Li" initials="T." surname="Li">
              <organization>Juniper Networks</organization>
            </author>
            <date day="27" month="December" year="2024"/>
            <abstract>
              <t>   This document describes an architectural framework for the MPLS
   Network Actions (MNA) technologies.  MNA technologies are used to
   indicate actions that impact the forwarding or other processing (such
   as monitoring) of the packet along the Label Switched Path (LSP) of
   the packet and to transfer any additional data needed for these
   actions.

   The document provides the foundation for the development of a common
   set of network actions and information elements supporting additional
   operational models and capabilities of MPLS networks.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mpls-mna-fwk-15"/>
        </reference>
        <reference anchor="rfc9789">
          <front>
            <title>MPLS Network Actions (MNAs) Framework</title>
            <author fullname="L. Andersson" initials="L." surname="Andersson"/>
            <author fullname="S. Bryant" initials="S." surname="Bryant"/>
            <author fullname="M. Bocci" initials="M." surname="Bocci"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <date month="July" year="2025"/>
            <abstract>
              <t>This document describes an architectural framework for MPLS Network Action (MNA) technologies. MNA technologies are used to indicate actions that impact the forwarding or other processing (such as monitoring) of the packet along the Label Switched Path (LSP) of the packet and to transfer any additional data needed for these actions.</t>
              <t>This document provides the foundation for the development of a common set of network actions and information elements supporting additional operational models and capabilities of MPLS networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9789"/>
          <seriesInfo name="DOI" value="10.17487/RFC9789"/>
        </reference>
        <reference anchor="I-D.ietf-mpls-mna-usecases">
          <front>
            <title>Use Cases for MPLS Network Action Indicators and MPLS Ancillary Data</title>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Kiran Makhijani" initials="K." surname="Makhijani">
              <organization>Independent</organization>
            </author>
            <author fullname="Haoyu Song" initials="H." surname="Song">
              <organization>Futurewei Technologies</organization>
            </author>
            <author fullname="Greg Mirsky" initials="G." surname="Mirsky">
              <organization>Ericsson</organization>
            </author>
            <date day="23" month="September" year="2024"/>
            <abstract>
              <t>   This document presents use cases that have a common feature that may
   be addressed by encoding network action indicators and associated
   ancillary data within MPLS packets.  There is community interest in
   extending the MPLS data plane to carry such indicators and ancillary
   data to address the use cases that are described in this document.

   The use cases described in this document are not an exhaustive set,
   but rather the ones that are actively discussed by members of the
   IETF MPLS, PALS, and DetNet working groups from the beginning of work
   on the MPLS Network Action until the publication of this document.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mpls-mna-usecases-15"/>
        </reference>
      </references>
    </references>
    <?line 543?>



  </back>
  <!-- ##markdown-source:
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
z76nQqsUmbXT642P6R5b4qZcKncjsx3VsbtJoYMyy33WiZFNagw7ljCB7tQT
dzKV9mMkhVvKfXVHV8LNDgoZGFCDsGUS5pS5Z070U87CI/JNrYxYzcNcw1l/
z0SrGvW8ok0Z1Dy+5b0QE9xuzjnPSpm+v6YaPMTrbxys0h7JNnkVliBUUvA5
ALFhAYBjIBS8QshicAIED050wb6P7v7nqTXy5/C/JYMauE+ZHBprPaDTdunR
HVtk2Ma8mbJlyi8ijGbTqs/lbbEppiNXpcx8k9681jlQ4qjI991ztttUaJwD
2+GY4trqPDZdAkstEWyXNp8A+7KjIxpSvt35qU00RBrAmGKAoie6fufJ8plV
+9YlOUVdBhOC5HGHiNd56ncPD+nJMHpHAxprETeUhhxI/Z02C1NV/JynkuGe
owzfsxEGzLsZbNVnoG8EVzVhrl8eUbCqN4Woutz4jSCq1PEviaim5By1hWQU
44dHYTb2lf+mjKQ1mtn6dFVWTiVtpqxk+aTTALem5kFS7BcL7a+UN32W72Kp
nQNkC2WLqI4L+4bi52RTcc9Kbv169LVDMFbV3SKZsEZfdx5/Bn1dfAqW0oAp
mmwjJcWev99xcx1/eRj2u/7j/Z2/LAyPD/xnh39hGJ499jvdJzubhsGxnXjZ
2abTaplTsaK6Yru5lWNQAXMXFtWSkRgPoFZQnJBeUZi5w/QpkiiXYpvOKkeZ
Q1vOeHFPJ0pQ/TRqItpyi6i9di0mYYo+N8KxUxFFlhgSl+RY8WChCQt1WoVO
Mpudql19iz2rRSWTzLSszYhznF3bv1rjOaMb7j79JE73qGmTI9Uy+SPVU5N+
VVJbwJSKoFMhu/fdzZvP62UBCGrrRntRxelUD8I5x+qhvJWzcUmRZGMtItbg
vYqM2BfbS5o1el0aBeX9E9wN9mlDZK8HD70ZvL6+vurfnBzTAly2Ujdy+Kw9
CqzuUp+VLGW9aFJ8kQLlNajwl86qUlEXHZApAtxmnpno+E96hsjtnx0t9w1D
/QTrvSFDToXXtleleJZzO3eWmfo/yQ0mrLIxqaOC2l8oi3zsg2dfSpdcmxk4
OvCpuPzJ593XnS73c5G02Y2YxjS6kiVRcnKaH3TcnNV5a6scnZXJbOzXiG10
ZjjNagewjq8foteJKK5pdMr0bgwyju3VfaRjNqyXGbHlEqrjFPI1scFiLdNK
6cA2v6qtKN1wkaEsocC72Sly5sMV44U5yIdRiOtCPPYXM5ktSfYvnkzxSYrB
FqdER+MyETJ9XmCR8bL9Le12pzuVxBtzav6Gsu+8uuy7ckIqZ/u5OXkUfray
74iAHc0RlIzDUlC9WUJVjhSpQeqARne7X9VmTOMEiOSCZekEJCIn/jSfAqhP
4IsiTLENssqkVJXBtHQuPh7PR/CpaLv1xgI6z4/PUIkTyj3ik/1MviHn0BJO
V2YaGvwp4YJBFpV9qNKRSR1OwGwPKfURp0sHaFsxnFVzrjvJ/LdZNcWCzw1q
e0dUoDOKZxh6JA7W6X1VphjF82SBsrXIQbPy/NiIsM4J//DBpKNy9cennNRR
vAZEv9BG5Y0RFoGNVJrqUU3UlM59HNdm65kgVk0ytBsvpvTPo0oEs9pBfWph
MErjLGs6LGOfui6F5uq6dqnonL9yAH1A73zOVjXtW2spcxalk/UNAogSqavm
G660hgR1550YTDqgwmE1fe+z1B/xQaNkQhU2L2384YJqe4/Ve3q0JaPqIhoG
r0P22iUVuobgCQ+5oUT9ZbzpJOqrrV9SJ5dw38n+cJKQWfdY6SAVBbK23mDw
3GSQn5m/7G16W5h0Lu2gnzERqslWxC8cn2gZb75ut9ZYeQzKuF3u1U6wqvS6
Rvh65QAqv6rS9zrxj21jIoHbvmSkpQ6i9t0qyVhLprvEkC1gOlAw0VlrDmAe
b+fbKUmB2tPfRlmKBvnO2jv6RaaSZiTNcwrailrM6VAr+zwmOrjnbhrjcYAA
nNPiHVa9JuTfgBadgK1gud0mfYpiXRWrI0iSGVig6jBAk6KNnaCu4PwDUgGO
DUEvBeJM/Lan0638MNInql1ScY4tECphNyQtCTQ+fW8U30aqBnCp2Xg0gkWo
l59+uxvPdwqcQgfisXVvlB1SnQiuUtzRB2UKmDvmfLRmwVNYgUGm/EpTaMNu
rUp7UwW/IJZkmmKmChvHWrmo3DJn1mNledW9+wyPkeYKh5E+IFAhtIxO5tty
vZX1QIu8HzPqqkzdatFSX+aLNBIvcYCbF0f7TmacJX9NnrlXHIn1EnN46CUD
kXPqo84nSSWdZJX1RL/TEv2u2FZvblPvlOvvi222Q3aqqr6/BzyJ1h+eaFl/
7Bift1k105D0MJp+d06YKePIgz4bqo04bFTyEpoSGd36GFrflEuMS0Qdfl9O
4BBuBkc5fwPfkwCPGmFnRSats/X1C0pEfVKxe2HFbfun8xXzYTjdt7uHfz9z
g8nuBcw93qYSQCYjXPhBZvZ9s/X2IPbNVxyDE34PO7Vj7H/SGE+Lr4e6KxqD
U373D9eYR+V28zwOdeDdfqOAOnriDTlr5fMnmowVztc9VTInk7aPBLxqaqA4
ee/armnCN8dG2929FoDTginuiOdIMNz4dx51Ui+wCUjW/ZZ4hs/v68drqpH6
3R7gpHSf0hL4qtgmUdnf38HhKsa+VUIUWb7KtmNio/IFscfCoYV9tSuwE+OX
yo84KIiT6TxuiactIA5O52k1SLpjx2Q5Cb1wjbgbIKyZSruM5TfFUPsw1OEz
RDeh7nHtYChhMNCKrw8sXkoYOOY6+Tdsx+Lpf8rT0mebVmMA/L6R2K20lWgd
8ESMgemUxtW9ihCAY+fKCmISYqqVvOWaN3qMzbZyEXHdyzpK8Gqfx/U3QJMM
5Ahwkd8LrUrM66nQNFP3Rs69cijAeokbWj73bPQ4x6rqTIsVJat4gi4d2VEk
ZYpgGKtDfEvFv6rAJF7MxiKJ8YiAkLxXPKIE388bmuo/YHHEDfulI3xTt3o/
MyIm59hDcAtky7QxQHqHTlbAsyrxRBVeTW3vsjAWbKOrdmL6IAL1HGBxEt4u
VGlvnKiXQ8b8olRKwIW2bDY22hC7xs2aLKIRu+wwatt7cY+By2AxwyKMFRDR
KS5cuMdvcWO256ICc4IvqehxjJs77aX8sOrYV+RJ51VV5BwQr5A1c3aEUy3z
nxWRNSaCeccg1+Rqw59eyQcm4BEZkchymUedqhO8oa2u/ccH6Njv4nWF2uDc
gp9b8PxtCIv4Xpthy99yL7YRSzt171mm12Reg7akuu5rc56ENcQtmDpJYTWr
4OtnNopBLXOS6wM9Uf8euPKb2h6Mq9fXwAtTXLW8lKp8r/5Z6gvr1mhTuN58
JjjcVwyhyVcDPffVre3LLKBqXwOJ51azOREGUdClN1UVJgZe06bFpeIfdX6/
wN9lHNUz4QiT6ei9UNAkM1tBCq2oIvECwW/SwosQKr0SKZjhO1lSei2pp2iD
LldBplqyVqjq1Zqg61FRlb2ZjptLLquYVgVtum0pTrOybbe4uSQaU992v2i7
LNpS2/agbtyasEi1rctD3SItqbSobOprzrIdxELCLRVwzFt2w0LKWVfXk3be
JqWdVQ/jiKILGVBocQ1mXaeWU4uAfS0C3NSFZQRKCT9vaOvUWut8WeBlTgOB
QYZAdM/7X+UJlCRohgAA

-->

</rfc>
