MPLS Working Group R. Gandhi, Ed. Internet-Draft Cisco Systems, Inc. Intended status: Standards Track G. Mirsky, Ed. Expires: 27 February 2027 Ciena Corporation H. Song Futurewei Technologies B. Wen V. Kozak Comcast 26 August 2026 Encapsulation for In Situ Operations, Administration, and Maintenance Data Using MPLS Network Actions draft-ietf-mpls-mna-ioam-12 Abstract In situ Operations, Administration, and Maintenance (IOAM), defined in RFC 9197, collects operational and telemetry information in the packet using IOAM-Data-Fields while the packet traverses a path between two points in the network. Several IOAM Option-Types are available, for example, Pre-allocated Trace, Proof of Transit (POT), Edge-to-Edge (E2E), and Incremental Trace, that can be used to collect information for calculating various performance metrics. RFC 9326 defines the IOAM Direct Export (IOAM-DEX) Option-Type, which is used as a trigger for IOAM data to be directly exported or locally aggregated without being pushed into in-flight data packets. MPLS Network Actions (MNA) mechanisms indicate actions to be performed on any combination of Label Switched Paths, MPLS packets, and the node itself, and to transport data needed for these actions. This document employs the MNA mechanisms to collect and transport the operational state and telemetry information using IOAM-Data-Fields as well as IOAM-DEX. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Gandhi, et al. Expires 27 February 2027 [Page 1] Internet-Draft IOAM Using MPLS Network Actions August 2026 Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 27 February 2027. Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . . 4 2.1. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 6 3. Applicability of IOAM and IOAM-DEX in an MPLS Network . . . . 6 4. Realization of IOAM and IOAM-DEX as Post-Stack MNA . . . . . 6 4.1. NAS for IOAM and IOAM-DEX as Post-Stack MNA . . . . . . . 7 4.2. PSMH for IOAM and IOAM-DEX as Post-Stack MNA . . . . . . 8 4.2.1. Example of Multiple IOAM and IOAM-DEX Option-Types as Post-Stack MNA . . . . . . . . . . . . . . . . . . . 10 4.3. Procedure for IOAM and IOAM-DEX as Post-Stack MNA . . . . 10 4.3.1. Ingress-to-Egress Scope IOAM and IOAM-DEX as Post-Stack MNA . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.3.2. Hop-by-Hop Scope IOAM and IOAM-DEX as Post-Stack MNA . . . . . . . . . . . . . . . . . . . . . . . . . 11 5. Realization of IOAM-DEX as In-Stack MNA . . . . . . . . . . . 12 5.1. NAS for IOAM-DEX as In-Stack MNA . . . . . . . . . . . . 12 5.2. IOAM-DEX Option-Type Encoding as MNA ISD . . . . . . . . 14 5.2.1. Ext-Flags Definition . . . . . . . . . . . . . . . . 17 6. Considerations for IOAM and IOAM-DEX in MPLS Networks . . . . 18 6.1. Node Capability . . . . . . . . . . . . . . . . . . . . . 18 6.2. Readable Label Depth . . . . . . . . . . . . . . . . . . 19 6.3. Nested MPLS Encapsulation . . . . . . . . . . . . . . . . 19 7. Operational Considerations . . . . . . . . . . . . . . . . . 19 8. Security Considerations . . . . . . . . . . . . . . . . . . . 20 Gandhi, et al. Expires 27 February 2027 [Page 2] Internet-Draft IOAM Using MPLS Network Actions August 2026 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 9.1. Network Action Opcodes . . . . . . . . . . . . . . . . . 21 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 10.1. Normative References . . . . . . . . . . . . . . . . . . 21 10.2. Informative References . . . . . . . . . . . . . . . . . 22 Appendix A: In-Stack and Post-Stack Network Action Processing Order Example . . . . . . . . . . . . . . . . . . . . . . . . . 24 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 26 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 1. Introduction In situ Operations, Administration, and Maintenance (IOAM) [RFC9197] collects operational and telemetry information in the packet using IOAM-Data-Fields while the packet traverses a path between two points in the network. Several IOAM Option-Types are available, for example, Pre-allocated Trace, Proof of Transit (POT), Edge-to-Edge (E2E), and Incremental Trace, that can be used to collect information for calculating various performance metrics. Such mechanisms transport the collected information from an IOAM encapsulating node to an IOAM decapsulating node (both typically located at the edge of the IOAM domain within the data path). IOAM Direct Export (IOAM-DEX) [RFC9326] is an IOAM Option-Type used as a trigger for IOAM data to be directly exported or locally aggregated without being pushed into in-flight data packets. The exporting method and format are outside the scope of [RFC9326]. MPLS Network Actions (MNA) mechanisms [RFC9789] indicate actions to be performed on any combination of Label Switched Paths, MPLS packets, and the node itself, and allow for the transport of data needed for these actions. [RFC9994] defines mechanisms for carrying a Network Action Sub-Stack (NAS) as part of the MPLS label stack, i.e., the In-Stack MNA solution. [I-D.ietf-mpls-mna-ps-hdr] defines mechanisms for carrying MNA and Ancillary Data (AD) below the MPLS label stack, i.e., as the Post-Stack MNA solution. [RFC9791] describes various use cases that can be realized using the MNA solution, including the IOAM and IOAM-DEX. This document employs the MNA mechanisms to collect and transport the operational state and telemetry information using IOAM Option-Types, including Pre-allocated Trace, POT, and E2E, as well as IOAM-DEX. The mechanism for exporting the collected information for the IOAM- DEX Option-Type is outside the scope of this document. Also, transporting the Incremental Trace IOAM Option-Type is outside the scope of this document. Gandhi, et al. Expires 27 February 2027 [Page 3] Internet-Draft IOAM Using MPLS Network Actions August 2026 2. Conventions Used in This Document 2.1. Abbreviations The terminology defined in [RFC9789], [RFC9994], and [I-D.ietf-mpls-mna-ps-hdr] is used in this document. +==================+=================+============================+ | Abbreviation | Meaning | Reference | +==================+=================+============================+ | AD | Ancillary Data | [RFC9613] | +------------------+-----------------+----------------------------+ | Blob | Binary Large | This document | | | Object | | +------------------+-----------------+----------------------------+ | BoS | Bottom of Stack | [RFC3032] | +------------------+-----------------+----------------------------+ | HbH | Hop-by-Hop | [RFC9789] | +------------------+-----------------+----------------------------+ | I2E | Ingress to | [RFC9789] | | | Egress | | +------------------+-----------------+----------------------------+ | E2E | Edge to Edge | [RFC9197] | +------------------+-----------------+----------------------------+ | IHS | I2E, HbH, or | [RFC9994] | | | Select | | +------------------+-----------------+----------------------------+ | IOAM | In situ | [RFC9197] | | | Operations, | | | | Administration, | | | | and Maintenance | | +------------------+-----------------+----------------------------+ | IOAM-DEX | IOAM Direct | [RFC9326] | | | Export | | +------------------+-----------------+----------------------------+ | IOAM-DEX-MNA-ISD | IOAM Direct | This document | | | Export as MPLS | | | | Network Action | | | | ISD | | +------------------+-----------------+----------------------------+ | ISD | In-Stack Data | [RFC9613] | +------------------+-----------------+----------------------------+ | LSE | Label Stack | [RFC3032] | | | Entry | | +------------------+-----------------+----------------------------+ | MNA | MPLS Network | [RFC9789] | | | Action | | +------------------+-----------------+----------------------------+ Gandhi, et al. Expires 27 February 2027 [Page 4] Internet-Draft IOAM Using MPLS Network Actions August 2026 | MPLS | Multiprotocol | [RFC3032] | | | Label Switching | | +------------------+-----------------+----------------------------+ | NAI | Network Action | [RFC9613] | | | Indicator | | +------------------+-----------------+----------------------------+ | NAL | Network Action | [RFC9994] | | | Length | | +------------------+-----------------+----------------------------+ | NAS | Network Action | [RFC9789] | | | Sub-Stack | | +------------------+-----------------+----------------------------+ | NASL | Network Action | [RFC9994] | | | Sub-Stack | | | | Length | | +------------------+-----------------+----------------------------+ | OAM | Operations, | [RFC6291] | | | Administration, | | | | and Maintenance | | +------------------+-----------------+----------------------------+ | P bit | Post-Stack Data | [I-D.ietf-mpls-mna-ps-hdr] | | | Presence bit | | +------------------+-----------------+----------------------------+ | POT | Proof of | [RFC9197] | | | Transit | | +------------------+-----------------+----------------------------+ | RLD | Readable Label | [RFC9789] and | | | Depth | [I-D.ietf-mpls-mna-ps-hdr] | +------------------+-----------------+----------------------------+ | PFN | Post-Stack | [RFC9790] | | | First Nibble | | +------------------+-----------------+----------------------------+ | PSD | Post-Stack Data | [RFC9613] | +------------------+-----------------+----------------------------+ | PSMH | Post-Stack MPLS | [I-D.ietf-mpls-mna-ps-hdr] | | | Header | | +------------------+-----------------+----------------------------+ | S bit | Bottom of Stack | [RFC3032] | | | bit | | +------------------+-----------------+----------------------------+ | TC | Traffic Class | [RFC5462] | +------------------+-----------------+----------------------------+ | TTL | Time to Live | [RFC3032] | +------------------+-----------------+----------------------------+ | U bit | Unknown Network | [RFC9994] | | | Action Handling | | | | bit | | +------------------+-----------------+----------------------------+ Gandhi, et al. Expires 27 February 2027 [Page 5] Internet-Draft IOAM Using MPLS Network Actions August 2026 Table 1: Abbreviations 2.2. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. Applicability of IOAM and IOAM-DEX in an MPLS Network Pre-allocated Trace, POT, and E2E IOAM Option-Types [RFC9197] use user packets to collect and transport the operational state and telemetry information. This document defines the Post-Stack MNA [I-D.ietf-mpls-mna-ps-hdr] solution for encapsulation of the Pre- allocated Trace, POT, and E2E IOAM Option-Types (see Section 4). However, for some use cases, e.g., mobile backhaul, in which network resources are closely controlled, collecting and transporting telemetry information within a user packet may increase the complexity of network operations. In such environments, IOAM nodes can use IOAM-DEX, an IOAM Option-Type used as a trigger for IOAM data to be directly exported or locally aggregated without being pushed into in-flight data packets, as defined in [RFC9326]. IOAM-DEX collects the on-path telemetry information defined as IOAM data in [RFC9197]. In this document, encapsulations for IOAM-DEX are realized as In-Stack Data (see Section 5) and as Post-Stack Data (see Section 4). The procedure defined in this document for carrying IOAM Option-Types using the MNA solution can be applied to user traffic packets and active measurement test packets. [I-D.gandhi-ippm-stamp-mpls-hdr] uses the mechanisms defined in this document to transport IOAM Option-Types using the MNA solution, with Simple Two-Way Active Measurement Protocol (STAMP) test packets for Hop-by-Hop (HbH) and E2E measurements. [I-D.ietf-ippm-on-path-active-measurements] also describes active measurement methods where the mechanisms defined in this document can carry IOAM Option-Types for on-path telemetry in MPLS networks. 4. Realization of IOAM and IOAM-DEX as Post-Stack MNA The procedure defined utilizes the In-Stack MNA mechanisms [RFC9994] and Post-Stack MNA mechanisms [I-D.ietf-mpls-mna-ps-hdr] to transport IOAM Option-Types defined in Section 4 of [RFC9197] and IOAM-DEX Option-Type defined in Section 3.2 of [RFC9326]) as Post-Stack MNA in MPLS networks. Gandhi, et al. Expires 27 February 2027 [Page 6] Internet-Draft IOAM Using MPLS Network Actions August 2026 4.1. NAS for IOAM and IOAM-DEX as Post-Stack MNA The presence of the associated Post-Stack MPLS Header (PSMH) is indicated by setting the P bit to 1 in the NAS as defined in [I-D.ietf-mpls-mna-ps-hdr]. An example of a NAS with a Format B LSE and the associated PSMH carrying IOAM and IOAM-DEX Option-Types is shown in Figure 1. 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 Label (value 4) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode | 13-bit Data (Format B) |P|IHS|S| NASL |U| NAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label | TC |1| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Post-Stack MPLS Header for IOAM and IOAM-DEX per Figure 2 ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Optional Payload + Padding ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Example of NAS with Format B LSE for Carrying IOAM and IOAM-DEX in PSMH The fields in a NAS are defined as follows: * The MNA Label (value 4) is defined in [RFC9994]. * S (1-bit): The BoS [RFC3032]. * P (1-bit): The P bit is set as specified in [I-D.ietf-mpls-mna-ps-hdr]. * The NAL and NASL fields are set as specified in [RFC9994]. * Opcode (7-bit): The opcode is set as specified in [RFC9994]. * Data: The data is set as specified in [RFC9994]. * The U bit is set as specified in [RFC9994] for In-Stack Network Actions and updated in [I-D.ietf-mpls-mna-ps-hdr]. * The IHS scope field is set as defined in [RFC9994] and updated in [I-D.ietf-mpls-mna-ps-hdr]. Gandhi, et al. Expires 27 February 2027 [Page 7] Internet-Draft IOAM Using MPLS Network Actions August 2026 If both edge and intermediate nodes need to process the IOAM Option- Types, then the IHS scope MUST be set to "HbH, value 0x1". If only edge nodes need to process the IOAM Option-Types, then the IHS scope MUST be set to "I2E, value 0x0". The I2E scope allows skipping IOAM processing on the intermediate nodes, i.e., it avoids the need to parse all IOAM Option-Types to detect the one that requires HbH processing. 4.2. PSMH for IOAM and IOAM-DEX as Post-Stack MNA An example encoding of PSMH carrying IOAM and IOAM-DEX in Post-Stack MNA is shown in Figure 2. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PFN |Reserve| PSMH-Len | Type = MNA Post-Stack Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MNA-PS-OP |R|R| PS-NAL | Block-Number |R|IOAM-Opt-Type| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ IOAM Option-Type and Data Space [RFC9197] [RFC9326] ~ ~ Beginning from Namespace-ID ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Example of Post-Stack MPLS Header Carrying IOAM and IOAM-DEX The Post-Stack MPLS Base Header is added and contains the following fields as defined in [I-D.ietf-mpls-mna-ps-hdr]. * PFN (4-bit): The Post-Stack First Nibble (PFN) (value 0x0) as defined in [I-D.ietf-mpls-mna-ps-hdr]. * PSMH-Len (8-bit): The PSMH total length in units of 4 octets as defined in [I-D.ietf-mpls-mna-ps-hdr]. The value excludes the first 4-octet unit for Post-Stack MPLS Base Header. When carrying N IOAM and IOAM-DEX network actions, all with the same PS-NAL value, PSMH-Len equals (1 + PS-NAL) * N. * Type (16-bit): Type for MNA Post-Stack Header (value 1) as defined in [I-D.ietf-mpls-mna-ps-hdr]. The PSMH is added after the Post-Stack MPLS Base Header and contains the Post-Stack network action opcode for IOAM and IOAM-DEX, the length in 4-octet units, and the IOAM Option-Type with IOAM-Data- Fields in the Post-Stack ancillary data as shown in Figure 2 and contains the following fields: Gandhi, et al. Expires 27 February 2027 [Page 8] Internet-Draft IOAM Using MPLS Network Actions August 2026 * MNA-PS-OP (7-bit): Set to Opcode TBA1 (network action opcode for IOAM and IOAM-DEX in PSD) for the IOAM Option-Type defined in [RFC9197], and the IOAM-DEX Option-Type defined in [RFC9326]. The U bit for this network action is set as specified in [I-D.ietf-mpls-mna-ps-hdr]. The IHS scope field for this network action is set to either I2E or HBH [I-D.ietf-mpls-mna-ps-hdr]. * R (3 x 1-bit): Three reserved bits appear in the PSMH row: two bits following MNA-PS-OP and one bit preceding IOAM-Opt-Type. All reserved bits MUST be set to 0 on transmission and MUST be ignored on receipt. * IOAM-Opt-Type (7-bit): The field to carry the IOAM Option-Type, as defined in the "IOAM Option-Type Registry" in [RFC9197] and [RFC9326]. * PS-NAL (7-bit): Unsigned integer representing the length of the IOAM-Data-Fields in 4-octet units for the MNA-PS-OP. The value excludes the first 4-octet unit. * IOAM Option-Type and Data Space: IOAM-Data-Fields as specified by the IOAM-Opt-Type field, beginning from the Namespace-ID field. IOAM-Data-Fields are defined according to the IOAM Option-Type (e.g., see Section 4 of [RFC9197] and Section 3.2 of [RFC9326]). * Block-Number (8-bit): The Block-Number is used for the alternate marking method [RFC9341] to aggregate the IOAM-Data-Fields collected in the data plane and to correlate IOAM-Data-Fields exported from different nodes along the packet path, e.g., to compute measurement metrics for each block of a data flow. - When the Flow ID field is present in the IOAM-Data-Fields in the PSMH, the Block-Number is scoped per data flow within the IOAM Namespace identified by the Namespace-ID field. - When the Flow ID field is absent, the Block-Number is scoped per IOAM Namespace (identified by the Namespace-ID field) and applies to all flows sharing that Namespace. - The Block-Number MUST be initialized to 0 at the start of operation and wraps from 255 back to 0 on overflow. It is incremented sequentially at every measurement interval configured at the encapsulating node. When the alternate marking method is not used, the Block-Number SHOULD be set to 0. Gandhi, et al. Expires 27 February 2027 [Page 9] Internet-Draft IOAM Using MPLS Network Actions August 2026 The following processing rules apply to the network action opcode TBA1. * An MPLS packet MAY carry multiple network action opcode TBA1 in the same PSMH for different Option-Types. * An MPLS packet MAY carry network action opcode TBA1 in more than one PSMH for different processing scopes. * An MPLS packet MUST NOT carry network action opcode TBA1 in a NAS. Otherwise, the packet is treated as malformed and MUST be dropped. * The IHS scope in a NAS MUST NOT be set to Select when the network action opcode TBA1 is carried in the associated PSMH. Otherwise, the packet is treated as malformed and MUST be dropped. 4.2.1. Example of Multiple IOAM and IOAM-DEX Option-Types as Post-Stack MNA An example of multiple Post-Stack Network Actions with the same IHS scope carrying different IOAM and IOAM-DEX Option-Types is shown in Figure 3. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PFN |Reserve| PSMH-Len | Type = MNA Post-Stack Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MNA-PS-OP1 |R|R| PS-NAL1 | Block-Number |R|IOAM-Opt-Type| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ IOAM Option-Type and Data Space [RFC9197] [RFC9326] ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MNA-PS-OP2 |R|R| PS-NAL2 | Block-Number |R|IOAM-Opt-Type| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ IOAM Option-Type and Data Space [RFC9197] [RFC9326] ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Optional Payload + Padding ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: Example of Multiple IOAM and IOAM-DEX Option-Types as Post-Stack MNA In this example, the PSMH carries the post-stack network action MNA- PS-OP1 with length PS-NAL1 and the post-stack network action MNA-PS- OP2 with length PS-NAL2, both for different Option-Types. 4.3. Procedure for IOAM and IOAM-DEX as Post-Stack MNA Gandhi, et al. Expires 27 February 2027 [Page 10] Internet-Draft IOAM Using MPLS Network Actions August 2026 4.3.1. Ingress-to-Egress Scope IOAM and IOAM-DEX as Post-Stack MNA The network actions with I2E scope carry IOAM Option-Types that require processing on the encapsulating and egress nodes only. The IOAM Option-Type carried can be the IOAM E2E Option-Type (value 3) defined in [RFC9197] or the IOAM-DEX Option-Type (value 4) defined in [RFC9326]. The network actions with I2E scope MUST NOT carry any IOAM Option-Type that requires IOAM processing on the intermediate nodes, as it will not be processed by them when the IHS scope is set to "I2E, value 0x0". The IOAM and IOAM-DEX network action procedure with I2E scope is summarized as follows: * The encapsulating node inserts a NAS with the IHS scope set to "I2E, value 0x0", as well as one or more network actions for IOAM and IOAM-DEX in the MPLS packet. * The encapsulating node MUST ensure that the packet with all NASs and PSMHs added does not exceed the path MTU, as specified in Section 8 of [RFC9994] and [I-D.ietf-mpls-mna-ps-hdr]. * The egress node processes the IOAM-Data-Fields using the procedures defined in [RFC9197] and [RFC9326]. An example of IOAM processing is to export the IOAM-Data-Fields for streaming telemetry. * The egress node MUST remove the NAS and the associated PSMH including network actions for IOAM and IOAM-DEX and IOAM-Data- Fields from the received packet. The decapsulated packet is forwarded downstream similar to the regular data packets or terminated locally. 4.3.2. Hop-by-Hop Scope IOAM and IOAM-DEX as Post-Stack MNA The network actions with HbH scope carry IOAM Option-Types that require processing at the intermediate and/or encapsulating and egress nodes. The IOAM Option-Type carried can be Pre-allocated Trace (value 0), POT (value 2), or E2E (value 3) defined in [RFC9197], or the IOAM-DEX Option-Type (value 4) defined in [RFC9326]. Note that the network actions defined in this document do not support the IOAM Incremental Trace Option-Type (value 1), which requires HbH processing. Gandhi, et al. Expires 27 February 2027 [Page 11] Internet-Draft IOAM Using MPLS Network Actions August 2026 The IOAM and IOAM-DEX network action procedure with HbH scope is summarized as follows: * The encapsulating node inserts a NAS with the IHS scope set to "HbH, value 0x1", as well as one or more network actions for IOAM and IOAM-DEX in the MPLS packet. * The intermediate node that is enabled for the IOAM function processes the IOAM-Data-Fields as defined in [RFC9197] and [RFC9326] when the node recognizes the HbH scope in the NAS. * The intermediate node forwards the data packet downstream. * The processing on the egress node is the same as in the I2E case. Both HbH and I2E scope network actions for IOAM and IOAM-DEX MAY be carried in the Post-Stack MNA in an MPLS packet. In this case, the PSMH carrying HbH-scoped network actions MUST be added after the BoS and before the PSMH carrying I2E-scoped network actions. This minimizes the Readable Label Depth (RLD) [I-D.ietf-mpls-mna-ps-hdr] required on intermediate nodes for processing IOAM and IOAM-DEX. 5. Realization of IOAM-DEX as In-Stack MNA The procedure defined adopts the IOAM-DEX Option-Type format defined in [RFC9326] using MNA In-Stack Data (ISD) [RFC9994] to support direct export in MPLS networks. 5.1. NAS for IOAM-DEX as In-Stack MNA To transport direct export of the operational state and telemetry information, the IOAM-DEX-MNA-ISD Binary Large Object (blob) is placed in a NAS according to the procedure defined in [RFC9994]. An example NAS with Format B LSE and Format D LSE to carry IOAM-DEX-MNA- ISD is shown in Figure 4. 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 Label (value 4) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Opcode = TBA2| 13-bit Data (Format B) |P|IHS|S| NASL |U| NAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~1| IOAM-DEX-MNA-ISD per Figure 5 (Format D) |S| ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: Example of NAS with Format B LSE and Format D LSE to Carry IOAM-DEX as In-Stack MNA Gandhi, et al. Expires 27 February 2027 [Page 12] Internet-Draft IOAM Using MPLS Network Actions August 2026 Here, the fields in a NAS are defined as follows: * The MNA Label (value 4) is defined in [RFC9994]. * S (1-bit): The BoS [RFC3032]. * P (1-bit): The P bit is set as specified in [I-D.ietf-mpls-mna-ps-hdr]. * The U bit and NAL field are set as specified in [RFC9994]. * NASL (4-bit): The number of LSEs that compose the IOAM-DEX-MNA-ISD blob. * Opcode (7-bit): Set to network action opcode TBA2 for IOAM-DEX in ISD. The opcode TBA2 can be carried in Format B or Format C LSE [RFC9994]. * Data: MUST be set to 0 in both cases, 13-bit data in Format B LSE and 20-bit data in Format C LSE [RFC9994]. * IOAM-DEX-MNA-ISD: IOAM-DEX in MNA ISD encoding in Format D LSE [RFC9994]. By setting the IHS field [RFC9994], the IOAM-DEX-MNA-ISD can be configured to operate in HbH, I2E, or Select scopes [RFC9789] to collect the operational state and telemetry information. The following processing rules apply to the network action opcode TBA2. * An MPLS packet MUST NOT carry multiple network action opcode TBA2 in the same NAS. Otherwise, the packet is treated as malformed and MUST be dropped. * An MPLS packet MAY carry network action opcode TBA2 in more than one NAS for different processing scopes. * An MPLS packet MUST NOT carry network action opcode TBA2 in a PSMH. Otherwise, the packet is treated as malformed and MUST be dropped. The following processing rules apply when carrying both the network action opcode TBA1 for the IOAM-DEX Option-Type in a PSMH and the network action opcode TBA2 in a NAS in an MPLS packet: Gandhi, et al. Expires 27 February 2027 [Page 13] Internet-Draft IOAM Using MPLS Network Actions August 2026 * The network action opcode TBA2 in a NAS and the network action opcode TBA1 for the IOAM-DEX Option-Type in the associated PSMH MUST NOT be carried, due to their same IHS scope, in an MPLS packet; otherwise, the packet MUST be treated as malformed and MUST be dropped. * The network action opcode TBA1 for IOAM-DEX Option-Type in a PSMH and network action opcode TBA2 in a NAS MAY be carried for different IHS scopes in an MPLS packet. * Each network action for the IOAM-DEX Option-Type operates independently: opcode TBA2 triggers direct export at nodes processing the In-Stack MNA, while opcode TBA1 with IOAM Option- Type triggers direct export at nodes processing the Post-Stack MNA. 5.2. IOAM-DEX Option-Type Encoding as MNA ISD The IOAM-DEX-MNA-ISD blob in a NAS uses the Format D LSE Section 4.4 of [RFC9994], that maps to the IOAM-DEX Option-Type format [RFC9326]. In addition to the requirement to preserve the S bit, the most significant bit in Format D LSE is always set to 1, avoiding a possible mix-up of the LSE with one of the Base Special Purpose Labels [RFC9994]. The format of the IOAM-DEX-MNA-ISD blob in a NAS is shown in Figure 5. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| Namespace-ID | Reserved |S| Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| IOAM-Trace-Type-MNA |S|O|R| Ext-Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| Flow ID MNA (Optional) |S| Flow ID MNA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| Sequence Number MNA (Optional) |S| Seq Num MNA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5: IOAM-DEX Option-Type Format for MNA ISD Here, the fields are defined as follows: * Namespace-ID (16-bit): Identifier of the IOAM Namespace, as defined in Section 3.2 of [RFC9326]. * Reserved (6-bit): The Reserved field MUST be set to 0 on transmit and ignored on receipt. Gandhi, et al. Expires 27 February 2027 [Page 14] Internet-Draft IOAM Using MPLS Network Actions August 2026 * Flags (8-bit): The Flags field comprises eight one-bit subfields. The subfields in the Flags field are allocated by IANA in the IOAM DEX Flags registry, as defined in Section 4.2 of [RFC9326]. * IOAM-Trace-Type-MNA (22-bit): The IOAM-Trace-Type-MNA corresponds to the IOAM-Trace-Type field defined in Section 3.2 of [RFC9326]. - The interpretation of bit positions, from bit 0 through bit 21, is as specified in [RFC9197]. - Note that bits as specified in [RFC9197] are right-shifted one bit, so for example, bit 0 in [RFC9197] (leftmost bit for hop_Lim and node_id in short format) is mapped to bit 1 (second leftmost bit) in the MNA encoding. - The registry that contains the assigned code points is found in IANA's IOAM Trace-Type registry [IANA-IOAM-Trace-Type]. * O (1-bit): This is a one-bit flag identical to the interpretation of bit 22 of the IOAM-Trace-Type field as defined in Section 3.2 of [RFC9326], marked as "variable-length Opaque State Snapshot" per [RFC9197]; assigned code points are found in IANA's IOAM Trace-Type registry [IANA-IOAM-Trace-Type]. * R (1-bit): This is a one-bit flag identical to the interpretation of bit 23 of the IOAM-Trace-Type field as defined in Section 3.2 of [RFC9326], marked as "reserved" per [RFC9197]; assigned code points are found in IANA's IOAM Trace-Type registry [IANA-IOAM-Trace-Type]. - Similarly to [RFC9326], the R bit is reserved to allow for future extensions of the IOAM-Trace-Type-MNA bit field, i.e., it indicates the presence of the extended IOAM-Trace-Type-MNA field in the next LSE in Format D. The format of the extended IOAM-Trace-Type-MNA field in the next LSE in Format D is outside the scope of this document. * The concatenation of the 22-bit IOAM-Trace-Type-MNA field with O and R flags, explained above, is identical to the 24-bit IOAM- Trace-Type field in Section 3.2 of [RFC9326], and in the interpretation of those bits as defined in [RFC9197] and assigned code points found in IANA's IOAM Trace-Type registry [IANA-IOAM-Trace-Type]. * Ext-Flags (6-bit): The Ext-Flags field comprises six one-bit subfields. The allocation of the subfields in this field is according to the Extension-Flags field defined in Section 4.3 of [RFC9326]. Gandhi, et al. Expires 27 February 2027 [Page 15] Internet-Draft IOAM Using MPLS Network Actions August 2026 - Four flags have been assigned by IANA: two as defined in Section 4.3 of [RFC9326] indicating the presence of the optional Flow ID and Sequence Number fields, and two as defined in Section 4.1 of [RFC9630] indicating the presence of the optional Multicast Branch ID field. - Section 5.2.1 describes the detailed format of the Ext-Flags field. * In the IOAM-DEX Option-Type defined in [RFC9326], the IOAM-Trace- Type and Reserved fields together form the second 32-bit word, aligning the optional fields to 4-octet boundaries. - In the case of the IOAM-DEX in MNA, for optional fields such as Flow ID MNA and Sequence Number MNA, such alignment is achieved without adding a Reserved field for padding. * Flow ID MNA: An optional 4-octet field containing a 30-bit Flow ID (after removing leading 1 and S bits). - The semantics of the Flow ID MNA field are the same as those of the Flow ID field defined in Section 3.2 of [RFC9326], with the following two differences. 1. The Flow ID MNA field carries a 30-bit value, compared to the 32-bit Flow ID field in [RFC9326]; therefore, the Flow ID space differs accordingly, and the 30-bit value will wrap around faster than the 32-bit value. 2. The most significant bit MUST be set to 1. Bit 23 MUST be set according to the definition of the S bit in [RFC3032]. * Sequence Number MNA: An optional 4-octet field containing a 30-bit sequence number (after removing leading 1 and S bits). - The semantics of the Sequence Number MNA field are the same as those of the Sequence Number field defined in Section 3.2 of [RFC9326], with the following two differences. 1. The Sequence Number MNA field carries a 30-bit value, compared to the 32-bit Sequence Number field in [RFC9326]; therefore, the sequence number space differs accordingly, and the 30-bit value will wrap around faster than the 32-bit value. 2. The most significant bit MUST be set to 1. Bit 23 MUST be set according to the definition of the S bit in [RFC3032]. Gandhi, et al. Expires 27 February 2027 [Page 16] Internet-Draft IOAM Using MPLS Network Actions August 2026 - In MPLS networks, when it is known that the label stack information is used for load-balancing flows, the 19-bit-long part of the Sequence Number MNA, starting from the bit 1 position of the LSE, MUST remain immutable for a particular packet flow identified by the value of the Flow ID MNA field. - In MPLS networks, when it is known that other load-balancing techniques are used, all bits of the Sequence Number MNA field can be varied. Mechanisms to learn about the load-balancing techniques used by the nodes in MPLS networks are outside the scope of this document. 5.2.1. Ext-Flags Definition The length of the Ext-Flags field in the IOAM-DEX Option-Type in MNA is shorter by two one-bit fields compared to the length of the Extension-Flags field defined in Section 3.2 of [RFC9326]. In the 6-bit Ext-Flags field of the IOAM-DEX-MNA-ISD header, four flags have been mapped to those IANA assigned flags in the IOAM-DEX Option-Type, and two flags (corresponding to unassigned bits in the [RFC9326] Extension-Flags field) remain unassigned. 0 1 2 3 4 5 +-+-+-+-+-+-+ |F|Q|N|I|A|A| +-+-+-+-+-+-+ Figure 6: Ext-Flags Field Format Here, the Ext-Flags field is defined as follows: * F (1-bit): One-bit flag. When the F flag is set to 1, it indicates the presence of the Flow ID field in the IOAM-DEX-MNA- ISD header. * Q (1-bit): One-bit flag. When the Q flag is set to 1, it indicates the presence of the Sequence Number field in the IOAM- DEX-MNA-ISD header. The designation as Q flag is used to avoid confusion with the existing S bit for Bottom-of-Stack (BoS) in the MPLS header. This flag corresponds to the Sequence Number flag (labeled "S" in [RFC9630]) in the IOAM DEX Extension-Flags registry. * N (1-bit): One-bit flag. When the N flag is set to 1, it indicates the presence of the Multicast Branching Node ID in the Multicast Branch ID field, as defined in Section 4.1 of [RFC9630]. Gandhi, et al. Expires 27 February 2027 [Page 17] Internet-Draft IOAM Using MPLS Network Actions August 2026 * I (1-bit): One-bit flag. When the I flag is set to 1, it indicates the presence of the Multicast Branching Interface Index in the Multicast Branch ID field, as defined in Section 4.1 of [RFC9630]. The N and I flags MUST be both set or both cleared; otherwise the header is considered malformed and the packet MUST be dropped. * A (1-bit): Unassigned one-bit flags. They MUST be set to zero on transmission and MUST be ignored upon receipt. 6. Considerations for IOAM and IOAM-DEX in MPLS Networks 6.1. Node Capability The following behaviors for node capability apply: * An MNA-capable egress node that supports the network action for IOAM and IOAM-DEX may not support the specific IOAM Option-Type or IOAM-Data-Fields carried in the packet. In that case, the egress node MUST handle the network action according to the U bit as defined in [RFC9994] and updated in [I-D.ietf-mpls-mna-ps-hdr]. * The MNA-capable intermediate node that does not support the network action for IOAM and IOAM-DEX, or the IOAM Option-Type or IOAM-Data-Fields carried in the packet, MUST handle the network action according to the U bit as defined in [RFC9994] and updated in [I-D.ietf-mpls-mna-ps-hdr]. * The intermediate node that does not support the MNA skips processing the IOAM and IOAM-DEX functions. The encapsulating node needs to know if the intermediate and egress nodes can support the IOAM and IOAM-DEX network actions. Information about the IOAM and IOAM-DEX capabilities of the nodes may be configured, collected through management protocols, or distributed by control protocols (such as advertising by routing protocols). The encapsulating node learns about the IOAM and IOAM-DEX capabilities of nodes using mechanisms that are out of scope for this document. The encapsulating node needs to know about the path maximum transmission unit (MTU) for the nodes on the path [RFC3032]. Information about the path MTU of the nodes may be configured, collected through management protocols, or distributed by control protocols (such as MTU signaling for Label Distribution Protocol [RFC3988] and Path MTU Discovery for IPv6 [RFC8201]). The mechanisms to learn about the path MTU of nodes in the path are out of scope for this document. Gandhi, et al. Expires 27 February 2027 [Page 18] Internet-Draft IOAM Using MPLS Network Actions August 2026 The encapsulating node needs to know about the RLD of the nodes in the path as described in Section 2.3.1 of [RFC9789] and updated in [I-D.ietf-mpls-mna-ps-hdr], so that IOAM and IOAM-DEX Option-Types can be read by nodes in the path. Information about the RLD of the nodes may be configured, collected through management protocols, or distributed by control protocols (such as advertising by routing protocols). The mechanisms to learn about the RLD of nodes in the path are out of scope for this document. 6.2. Readable Label Depth The encapsulating node needs to ensure that the IOAM Option-Types and their IOAM-Data-Fields and IOAM-DEX data in a NAS and the associated PSMH are added within the RLD [I-D.ietf-mpls-mna-ps-hdr] of the downstream MNA-capable nodes so that they can process the IOAM-Data- Fields and IOAM-DEX data. 6.3. Nested MPLS Encapsulation The following processing rules apply to nested MPLS encapsulation when adding a new MPLS encapsulation: * When a packet is received with a network action opcode TBA2 for IOAM-DEX in ISD or opcode TBA1 for IOAM and IOAM-DEX in PSD, and the nested MPLS encapsulating node needs to add the network action opcode TBA2 for a different scope for IOAM-DEX in ISD, the node MUST add a new NAS with network action opcode TBA2 as part of the new MPLS encapsulation. * When a packet is received with a network action opcode TBA2 for IOAM-DEX in ISD or opcode TBA1 for IOAM and IOAM-DEX in PSD, the nested MPLS encapsulating node MUST NOT add the network action opcode TBA2 for the same scope for IOAM-DEX in ISD as part of the new MPLS encapsulation. * When a packet is received with an MPLS header, the nested MPLS encapsulating node MUST NOT add the new network action opcode TBA1 for IOAM and IOAM-DEX in PSD as part of the new MPLS encapsulation. This is because inserting a PSMH in an MPLS- encapsulated packet received from the network is not supported by [I-D.ietf-mpls-mna-ps-hdr]. 7. Operational Considerations Operational considerations discussed in [RFC9994] and [I-D.ietf-mpls-mna-ps-hdr] apply to this document. Gandhi, et al. Expires 27 February 2027 [Page 19] Internet-Draft IOAM Using MPLS Network Actions August 2026 Management considerations discussed in [RFC9789], management and deployment considerations discussed in [RFC9197], and performance considerations discussed in Section 5 of [RFC9326] are also applicable here. Further operational considerations include policies controlling the processing of the collected operational state and telemetry information, and their transport in MPLS networks. Additional considerations are described in Section 6 for deploying IOAM and IOAM-DEX in MPLS networks. An implementation MAY collect the following counters: * Packets received with IOAM network actions * Packets received with IOAM-DEX in ISD network actions * Packets dropped with IOAM network actions due to an unknown IOAM function * Packets dropped with IOAM-DEX in ISD network actions due to an unknown IOAM-DEX function * Packets dropped with IOAM network actions due to a malformed network action * Packets dropped with IOAM-DEX in ISD network actions due to a malformed network action Nodes MAY generate rate-limited notifications or alarms for significant operational events, such as sustained high rates of IOAM- related packet drops to alert operators to potential issues. Comprehensive logging of IOAM and IOAM-DEX network action processing details can aid in network diagnostics and post-mortem analysis. 8. Security Considerations The security considerations discussed in [RFC9197], [RFC9326], and [RFC9378] for IOAM and IOAM-DEX apply to this document. The security considerations discussed in [RFC9341] for alternate marking and [RFC9630] for IOAM deployment apply to this document. The security considerations discussed in [RFC9789], [RFC9994], and [I-D.ietf-mpls-mna-ps-hdr] for MNA apply to this document. Gandhi, et al. Expires 27 February 2027 [Page 20] Internet-Draft IOAM Using MPLS Network Actions August 2026 The usage of network actions defined in this document for IOAM and IOAM-DEX is intended for deployment in a single network administrative domain. As such, it assumes that the operator enabling the IOAM and IOAM-DEX operations has previously verified the integrity of the path that packets take. However, operators need to properly secure the IOAM and IOAM-DEX in the domain to avoid malicious configuration and use, which could include injecting malicious IOAM and IOAM-DEX packets into the domain. 9. IANA Considerations 9.1. Network Action Opcodes IANA is requested to assign code points from its Network Action Opcodes registry (created in [RFC9994] and updated in [I-D.ietf-mpls-mna-ps-hdr]) as specified in Table 2. +========+=================+======================+===========+ | Opcode | Description | In-Stack Only, Post- | Reference | | | | Stack Only, In-Stack | | | | | and Post-Stack | | +========+=================+======================+===========+ | TBA1 | Network Action | Post-Stack Only | This | | | for IOAM and | | document | | | IOAM-DEX in PSD | | | +--------+-----------------+----------------------+-----------+ | TBA2 | Network Action | In-Stack Only | This | | | for IOAM-DEX in | | document | | | ISD | | | +--------+-----------------+----------------------+-----------+ Table 2: Network Action Opcodes 10. References 10.1. Normative References [I-D.ietf-mpls-mna-ps-hdr] Rajamanickam, J., Gandhi, R., Zigler, R., Dong, J., and J. Bhattacharya, "MPLS Network Action (MNA) Post-Stack Header Specification", Work in Progress, Internet-Draft, draft- ietf-mpls-mna-ps-hdr-19, 6 August 2026, . Gandhi, et al. Expires 27 February 2027 [Page 21] Internet-Draft IOAM Using MPLS Network Actions August 2026 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC9197] Brockners, F., Ed., Bhandari, S., Ed., and T. Mizrahi, Ed., "Data Fields for In Situ Operations, Administration, and Maintenance (IOAM)", RFC 9197, DOI 10.17487/RFC9197, May 2022, . [RFC9326] Song, H., Gafni, B., Brockners, F., Bhandari, S., and T. Mizrahi, "In Situ Operations, Administration, and Maintenance (IOAM) Direct Exporting", RFC 9326, DOI 10.17487/RFC9326, November 2022, . [RFC9341] Fioccola, G., Ed., Cociglio, M., Mirsky, G., Mizrahi, T., and T. Zhou, "Alternate-Marking Method", RFC 9341, DOI 10.17487/RFC9341, December 2022, . [RFC9630] Song, H., McBride, M., Mirsky, G., Mishra, G., Asaeda, H., and T. Zhou, "Multicast On-Path Telemetry Using In Situ Operations, Administration, and Maintenance (IOAM)", RFC 9630, DOI 10.17487/RFC9630, August 2024, . [RFC9789] Andersson, L., Bryant, S., Bocci, M., and T. Li, "MPLS Network Actions (MNAs) Framework", RFC 9789, DOI 10.17487/RFC9789, July 2025, . [RFC9994] Rajamanickam, J., Ed., Gandhi, R., Ed., Zigler, R., Song, H., and K. Kompella, "MPLS Network Action (MNA) Sub-Stack Specification Including In-Stack Network Actions and Data", RFC 9994, DOI 10.17487/RFC9994, June 2026, . 10.2. Informative References Gandhi, et al. Expires 27 February 2027 [Page 22] Internet-Draft IOAM Using MPLS Network Actions August 2026 [I-D.gandhi-ippm-stamp-mpls-hdr] Gandhi, R., Zhou, T., Li, Z., Ihle, F., and B. Wen, "Simple Two-Way Active Measurement Protocol (STAMP) Extensions for Reflecting STAMP Packet MPLS Network Action Headers", Work in Progress, Internet-Draft, draft-gandhi- ippm-stamp-mpls-hdr-08, 23 July 2026, . [I-D.ietf-ippm-on-path-active-measurements] Fioccola, G., Zhu, K., Zhou, T., Zhu, Y., and X. Min, "On- Path Telemetry for Active Performance Measurements", Work in Progress, Internet-Draft, draft-ietf-ippm-on-path- active-measurements-02, 26 February 2026, . [IANA-IOAM-Trace-Type] IANA, "IOAM Trace-Type", . [RFC3988] Black, B. and K. Kompella, "Maximum Transmission Unit Signalling Extensions for the Label Distribution Protocol", RFC 3988, DOI 10.17487/RFC3988, February 2005, . [RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field", RFC 5462, DOI 10.17487/RFC5462, February 2009, . [RFC6291] Andersson, L., van Helvoort, H., Bonica, R., Romascanu, D., and S. Mansfield, "Guidelines for the Use of the "OAM" Acronym in the IETF", BCP 161, RFC 6291, DOI 10.17487/RFC6291, June 2011, . [RFC8201] McCann, J., Deering, S., Mogul, J., and R. Hinden, Ed., "Path MTU Discovery for IP version 6", STD 87, RFC 8201, DOI 10.17487/RFC8201, July 2017, . [RFC9378] Brockners, F., Ed., Bhandari, S., Ed., Bernier, D., and T. Mizrahi, Ed., "In Situ Operations, Administration, and Maintenance (IOAM) Deployment", RFC 9378, DOI 10.17487/RFC9378, April 2023, . Gandhi, et al. Expires 27 February 2027 [Page 23] Internet-Draft IOAM Using MPLS Network Actions August 2026 [RFC9613] Bocci, M., Ed., Bryant, S., and J. Drake, "Requirements for Solutions that Support MPLS Network Actions (MNAs)", RFC 9613, DOI 10.17487/RFC9613, August 2024, . [RFC9790] Kompella, K., Bryant, S., Bocci, M., Mirsky, G., Ed., Andersson, L., and J. Dong, "IANA Registry and Processing Recommendations for the First Nibble Following a Label Stack", RFC 9790, DOI 10.17487/RFC9790, July 2025, . [RFC9791] Saad, T., Makhijani, K., Song, H., and G. Mirsky, "Use Cases for MPLS Network Action Indicators and Ancillary Data", RFC 9791, DOI 10.17487/RFC9791, July 2025, . Appendix A: In-Stack and Post-Stack Network Action Processing Order Example As described in Section 5.5 of [RFC9994], the network actions in a NAS are processed in order starting from the top of the label stack. The PSMH Start Offset Network Action opcode TBA3 defined in [I-D.ietf-mpls-mna-ps-hdr] can be added to interleave Post-Stack Network Actions with In-Stack Network Actions to define processing order. The following example shows how to process the Post-Stack Network Action before some of the In-Stack Network Actions in a NAS. Gandhi, et al. Expires 27 February 2027 [Page 24] Internet-Draft IOAM Using MPLS Network Actions August 2026 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 Label (value 4) | TC |0| TTL | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Opcode=L | Ancillary Data |1|IHS|0| NASL=3|U|NAL=0| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ N | Opcode=1 | Flag-Based NAIs |0| NAIs |U|NAL=0| A +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ S | Opcode=TBA3 | 0 |0| 0 |U|NAL=0| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Opcode=M | Ancillary Data |1| AD |U|NAL=0| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-- | PFN |Reserve| PSMH-Len | Type = MNA Post-Stack Header | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ P |Opcode = TBA1|R|R| PS-NAL | Block-Number |R|IOAM-Opt-Type| S +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ M ~ IOAM Option-Type and Data Space [RFC9197] [RFC9326] ~ H ~ Beginning from Namespace-ID ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-- ~ Optional Payload + Padding ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-- Figure 7: Example of In-Stack and Post-Stack Network Action Processing Order In this example, shown in Figure 7, the network actions in the NAS are processed in the following order: * Opcode L (allocated outside of this document) is processed first. * Opcode 1 (for Flag-Based NAIs defined in [RFC9994]) is processed next. * Opcode TBA3 (Network Action for PSMH Start Offset opcode defined in [I-D.ietf-mpls-mna-ps-hdr]) is processed next. * Opcode TBA1 (Network Action for IOAM and IOAM-DEX in PSD opcode) in the associated PSMH is processed next. The Data value set to 0 indicates that the PSMH starts immediately after the BoS. * Opcode M (allocated outside of this document) is processed finally. Gandhi, et al. Expires 27 February 2027 [Page 25] Internet-Draft IOAM Using MPLS Network Actions August 2026 Note: Opcode TBA3 will be assigned by IANA as part of [I-D.ietf-mpls-mna-ps-hdr]. This example will be updated by the RFC editor with the IANA assigned value for TBA3 at the time of publication. This note is to be removed once TBA3 value is updated in this example. Acknowledgments The authors would like to thank Adrian Farrel and Xueyan Song for reviewing this document and providing review comments. The authors would also like to thank Patrick Khordoc, Sagar Soni, Shwetha Bhandari, Vengada Prasad Govindan, Tarek Saad, Stewart Bryant, Xiao Min, Jaganbabu Rajamanickam, Jie Dong, and Cheng Li for reviewing the early version of this document. The authors would also like to thank Mach Chen, Andrew Malis, Matthew Bocci, and Nick Delregno for the MPLS-RT expert review of the early version of this document. The authors also thank Matthew Bocci for the early Rtgdir review, Sheng Jiang for early Opsdir review, and Giuseppe Fioccola for the PerfMetrDir review, which helped improve this document. Contributors The following people have substantially contributed to this document: Zafar Ali Cisco Systems, Inc. Email: zali@cisco.com Frank Brockners Cisco Systems, Inc. Germany Email: fbrockne@cisco.com Loa Andersson Huawei Technologies Email: loa@pi.nu Authors' Addresses Rakesh Gandhi (editor) Cisco Systems, Inc. Canada Email: rgandhi@cisco.com Greg Mirsky (editor) Ciena Corporation Gandhi, et al. Expires 27 February 2027 [Page 26] Internet-Draft IOAM Using MPLS Network Actions August 2026 Email: gregimirsky@gmail.com Haoyu Song Futurewei Technologies United States of America Email: haoyu.song@futurewei.com Bin Wen Comcast United States of America Email: Bin_Wen@cable.comcast.com Voitek Kozak Comcast United States of America Email: Voitek_Kozak@comcast.com Gandhi, et al. Expires 27 February 2027 [Page 27]