Supporting In Situ Operations, Administration, and Maintenance Using MPLS Network Actions
draft-ietf-mpls-mna-ioam-07
| Document | Type | Active Internet-Draft (mpls WG) | |
|---|---|---|---|
| Authors | Rakesh Gandhi , Greg Mirsky , Haoyu Song , Bin Wen , Voitek Kozak | ||
| Last updated | 2026-07-18 | ||
| Replaces | draft-gandhi-mpls-mna-ioam-dex, draft-mb-mpls-ioam-dex | ||
| RFC stream | Internet Engineering Task Force (IETF) | ||
| Intended RFC status | (None) | ||
| Formats | |||
| Reviews |
OPSDIR Early Review due 2026-07-29
Incomplete
RTGDIR Early Review due 2026-07-29
Incomplete
PERFMETRDIR Early Review due 2026-07-29
Incomplete
|
||
| Additional resources | Mailing list discussion | ||
| Stream | WG state | WG Document | |
| Associated WG milestone |
|
||
| Document shepherd | Adrian Farrel | ||
| IESG | IESG state | I-D Exists | |
| Consensus boilerplate | Unknown | ||
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | adrian@olddog.co.uk |
draft-ietf-mpls-mna-ioam-07
MPLS Working Group R. Gandhi, Ed.
Internet-Draft Cisco Systems, Inc.
Intended status: Standards Track G. Mirsky, Ed.
Expires: 19 January 2027 Individual
H. Song
Futurewei Technologies
B. Wen
V. Kozak
Comcast
18 July 2026
Supporting In Situ Operations, Administration, and Maintenance Using
MPLS Network Actions
draft-ietf-mpls-mna-ioam-07
Abstract
In situ Operations, Administration, and Maintenance (IOAM), defined
in RFC 9197, is an on-path telemetry method to collect and record the
operational state and telemetry information using, for example, Pre-
allocated Trace, Proof-of-Transit, Edge-to-Edge, or Incremental Trace
Option-Types that can be used to calculate various performance
metrics. RFC 9326 defines the IOAM Direct Export (IOAM-DEX) Option-
Type in which the operational state and telemetry information are
collected according to the specified profile and exported in a manner
and format defined by a local policy on each node along the path.
MPLS Network Actions (MNA) techniques are meant to 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 on-path operational state, and telemetry information
using IOAM data fields as well as using direct export.
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 19 January 2027 [Page 1]
Internet-Draft IOAM Using MPLS Network Actions July 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 19 January 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. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. Requirements Language . . . . . . . . . . . . . . . . . . 4
3. Applicability of IOAM and IOAM-DEX in an MPLS Network . . . . 5
4. Realization of IOAM and IOAM-DEX as MPLS Network Actions . . 5
4.1. Realization of IOAM and IOAM-DEX as Post-Stack MNA . . . 5
4.1.1. MPLS Network Action Post-Stack MPLS Header for IOAM and
IOAM-DEX . . . . . . . . . . . . . . . . . . . . . . 7
4.2. Realization of IOAM-DEX as In-Stack MNA . . . . . . . . . 9
4.2.1. IOAM-DEX Option-Type Encoding as MNA ISD . . . . . . 10
5. Considerations for IOAM and IOAM-DEX in MPLS Networks . . . . 13
5.1. Ingress-to-Egress Scope IOAM and IOAM-DEX Network
Actions . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2. Hop-by-Hop Scope IOAM and IOAM-DEX Network Actions . . . 14
5.3. Node Capability . . . . . . . . . . . . . . . . . . . . . 15
5.4. Nested MPLS Encapsulation . . . . . . . . . . . . . . . . 15
5.5. Readable Label Depth Consideration . . . . . . . . . . . 15
6. Operational Considerations . . . . . . . . . . . . . . . . . 15
7. Security Considerations . . . . . . . . . . . . . . . . . . . 15
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
8.1. MPLS Network Action Opcodes . . . . . . . . . . . . . . . 16
9. Appendix A: Examples . . . . . . . . . . . . . . . . . . . . 16
9.1. In-Stack and Post-Stack Network Action Processing
Order . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Gandhi, et al. Expires 19 January 2027 [Page 2]
Internet-Draft IOAM Using MPLS Network Actions July 2026
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.1. Normative References . . . . . . . . . . . . . . . . . . 17
10.2. Informational References . . . . . . . . . . . . . . . . 18
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 19
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction
In situ OAM (IOAM) [RFC9197] is an on-path telemetry method used to
collect and record the operational state and telemetry information
that can be used to calculate various performance metrics. Several
IOAM Option-Types (e.g., Pre-allocated Trace, Proof-of-Transit (POT),
Edge-to-Edge (E2E), and Incremental Trace) use user packets to
collect the operational state and telemetry information. Such
mechanisms transport the collected information to an IOAM
decapsulating node (typically located at the edge of the IOAM domain
within the data path).
IOAM Direct Export (IOAM-DEX) [RFC9326] is an IOAM Option-Type in
which the operational state and telemetry information are collected
according to the specified profile and exported in a manner and
format defined by a local policy on each node along the path.
MPLS Network Actions (MNA) techniques [RFC9789] indicate actions to
be performed on any combination of Label Switched Paths, MPLS
packets, and the node itself, and also allow for the transport of
data needed for these actions. [RFC9994] defines mechanisms for
carrying the 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
on-path operational state and telemetry information using IOAM data
fields for IOAM Option-Types, IOAM Pre-allocated Trace, POT, E2E, and
IOAM-DEX. The mechanism for exporting the collected information for
the IOAM-DEX Option-Type is outside the scope of this document.
Also, support for Incremental Trace IOAM Option-Type is outside the
scope of this document.
Gandhi, et al. Expires 19 January 2027 [Page 3]
Internet-Draft IOAM Using MPLS Network Actions July 2026
2. Conventions Used in This Document
2.1. Acronyms
OAM: Operations, Administration, and Maintenance
HBH: Hop-by-Hop
I2E: Ingress-to-Egress
IHS: Ingress-to-Egress (I2E), Hop-by-Hop (HBH) or Select Scope
IOAM: In situ OAM
IOAM-DEX: IOAM Direct Export
IOAM-DEX-ISD-MNA: IOAM Direct Export as MPLS Network Action ISD
ISD: In-Stack Data
PFN: Post-Stack First Nibble
PSD: Post-Stack Data
PSMH: Post-Stack MPLS Header
LSE: Label Stack Entry
MPLS: Multiprotocol Label Switching
MNA: MPLS Network Action
NAI: Network Action Indicator
NAS: Network Action Sub-Stack
NASL: Network Action Sub-Stack Length
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.
Gandhi, et al. Expires 19 January 2027 [Page 4]
Internet-Draft IOAM Using MPLS Network Actions July 2026
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 supporting Pre-allocated Trace,
POT, and E2E IOAM Option-Types (Section 4.1).
However, for some use cases, e.g., mobile backhaul, in which network
resources are closely controlled, collecting and transporting the
telemetry information within a user packet may noticeably decrease
the cost-efficiency of network operations. As such, collecting and
transporting the operational state and telemetry information using
the management plane is a viable option for some environments. IOAM-
DEX [RFC9326] is capable of collecting the IOAM data fields defined
in [RFC9197]. In this document, the In-Stack and Post-Stack
realizations of IOAM-DEX are defined in Section 4.2 and Section 4.1,
respectively.
The procedure defined in this document to carry 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 to transport IOAM Option-Types using the MNA
solution defined in this document, with Simple Two-Way Active
Measurement Protocol (STAMP) test packets for Hop-by-Hop (HBH) and
E2E measurements.
4. Realization of IOAM and IOAM-DEX as MPLS Network Actions
4.1. Realization of IOAM and IOAM-DEX as Post-Stack MNA
The presence of a corresponding Post-Stack MPLS Header (PSMH) is
indicated in the NAS as defined in [I-D.ietf-mpls-mna-ps-hdr] and is
shown in Figure 1.
Gandhi, et al. Expires 19 January 2027 [Page 5]
Internet-Draft IOAM Using MPLS Network Actions July 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 |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opcode | 13-bit Data (Format B) |P|IHS|S| NASL |U| NAL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opcode | 16-bit Data (Format C) |S|4b Data|U| NAL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label | TC |1| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Post-Stack MPLS Header for IOAM and IOAM-DEX as per Figure 2 ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Optional Payload + Padding ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: An Example of In-Stack Network Action Sub-Stack for
Post-Stack MPLS Header Carrying IOAM and IOAM-DEX
The MNA Label (value 4) is defined in [RFC9994].
The IHS scope field defined in [RFC9994] is used to indicate that
I2E, HBH, or Select processing is required for the Network Action and
Ancillary Data.
If both edge and intermediate nodes need to process the IOAM data
fields, then the IHS scope MUST be set to "HBH, value 0x1". If only
edge nodes need to process the IOAM data fields, then the IHS scope
MUST be set to "I2E, value 0x0". The I2E scope allows skipping the
IOAM data processing on the intermediate nodes, i.e., it avoids the
need to parse all IOAM data fields to detect the HBH Option-Type.
U: The U flag for Unknown Action Handling is specified in [RFC9994].
S: The Bottom of Stack bit [RFC3032].
IHS (2-bit): The IHS field is set as specified in [RFC9994].
P: The P flag is set as specified in [I-D.ietf-mpls-mna-ps-hdr].
NASL (4-bit): The Network Action Sub-Stack Length (NASL) is set as
specified in [RFC9994].
Gandhi, et al. Expires 19 January 2027 [Page 6]
Internet-Draft IOAM Using MPLS Network Actions July 2026
Opcode (7-bit): Opcode TBA1 for Network Action for IOAM and IOAM-DEX
in PSD, for carrying an IOAM Option-Type and the associated data
fields defined in [RFC9197] and the IOAM-DEX Option-Type and the
associated data fields defined in [RFC9326], both in the PSMH. This
network action is optional and can be carried in a Format B or Format
C Label Stack Entry (LSE).
The Data (13-bit, next to the Opcode field) in the LSE contains the
PSMH offset for this In-Stack Network Action in 4-octet units after
the BoS LSE to the start of the corresponding Post-Stack Network
Action Opcode. Due to the Post-Stack MPLS Base Header, the minimum
value for the offset is 1 (i.e., 4 octets).
NAL (3-bit): The Length of Network Action (NAL) [RFC9994] is set to 0
for the In-Stack Network Action for the IOAM and IOAM-DEX Option-Type
in Post-Stack ancillary data.
A packet may carry more than one In-Stack Network Action in an MNA
Sub-Stack for IOAM and IOAM-DEX in the PSMH (for example, for
different IOAM Option-Types as identified in Post-Stack ancillary
data). There may be a different In-Stack Network Action (other than
for the IOAM and IOAM-DEX) in the In-Stack MNA Sub-Stack.
4.1.1. MPLS Network Action Post-Stack MPLS Header for IOAM and IOAM-DEX
An example encoding for IOAM and IOAM-DEX carried in a PSMH 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: An Example of Post-Stack MPLS Header Carrying IOAM and
IOAM-DEX
The Post-Stack MPLS Base Header is added that 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].
Gandhi, et al. Expires 19 January 2027 [Page 7]
Internet-Draft IOAM Using MPLS Network Actions July 2026
PSMH-Len (8-bit): The PSMH total length as defined in
[I-D.ietf-mpls-mna-ps-hdr].
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 number of 4-octet units, and the IOAM Option-Type with IOAM
data fields in the Post-Stack ancillary data as shown in Figure 2.
The IOAM data fields MUST follow the definitions corresponding to
their IOAM Option-Types (e.g., see Section 4.4 of [RFC9197] and the
IOAM-DEX Option-Type in Section 3 of [RFC9326]).
An IOAM Option-Type is added in the PSMH containing the following
fields:
MNA-PS-OP (7-bit): 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].
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): The unsigned integer. Length of the IOAM data
fields in 4-octet units for the MNA-PS-OP. This 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.4 of [RFC9197] and Section 3 of [RFC9326]).
Block-Number (8-bit): The block number for the alternate marking
method can be used to aggregate the IOAM data collected in the data
plane, e.g., to compute measurement metrics for each block of a
data flow. It is also used to correlate the collected IOAM data
from different nodes along the packet path. The block number is
incremented sequentially at every measurement interval provisioned
on the encapsulating node.
4.1.1.1. Multiple IOAM and IOAM-DEX Option-Types in PSMH
An example of multiple Post-Stack network actions with the same scope
carrying different IOAM Option-Types is shown in Figure 3.
Gandhi, et al. Expires 19 January 2027 [Page 8]
Internet-Draft IOAM Using MPLS Network Actions July 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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] ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MNA-PS-OP |R|R| PS-NAL | Block-Number |R|IOAM-Opt-Type|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ IOAM Option-Type and Data Space [RFC9197] [RFC9326] ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Optional Payload + Padding ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Example of Multiple Post-Stack Network Actions with
IOAM and IOAM-DEX with the Same Scope
4.2. Realization of IOAM-DEX as In-Stack MNA
This document uses all the elements of the IOAM-DEX Option-Type
format defined in [RFC9326] to support IOAM-DEX in an MPLS network
using MNA ISD [RFC9994].
To support the direct export of the operational state and telemetry
information, the IOAM-DEX-ISD-MNA blob (binary large object) is
placed as part of the ISD block in an MPLS label stack according to
the MNA encoding procedures defined in [RFC9994].
Using the IHS field, the IOAM-DEX-ISD-MNA can operate in Hop-by-Hop,
Ingress-to-Egress, or Select modes [RFC9789] to collect the
operational state and telemetry information using an MNA Opcode
(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-ISD-MNA as per Figure 5 |S| ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Gandhi, et al. Expires 19 January 2027 [Page 9]
Internet-Draft IOAM Using MPLS Network Actions July 2026
Figure 4: An Example of IOAM-DEX Encapsulation as an MNA Opcode
Here, the enclosed elements are defined as follows:
* The MNA Label (value 4) as defined in [RFC9994].
* S: The Bottom of Stack bit [RFC3032].
* P: The P flag is set as specified in [I-D.ietf-mpls-mna-ps-hdr].
* The IHS, U, and NAL fields are set as specified in [RFC9994].
* NASL (4-bit): The number of LSEs that compose the IOAM-DEX-ISD-MNA
blob.
* Opcode (7-bit): Set to TBA2 for MNA-IOAM-DEX.
* Data: Data field is not used and set to 0.
* IOAM-DEX-ISD-MNA: IOAM-DEX in MPLS Network Action ISD encoding.
Policies controlling the processing of the collected operational
state and telemetry information, and their transport, are outside the
scope of this document.
4.2.1. IOAM-DEX Option-Type Encoding as MNA ISD
The IOAM-DEX-ISD-MNA blob in a NAS uses the LSE Format D, as defined
in 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 LSE Format D 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-ISD-MNA blob in
an 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Gandhi, et al. Expires 19 January 2027 [Page 10]
Internet-Draft IOAM Using MPLS Network Actions July 2026
Figure 5: IOAM-DEX Option-Type Format for MPLS Network Action ISD
Where fields are defined as follows:
* Namespace-ID (16-bit): Identifier of the IOAM Namespace, as
defined in [RFC9197].
* Reserved (6-bit): The Reserved field MUST be set to 0 on transmit
and ignored on receipt.
* S: The Bottom of Stack bit [RFC3032].
* Flags (8-bit): The flags field comprises of 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 interpretation of bit positions
in the IOAM-Trace-Type-MNA is as specified in [RFC9197], from bit
0 through bit 21. 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: This is a one-bit flag identical to the interpretation of bit
22 marked as "variable-length Opaque State Snapshot" as defined in
[RFC9197] and assigned code points found in IANA's IOAM Trace-Type
registry [IANA-IOAM-Trace-Type].
* R: This is a one-bit flag identical to the interpretation of bit
23 marked as "reserved" as defined in [RFC9197] and assigned code
points found in IANA's IOAM Trace-Type registry
[IANA-IOAM-Trace-Type]. Similarly to [RFC9197], 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 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 its bits as defined in [RFC9197] and assigned
code points found in IANA's IOAM Trace-Type registry
[IANA-IOAM-Trace-Type].
Gandhi, et al. Expires 19 January 2027 [Page 11]
Internet-Draft IOAM Using MPLS Network Actions July 2026
* Ext-Flags (6-bit): This field comprises of six one-bit subfields.
The allocation of the subfields in the Ext-Flags field is
according to Section 4.3 of [RFC9326]. The allocated flags
indicate the presence of the optional Flow ID MNA and/or Sequence
Number MNA fields in the IOAM-DEX-ISD-MNA header. 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]. However,
currently only two flags have been assigned by IANA as defined in
Section 4.3 of [RFC9326], and six flags have not been assigned by
IANA. Similarly, in the Ext-Flags of the IOAM-DEX-ISD-MNA header,
two flags have been mapped to those IANA assigned flags in the
IOAM-DEX Option-Type, and four flags remain unmapped. Figure 6
displays the detailed format of the Ext-Flags field.
* According to Section 3.2 in [RFC9326], the Reserved field is used
to align optional fields at the 4-octet word boundary in IOAM-DEX
Option-Type. 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 such Reserved field as padding.
* Flow ID MNA: An optional 4-octet field and carries a 30-bit Flow
ID (after removing leading 1 and S bits). The semantics of the
Flow ID MNA field are as those of the Flow ID field defined in
Section 3.2 of [RFC9326]. The most significant bit MUST be set to
1. The bit 23 MUST be set according to the definition of the S
bit in [RFC3032].
* Sequence Number MNA: An optional 4-octet field and carries a
30-bit sequence number (after removing leading 1 and S bits). The
semantics of the Sequence Number MNA field are as those of the
Sequence Number field defined in Section 3.2 of [RFC9326]. The
most significant bit MUST be set to 1. The bit 23 MUST be set
according to the definition of the S bit in [RFC3032]. In MPLS
network environments where 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 that the value of the Flow
ID MNA field identifies. In MPLS networks, where other load-
balancing techniques are used, all bits of the Sequence Number MNA
field can be varied.
0 1 2 3 4 5
+-+-+-+-+-+-+
|F|N|U|U|U|U|
+-+-+-+-+-+-+
Gandhi, et al. Expires 19 January 2027 [Page 12]
Internet-Draft IOAM Using MPLS Network Actions July 2026
Figure 6: Ext-Flags Field Format
Where fields are defined as follows:
* F: One-bit flag. When the F flag is set to 1, it indicates the
presence of the Flow ID field in the IOAM-DEX-ISD-MNA header.
* N: One-bit flag. When the N flag is set to 1, it indicates the
presence of the Sequence Number field in the IOAM-DEX-ISD-MNA
header.
* U: Unassigned one-bit flag. It MUST be set to zero on
transmission and the value MUST be ignored upon receipt.
5. Considerations for IOAM and IOAM-DEX in MPLS Networks
5.1. Ingress-to-Egress Scope IOAM and IOAM-DEX Network Actions
The I2E IOAM data fields carry IOAM Option-Types that require
processing on the encapsulating and decapsulating nodes only.
The IOAM Option-Type carried can be the IOAM E2E Option-Type (value
3) defined in [RFC9197] as well as the IOAM-DEX Option-Type (value 4)
defined in [RFC9326]. The I2E IOAM data fields SHOULD 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 I2E IOAM and IOAM-DEX Network Action procedure is summarized as
follows:
* The encapsulating node inserts an MNA Sub-Stack with the MNA Label
with the IHS scope set to "I2E, value 0x0", one or more In-Stack
Network Actions, and one or more IOAM data fields in the MPLS
packet.
* The intermediate nodes do not process the I2E IOAM data fields.
* The decapsulating node MAY punt the IOAM data fields from the
packet with the receive timestamp to the slow path for processing.
The receive timestamp is required by the various I2E IOAM use
cases, including streaming telemetry. Note that the packet is not
necessarily punted to the control-plane.
* The decapsulating 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.
Gandhi, et al. Expires 19 January 2027 [Page 13]
Internet-Draft IOAM Using MPLS Network Actions July 2026
* The decapsulating node MUST remove the Network Actions and IOAM
data fields from the received packet. The decapsulated packet is
forwarded downstream or terminated locally similar to the regular
data packets.
5.2. Hop-by-Hop Scope IOAM and IOAM-DEX Network Actions
The HBH IOAM data fields carry IOAM Option-Types that require
processing at the intermediate and/or encapsulating and decapsulating
nodes.
The IOAM Option-Type carried can be the Pre-allocated Trace (value
0), the POT (value 2), and the E2E (value 3) defined in [RFC9197] as
well as the IOAM-DEX (value 4) defined in [RFC9326].
Note that the MPLS Network Action defined in this document is not
supported for the HBH IOAM Incremental Trace Option-Type (value 1).
The Hop-by-Hop IOAM and IOAM-DEX Network Action procedure is
summarized as follows:
* The encapsulating node inserts an MNA Sub-Stack containing the MNA
Label, with the IHS scope set to "HBH, value 0x1", one or more In-
Stack Network Actions for IOAM, and one or more IOAM data fields
in the MPLS packet.
* The intermediate node that is enabled for the HBH IOAM function
processes the data packet including the IOAM data fields as
defined in [RFC9197] and [RFC9326] when the node recognizes the
HBH scope in the MNA Sub-Stack.
* The intermediate node MAY punt the IOAM data fields from the
packet with the receive timestamp to the slow path for processing
when the node recognizes the HBH scope. The receive timestamp is
required by the various HBH IOAM use cases, including streaming
telemetry. Note that the packet is not necessarily punted to the
control-plane.
* The intermediate node forwards the data packet downstream.
* The processing on the decapsulating node is the same as in the I2E
case.
Both HBH and I2E Scope IOAM may be carried in the Post-Stack MNA in
an MPLS packet. In this case, the PSMH with HBH IOAM data fields
MUST be added after the BoS and before the PSMH with I2E IOAM data
fields. This way, the RLD required to process them on the
intermediate nodes is minimized.
Gandhi, et al. Expires 19 January 2027 [Page 14]
Internet-Draft IOAM Using MPLS Network Actions July 2026
5.3. Node Capability
The decapsulating node that needs to remove the IOAM and IOAM-DEX
data fields and perform the IOAM and IOAM-DEX functions may not be
capable of supporting them. The encapsulating node needs to know if
the decapsulating node can support the IOAM and IOAM-DEX functions.
The signaling extension for this capability exchange is outside the
scope of this document.
The intermediate node that is not capable of supporting the IOAM and
IOAM-DEX functions defined in this document can simply skip the IOAM
and IOAM-DEX processing.
5.4. Nested MPLS Encapsulation
When a packet is received with an MPLS encapsulated Network Action
for IOAM and IOAM-DEX, and the nested MPLS encapsulating node needs
to add a different Network Action for IOAM and IOAM-DEX, the node
MUST add a new MNA Sub-Stack with the Network Action for IOAM and
IOAM-DEX as part of the new MPLS encapsulation.
5.5. Readable Label Depth Consideration
The encapsulating node needs to make sure that the IOAM and IOAM-DEX
data fields in the MNA are added within the Readable Label Depth
(RLD) of the downstream MNA-capable nodes in order for them to be
able to process the IOAM and IOAM-DEX.
6. Operational Considerations
Operational considerations discussed in [RFC9994] and
[I-D.ietf-mpls-mna-ps-hdr], management considerations discussed in
[RFC9789], and management and deployment considerations discussed in
[RFC9197] apply to this document. The performance considerations
discussed in Section 5 of [RFC9326] are also applicable here.
7. Security Considerations
Security considerations discussed in [RFC9197], [RFC9326], [RFC9994],
[I-D.ietf-mpls-mna-ps-hdr] and [RFC9789] apply to this document.
Gandhi, et al. Expires 19 January 2027 [Page 15]
Internet-Draft IOAM Using MPLS Network Actions July 2026
The usage of MPLS 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. Still, 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.
8. IANA Considerations
8.1. MPLS Network Action Opcodes
IANA is requested to assign code points from its Network Action
Opcodes registry (creation requested in [RFC9994] and update
requested in [I-D.ietf-mpls-mna-ps-hdr]) as specified in Table 1.
+========+=================+======================+===========+
| Opcode | Description | In-Stack Only, Post- | Reference |
| | | Stack Only, In-Stack | |
| | | and Post-Stack | |
+========+=================+======================+===========+
| TBA1 | Network Action | In-Stack and Post- | This |
| | for IOAM and | Stack | document |
| | IOAM-DEX in PSD | | |
+--------+-----------------+----------------------+-----------+
| TBA2 | Network Action | In-Stack Only | This |
| | for IOAM-DEX in | | document |
| | ISD | | |
+--------+-----------------+----------------------+-----------+
Table 1: MPLS Network Action Opcodes
9. Appendix A: Examples
9.1. In-Stack and Post-Stack Network Action Processing Order
The In-Stack Network Action with Post-Stack Data can be added to
interleave Post-Stack network actions with In-Stack network actions.
The following example shows how to process the Post-Stack NA before
some of the In-Stack NAs.
Gandhi, et al. Expires 19 January 2027 [Page 16]
Internet-Draft IOAM Using MPLS Network Actions July 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=8 | Ancillary Data |1|IHS|0| NASL=3|U|NAL=0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opcode=1 | Flag-Based NAIs |0| NAIs |U|NAL=0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opcode=TBA1 | Post-Stack Offset=1 |0|PS-NAI |U|NAL=0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opcode=7 | Ancillary Data |1| AD |U|NAL=0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PFN |Reserve| PSMH-Len=1 | Type = MNA Post-Stack Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PS-OP=TBA1 |R|R| PS-NAL=0 | Post-Stack Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: Post-Stack and In-Stack NA Processing Order
In this example, opcode 8 is processed first, followed by opcode 1
for Flag-Based NAIs, then opcode TBA1 (which has the corresponding
Network Action opcode TBA1 in Post-Stack at an offset of 1 word,
i.e., 4 octets from the BoS), and finally opcode 7.
10. References
10.1. Normative References
[I-D.ietf-mpls-mna-ps-hdr]
Rajamanickam, J., Gandhi, R., Zigler, R., Dong, J., and J.
Bhattacharya, "Post-Stack MPLS Network Action (MNA) Header
Specification", Work in Progress, Internet-Draft, draft-
ietf-mpls-mna-ps-hdr-10, 18 July 2026,
<https://datatracker.ietf.org/doc/html/draft-ietf-mpls-
mna-ps-hdr-10>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[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,
<https://www.rfc-editor.org/info/rfc3032>.
Gandhi, et al. Expires 19 January 2027 [Page 17]
Internet-Draft IOAM Using MPLS Network Actions July 2026
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[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, <https://www.rfc-editor.org/info/rfc9197>.
[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,
<https://www.rfc-editor.org/info/rfc9326>.
[RFC9789] Andersson, L., Bryant, S., Bocci, M., and T. Li, "MPLS
Network Actions (MNAs) Framework", RFC 9789,
DOI 10.17487/RFC9789, July 2025,
<https://www.rfc-editor.org/info/rfc9789>.
[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,
<https://www.rfc-editor.org/info/rfc9994>.
10.2. Informational References
[I-D.gandhi-ippm-stamp-mpls-hdr]
Gandhi, R., Zhou, T., Li, Z., and F. Ihle, "Simple Two-Way
Active Measurement Protocol (STAMP) Extensions for
Reflecting STAMP Packet MPLS Extension Headers", Work in
Progress, Internet-Draft, draft-gandhi-ippm-stamp-mpls-
hdr-07, 5 July 2026,
<https://datatracker.ietf.org/doc/html/draft-gandhi-ippm-
stamp-mpls-hdr-07>.
[IANA-IOAM-Trace-Type]
IANA, "IOAM Trace-Type",
<https://www.iana.org/assignments/ioam/ioam.xhtml#trace-
type>.
[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,
<https://www.rfc-editor.org/info/rfc9791>.
Gandhi, et al. Expires 19 January 2027 [Page 18]
Internet-Draft IOAM Using MPLS Network Actions July 2026
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, 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.
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)
Individual
Email: gregimirsky@gmail.com
Haoyu Song
Futurewei Technologies
United States of America
Email: haoyu.song@futurewei.com
Gandhi, et al. Expires 19 January 2027 [Page 19]
Internet-Draft IOAM Using MPLS Network Actions July 2026
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 19 January 2027 [Page 20]