Skip to main content

Supporting In Situ Operations, Administration and Maintenance Using MPLS Network Actions
draft-ietf-mpls-mna-ioam-01

Document Type Active Internet-Draft (mpls WG)
Authors Rakesh Gandhi , Greg Mirsky , Tony Li , Haoyu Song , Bin Wen
Last updated 2025-03-03
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
Additional resources Mailing list discussion
Stream WG state WG Document
On agenda mpls at IETF-122
Document shepherd (None)
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-mpls-mna-ioam-01
MPLS Working Group                                        R. Gandhi, Ed.
Internet-Draft                                       Cisco Systems, Inc.
Intended status: Standards Track                          G. Mirsky, Ed.
Expires: 4 September 2025                                       Ericsson
                                                                   T. Li
                                                        Juniper Networks
                                                                 H. Song
                                                  Futurewei Technologies
                                                                  B. Wen
                                                                 Comcast
                                                            3 March 2025

Supporting In Situ Operations, Administration and Maintenance Using MPLS
                            Network Actions
                      draft-ietf-mpls-mna-ioam-01

Abstract

   In situ Operations, Administration, and Maintenance (IOAM), defined
   in RFC 9197, is an on-path telemetry method to collect and transport
   the operational state and telemetry information using, for example,
   Preallocated or Incremental IOAM Option, that can be used to
   calculate various performance metrics.  RFC 9326 defined the IOAM
   Direct Export (IOAM-DEX) Option 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.

   MPLS Network Actions (MNA) techniques are meant to indicate actions
   to be performed on any combination of Label Switched Paths (LSPs),
   MPLS packets, and the node itself, and also to transfer data needed
   for these actions.  This document explores the MNA mechanisms to
   collect and transport the on-path operational state, and telemetry
   information IOAM data fields, including IOAM-DEX Option.

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 4 September 2025                [Page 1]
Internet-Draft               IOAM Using MNA                   March 2025

   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 4 September 2025.

Copyright Notice

   Copyright (c) 2025 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 . . . . . . . . . . . . . .   3
     2.1.  Acronyms  . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.2.  Requirements Language . . . . . . . . . . . . . . . . . .   4
   3.  Applicability of IOAM Option Types in an MPLS Network . . . .   4
   4.  Realization of IOAM as an MPLS Network Action . . . . . . . .   5
     4.1.  Signaling of IOAM as a Post-Stack Data MPLS Network
           Action  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     4.2.  Realization of IOAM-DEX as an In-Stack Data MPLS Network
           Action  . . . . . . . . . . . . . . . . . . . . . . . . .   9
   5.  Considerations for IOAM and IOAM Direct Export in MPLS
           Networks  . . . . . . . . . . . . . . . . . . . . . . . .  13
     5.1.  Ingress-To-Egress Scope IOAM and IOAM Direct Export Network
           Actions . . . . . . . . . . . . . . . . . . . . . . . . .  13
       5.1.1.  Procedure . . . . . . . . . . . . . . . . . . . . . .  13
     5.2.  Hop-By-Hop Scope IOAM and IOAM Direct Export Network
           Actions . . . . . . . . . . . . . . . . . . . . . . . . .  14
       5.2.1.  Procedure . . . . . . . . . . . . . . . . . . . . . .  14
     5.3.  Node Capability . . . . . . . . . . . . . . . . . . . . .  15
     5.4.  Nested MPLS Encapsulation . . . . . . . . . . . . . . . .  15
     5.5.  Readable Label Depth Consideration  . . . . . . . . . . .  15
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  15
     6.1.  IOAM, IOAM-DEX as PSD MNA, and IOAM-DEX-ISD-MNA as an MPLS
           Network Action Opcodes  . . . . . . . . . . . . . . . . .  15
     6.2.  Post-Stack Network Action Opcodes . . . . . . . . . . . .  16

Gandhi, et al.          Expires 4 September 2025                [Page 2]
Internet-Draft               IOAM Using MNA                   March 2025

   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  16
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  17
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  17
     8.2.  Informational References  . . . . . . . . . . . . . . . .  18
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  18
   Contributors  . . . . . . . . . . . . . . . . . . . . . . . . . .  18
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  19

1.  Introduction

   In situ OAM (IOAM) [RFC9197] is an on-path telemetry method to
   collect and transport the operational state and telemetry information
   that can be used to calculate various performance metrics.  Several
   IOAM Option types (e.g., Pre-allocated and Incremental) use the user
   packet to collect the operational state and telemetry information.
   Such a mechanism transports the collected information to an IOAM
   decapsulating node (typically located at the edge of the IOAM domain
   within the data packet).  IOAM Direct Export (IOAM-DEX) [RFC9326] is
   an IOAM Option type.  In IOAM-DEX, 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.

   MPLS Network Actions (MNA) techniques [I-D.ietf-mpls-mna-fwk]
   indicate actions to be performed on any combination of Label Switched
   Paths (LSPs), MPLS packets, the node itself, and also allow for the
   transfer of data needed for these actions.  [I-D.ietf-mpls-mna-hdr]
   defines mechanisms for carrying Network Action Sub-Stack (NAS) as
   part of the MPLS label stack, i.e., In-Stack Data (ISD) MNA solution.
   [I-D.jags-mpls-ps-mna-hdr] defines mechanisms for carrying MNA and
   Ancillary Data (AD) outside the MPLS label stack, i.e., as Post-Stack
   Data (PSD) MNA solution.  [I-D.ietf-mpls-mna-usecases] describes
   various use cases that can be realized using MNA techniques,
   including IOAM Pre-allocated, Incremental, and IOAM-DEX Option types.

   This document describes how MNA can be used for collecting and
   transporting on-path operational state and telemetry information
   using IOAM data fields for IOAM Option types, including IOAM-DEX.
   Specifying the mechanism of exporting collected information in case
   of the IOAM-DEX Option is outside the scope of this document.

2.  Conventions Used in this Document

2.1.  Acronyms

   OAM: Operations, Administration, and Maintenance

   HBH: Hop-By-Hop

Gandhi, et al.          Expires 4 September 2025                [Page 3]
Internet-Draft               IOAM Using MNA                   March 2025

   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 In-Stack Data MPLS Network
   Action

   ISD: In-Stack Data

   PSD: Post-Stack Data

   PSH: Post-Stack Header

   LSP: Label Switched Path

   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.

3.  Applicability of IOAM Option Types in an MPLS Network

   Pre-allocated, Incremental, and Edge-to-Edge IOAM Option types
   [RFC9197] use user packets to collect and transport the operational
   state and telemetry information.  In some environments, for example,
   data center networks, this technique is useful as the available
   bandwidth and the use of jumbo frames can accommodate the increase of
   the packet payload.  This document defines the PSD MNA-based
   ([I-D.jags-mpls-ps-mna-hdr]) solution supporting Pre-allocated,

Gandhi, et al.          Expires 4 September 2025                [Page 4]
Internet-Draft               IOAM Using MNA                   March 2025

   Incremental, and Edge-to-Edge 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 data packet may noticeably decrease
   the cost-efficiency of network operations.  Although the operational
   state and telemetry information are essential for network automation
   (Section 4 of [RFC8969]), its delivery is not as critical as user
   packets.  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 all of IOAM data fields defined in [RFC9197].  The
   processing and transport of the collected information are controlled
   by a local policy which is outside the scope of this specification.
   The performance considerations discussed in Section 5 of [RFC9326]
   are applicable here.  In this document, the realizations of IOAM-DEX
   using ISD MNA approach ([I-D.ietf-mpls-mna-hdr] and PSD MNA
   ([I-D.jags-mpls-ps-mna-hdr]) are defined in Section 4.2 and
   Section 4.1, respectively.

4.  Realization of IOAM as an MPLS Network Action

4.1.  Signaling of IOAM as a Post-Stack Data MPLS Network Action

   The presence of a PSD MNA is signaled using a Network Action Sub-
   stack is defined in [I-D.jags-mpls-ps-mna-hdr] and 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               | TC  |0|  TTL          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Opcode     |      Data (Format B)    |P|IHS|0|U| NASL  | NAL |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Opcode     |      Data (Format C)          |0|U| Data  | NAL |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                Label                  | TC  |1|  TTL          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                Post-Stack Header (Optional)                   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~                           IOAM                                ~
    ~                      Post-stack Data                          ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~                          Payload                              ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Gandhi, et al.          Expires 4 September 2025                [Page 5]
Internet-Draft               IOAM Using MNA                   March 2025

     Figure 1: An Example of Network Action Sub-Stack Signaling a Post
                              Stack Data MNA.

   The MNA Label is defined in [I-D.ietf-mpls-mna-hdr].

   The IHS scope field defined in [I-D.ietf-mpls-mna-hdr] is used to
   indicate that I2E or 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 IHS scope MUST be set to "HBH, value 0x1".  If only edge
   nodes need to process the IOAM data fields then IHS scope MUST be set
   to "I2E, value 0x0".  The HBH scope allows to skip the IOAM data
   processing on the intermediate nodes i.e., avoids the need to parse
   all IOAM data fields to detect the HBH option type.

   The U Flag for Unknown Action Handling is specified in
   [I-D.ietf-mpls-mna-hdr].

   The Network Action Sub-Stack Length (NASL) is set as specified in
   [I-D.ietf-mpls-mna-hdr].

   Opcode (7 bits) value is TBA1 (for In-Stack Network Action with PSD
   for IOAM) carrying IOAM Option-Type(s) defined in [RFC9197].  Opcode
   value is TBA2 (for In-Stack Network Action with PSD for IOAM DEX)
   carrying the IOAM DEX Option-Type defined in [RFC9326].  The In-Stack
   indication of PSD IOAM and IOAM DEX Network Actions can be carried in
   Format B or Format C LSE.

   A packet may carry more than one In-Stack Network Actions with PSD
   for IOAM and IOAM DEX in an MNA Sub-Stack (for example, for different
   IOAM Option-Types).  There may be a different In-Stack Network
   Actions (other than for the IOAM) in an MNA Sub-Stack.

   Data (10 bits, next to the Opcode field) in LSE contains the offset
   for PSD for this In-Stack Network Action in 4-octets units after BOS
   LSE to the start of the Post-Stack Network Action Opcode.  Due to the
   Post-Stack Header, minimum value for the offset is 1 (i.e, 4-octets).

   Additional IOAM data fields may be added in the In-Stack NAS
   additional data LSE Format D as required by the network action.

   Length of Network Action (NAL) is set to 0 if no additional LSE
   Format D is added for the network action.

   The Post-Stack Network Action encoding contains IOAM Post-Stack
   Network Action Opcode, length in number of 4-octet units, and IOAM
   Option-Type with IOAM data fields in ancillary data as shown in

Gandhi, et al.          Expires 4 September 2025                [Page 6]
Internet-Draft               IOAM Using MNA                   March 2025

   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 Section 3 of [RFC9326]).

     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |              Label                    | TC  |1|  TTL          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |N N N N|Version| PS-HDR-LEN    | TYPE = POST-STACK-HDR-MNA = 1 |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
    |PS-NA-OPCODE |R|U|   PS-NAL    |R|R| BLOCK-NUMBER|IOAM-OPT-TYPE|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    ~                         IOAM Data                             ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Figure 2: An Example of Post-Stack Data MNA Carrying IOAM.

   The PSD MNA carrying IOAM is shown in Figure 2.  The following fields
   defined in [I-D.jags-mpls-ps-mna-hdr]:

   NNNN:  The value of the first nibble is defined in
     [I-D.jags-mpls-ps-mna-hdr].

   PS-HDR-LEN (8 bits):  IOAM PSD MNA Total Length in four-octet units.
     This excludes the Post-Stack Header.

   TYPE:  TYPE is defined for POST-STACK-HDR-MNA (value 1) in
     [I-D.jags-mpls-ps-mna-hdr].

   The Post-Stack Network Action encoding contains IOAM Post-Stack
   Network Action Opcode, length in number of 4-octet units, and IOAM
   Option-Type with IOAM data fields in ancillary data as shown in
   Figure 1.  The IOAM data fields MUST follow the definitions
   corresponding to their IOAM-Option-Types (e.g., see Section 4.4 of
   [RFC9197] and Section 3 of [RFC9326]).

Gandhi, et al.          Expires 4 September 2025                [Page 7]
Internet-Draft               IOAM Using MNA                   March 2025

    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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Label                                | TC  |1|  TTL          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
    |N N N N|Version| PS-HDR-LEN    | TYPE = POST-STACK-HDR-MNA = 1 |PSH
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|<-+
    |PS-NA-OPCODE |R|U|   PS-NAL    |R|R| BLOCK-NUMBER|IOAM-OPT-TYPE|  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  I
    |                                                               |  O
    |                                                               |  A
    ~   IOAM Option and Data Space [RFC9197] [RFC9326]              ~  M
    |                                                               |  |
    |                                                               |  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
    .                                                               .
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
    |PS-NA-OPCODE |R|U|   PS-NAL    |R|R| BLOCK-NUMBER|IOAM-OPT-TYPE|  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  I
    |                                                               |  O
    |                                                               |  A
    ~   IOAM Option and Data Space [RFC9197] [RFC9326]              ~  M
    |                                                               |  |
    |                                                               |  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
    |                                                               |
    |                                                               |
    ~                 Optional Payload + Padding                    ~
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 3: Example Post-Stack Network Actions with IOAM and IOAM
                         Direct Export Data Fields

   The Post-Stack Header (PSH) is added with the following fields as
   defined in [I-D.jags-mpls-ps-mna-hdr].

   NNNN:  The first 4-bit as defined in [I-D.jags-mpls-ps-mna-hdr].

   PS-HDR-LEN (8 bits):  Post-Stack Header Total Length in 4-octet
     units.  This excludes the Post-Stack Header.

   TYPE:  TYPE is defined for POST-STACK-HDR-MNA (value 1) in
     [I-D.jags-mpls-ps-mna-hdr].

Gandhi, et al.          Expires 4 September 2025                [Page 8]
Internet-Draft               IOAM Using MNA                   March 2025

   An IOAM data fields is added in the Post-Stack Network Action
   containing the following fields:

   PS-NA-OPCODE:  IANA allocated value TBA3 (Post-Stack Network Action
     for IOAM) for IOAM Option-Type defined in [RFC9197], and TBA4
     (Post-Stack Network Action for IOAM DEX) for IOAM DEX Option-Type
     defined [RFC9326].  Editor's Note: Post-Stack Network Action Opcode
     value TBA3 can be the same value as In-Stack Network Action Opcode
     value TBA1 and opcode TBA4 can be the same value as opcode TBA2 to
     avoid creating a mapping table.

   IOAM-OPT-TYPE:  7-bit field defining the IOAM Option-Type, as defined
     in the "IOAM Option-Type Registry" specified in [RFC9197] and
     [RFC9326]).

   IOAM-HDR-LEN:  7-bit unsigned integer.  Length of the IOAM data
     fields in 4-octet units.  This excludes the first 4-octet unit
     starting from PS-NA-OPCODE.

   IOAM Option and Data Space:  IOAM data fields as specified by the
     IOAM-OPT-Type field.  IOAM data fields are defined corresponding to
     the IOAM-Option-Type (e.g., see Section 4.4 of [RFC9197] and
     Section 3 of [RFC9326].

   U:  The Unknown Post-Stack Network Action handling including
     unsupported IOAM Option-Type or IOAM data fields handling.

   BLOCK-NUMBER:  The Block Number for alternate marking method can be
     used to aggregate the IOAM data collected in data plane, e.g., to
     compute measurement metrics for each block of a data flow.  It is
     also used to correlate the IOAM data on different nodes.

4.2.  Realization of IOAM-DEX as an In-Stack Data MPLS Network Action

   [I-D.ietf-mpls-mna-usecases] recognizes the importance of IOAM in
   MPLS networks and lists it as one of the use cases that might be
   supported using MNA techniques.  [I-D.ietf-mpls-mna-fwk] defines the
   architectural elements that compose 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 MPLS Network Action (MNA)
   framework [I-D.ietf-mpls-mna-fwk] and architecture as in-stack data
   (ISD) MNA [I-D.ietf-mpls-mna-hdr].  The IOAM-DEX in MNA header is
   using LSE Format D, as defined in Section 4.4 [I-D.ietf-mpls-mna-hdr]
   mapping IOAM-DEX Option Type format [RFC9326].  In addition to the
   requirement to preserve the Bottom of Stack field, 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.  The format of IOAM-DEX in MNA is shown in Figure 4.

Gandhi, et al.          Expires 4 September 2025                [Page 9]
Internet-Draft               IOAM Using MNA                   March 2025

    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          |    Resv   |0|     Flags     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |1|            IOAM-Trace-Type-MNA            |S|O|R| Ext-Flags |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Flow ID MNA                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Sequence Number MNA (Optional)                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 4: IOAM-DEX Option Type Format for the In-Stack Data MPLS
                          Network Action Framework

   Where fields are defined as follows:

   *  Namespace-ID is a 16-bit identifier of the IOAM Namespace, as
      defined in [RFC9197].

   *  S is a one-bit the Bottom of Stack [RFC3032].

   *  Flags is an eight-bit field comprised of eight one-bit subfields.
      The subfields in the Flags field are allocated by IANA in IOAM DEX
      Flags registry, as defined in Section 4.2 of [RFC9326].

   *  IOAM-Trace-Type-MNA is a 22-bit field.  The interpretation of bit
      positions in the IOAM-Trace-Type-MNA is as specified in IANA's
      IOAM Trace-Type registry [IANA-IOAM-Trace-Type] from Bit 0 through
      Bit 21.

   *  O is the one-bit flag identical to the interpretation of Bit 22
      variable-length Opaque State Snapshot in IANA's IOAM Trace-Type
      registry [IANA-IOAM-Trace-Type].

   *  E is a one-bit flag identical to the interpretation of Bit 23
      Reserved in IANA's IOAM Trace-Type registry
      [IANA-IOAM-Trace-Type].  E flag can be used to indicate the
      presence of the Extended IOAM-Trace-Type-MNA field in the next
      Label Stack Element (LSE).

   *  R (Reserved) is a one-bit flag identical to the interpretation of
      Bit 23 in IANA's IOAM Trace-Type registry [IANA-IOAM-Trace-Type].
      It MUST be zeroed on the transmission and ignored on receipt.
      Similarly to [RFC9197], it is reserved to allow for future
      extensions of the IOAM-Trace-Type-MNA bit field.

Gandhi, et al.          Expires 4 September 2025               [Page 10]
Internet-Draft               IOAM Using MNA                   March 2025

   *  The concatenation of IOAM-Trace-Type-MNA, O, and R fields,
      explained above, is identical to IOAM-Trace-Type in the
      interpretation of its bits, assigned in IANA's IOAM Trace-Type
      registry [IANA-IOAM-Trace-Type].  Also, note that the Bit 7 field,
      i.e., checksum complement, is handled as defined in [RFC9326].

   *  Ext-Flags is a six-bit field comprised 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 and/or Sequence
      Number fields in the IOAM-DEX-ISD-MNA header.  The length of the
      Ext-Flags field in 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].  Mapping of these two bit
      positions is for further study.  Figure 5 displays the detailed
      format of the Ext-Flags field.

   *  Optional fields, i.e., Flow ID and Sequence Number, according to
      [RFC9326], immediately follow the Reserved field used to align
      optional fields at the four-octet word boundary.  In the case of
      IOAM-DEX in MNA, such alignment can be achieved without using
      padding.

   *  Flow ID MNA is an optional four-octet field.  The semantics of the
      Flow ID MNA field is as of the Flow ID field defined in
      Section 3.2 of [RFC9326].  The most significant bit MUST be set to
      1.  Bit 23 MUST be set according to the definition of Bottom of
      Stack field in [RFC3032].

   *  Sequence Number MNA is an optional four-octet field.  The
      semantics of the Sequence Number MNA field is as of the Sequence
      Number field defined in Section 3.2 of [RFC9326].  The most
      significant bit MUST be set to 1.  Bit 23 MUST be set according to
      the definition of Bottom of Stack field in [RFC3032].  In MPLS
      network environments where a 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 variated.

    0 1 2 3 4 5
   +-+-+-+-+-+-+
   |F|S|U|U|U|U|
   +-+-+-+-+-+-+

Gandhi, et al.          Expires 4 September 2025               [Page 11]
Internet-Draft               IOAM Using MNA                   March 2025

                      Figure 5: Ext-Flags Field Format

   Where fields are defined as follows:

   *  F - one-bit flag.  When the flag is set to 1, it indicates the
      presence of the Flow ID field in the IOAM-DEX-ISD-MNA header.

   *  S - one-bit flag.  When the 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 zeroed on transmission
      and the value MUST be ignored upon receipt.

   To support the direct export of the operational state and telemetry
   information, the IOAM-DEX-ISD-MNA blob (binary large object), as
   shown in Figure 4 can be placed as part of the ISD block in an MPLS
   label stack according to the MNA encoding principles defined in
   [I-D.ietf-mpls-mna-hdr].  Using the IHS field, the IOAM-DEX-ISD-MNA
   can be performed in Hop-by-Hop, Ingress-to-Egress, or Select modes
   [I-D.ietf-mpls-mna-fwk] of collecting the operational state and
   telemetry information, as MNA Opcode (Figure 6).  Policies
   controlling the processing of the collected operational state and
   telemetry information, and its transport are outside the scope of
   this document.

    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               | TC  |0|    TTL        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Opcode = TBA6 |        Data           |P|IHS|0| Res |U|  NASL |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                       IOAM-DEX-ISD-MNA                        ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 6: An Example of IOAM-DEX Encapsulation as an MNA Opcode

   Where the enclosed elements are defined as follows:

   *  MNA Label (value TBA5) is a base Special Purpose Label (bSPL)
      assigned by IANA per the request in [I-D.ietf-mpls-mna-hdr].

   *  S - the Bottom of Stack field [RFC3032].

   *  P, IHS, Res, U, and NASL fields are as specified in Section 4.2 of
      [I-D.ietf-mpls-mna-hdr].

Gandhi, et al.          Expires 4 September 2025               [Page 12]
Internet-Draft               IOAM Using MNA                   March 2025

   *  NASL - number of LSEs that compose the IOAM-DEX-ISD-MNA blob.

   *  Opcode is MNA-IOAM-DEX opcode (value TBA6) assigned by IANA
      Section 6.1.

   *  IOAM-DEX-ISD-MNA - IOAM Direct Export in In-Stack Data MPLS
      Network Action encoding

5.  Considerations for IOAM and IOAM Direct Export in MPLS Networks

5.1.  Ingress-To-Egress Scope IOAM and IOAM Direct Export Network
      Actions

   The I2E IOAM data fields carry the IOAM Option-Type(s) that require
   processing on the encapsulating and decapsulating nodes only.

   The IOAM Option-Type carried can be IOAM Edge-To-Edge Option-Type
   (value 3) defined in [RFC9197] as well as DEX Option-Type (value 4)
   defined in [RFC9326].  The I2E IOAM data fields SHOULD NOT carry any
   IOAM Option-Type that require IOAM processing on the intermediate
   nodes as it will not be processed by them when IHS scope is set to
   "I2E, value 0x0".

5.1.1.  Procedure

   The I2E IOAM and IOAM Direct Export Network Action procedure is
   summarized as following:

   *  The encapsulating node inserts an MNA Sub-Stack with the MNA Label
      with IHS scope set to "I2E, value 0x0", one or more In-Stack
      Network Actions with PSD and one or more IOAM data fields in the
      Post-Stack Network Actions in the MPLS packet.

   *  The intermediate nodes do not process the HBH 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 OAM 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 4 September 2025               [Page 13]
Internet-Draft               IOAM Using MNA                   March 2025

   *  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 Direct Export Network Actions

   The HBH IOAM data fields carry the Option-Type(s) that require
   processing at the intermediate and/or encapsulating and decapsulating
   nodes.

   The IOAM Option-Type carried can be IOAM Pre-allocated Trace Option-
   Type (value 0), IOAM Incremental Trace Option-Type (value 1) and IOAM
   Proof of Transit (POT) Option-Type (value 2), and Edge-To-Edge
   Option-Type (value 3) defined in [RFC9197] as well as DEX Option-Type
   (value 4) defined in [RFC9326].

   Editor's note: IPv6 option is not supported for HBH IOAM Incremental
   Trace Option-Type (value 1).  Similarly, MPLS network action is also
   not supported for HBH IOAM Incremental Trace Option-Type (value 1).

5.2.1.  Procedure

   The Hop-By-Hop IOAM and IOAM Direct Export Network Action procedure
   is summarized as following:

   *  The encapsulating node inserts an MNA Sub-Stack containing MNA
      Label, with IHS scope set to "HBH, value 0x1", one or more In-
      Stack Network Actions for IOAM with PSD, and one or more IOAM data
      fields in the Post-Stack Network Actions in the MPLS packet.

   *  The intermediate node enabled with 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 OAM 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 same as I2E case.

Gandhi, et al.          Expires 4 September 2025               [Page 14]
Internet-Draft               IOAM Using MNA                   March 2025

   Both HBH and I2E Scope IOAM may be required in an MPLS packet.  In
   this case, the Post-Stack Network action with HBH IOAM data fields
   MUST be added after the BOS and before the Post-Stack Network Action
   with I2E IOAM data fields.  This way, the RLD for the intermediate
   nodes is minimized.

5.3.  Node Capability

   The decapsulating node that has to remove the IOAM data fields and
   perform the IOAM function may not be capable of supporting it.  The
   encapsulating node needs to know if the decapsulating node can
   support the IOAM function.  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
   functions defined in this document, can simply skip the IOAM
   processing.

   The node that does not recognize the MNA Label received at the top of
   the label stack will drop the packet.

5.4.  Nested MPLS Encapsulation

   When a packet is received with MPLS Encapsulated Network Action for
   IOAM, the nested MPLS encapsulating node that needs to add different
   Network Action for IOAM, the node MUST add a new MNA Sub-Stack with
   the Network Action for IOAM as part of the new MPLS encapsulation.

5.5.  Readable Label Depth Consideration

   The encapsulating node needs to make sure that the IOAM data fields
   in Post-Stack Network Action 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.

6.  IANA Considerations

6.1.  IOAM, IOAM-DEX as PSD MNA, and IOAM-DEX-ISD-MNA as an MPLS Network
      Action Opcodes

   IANA is requested to codepoints from its Network Action Opcodes
   registry (creation requested in [I-D.ietf-mpls-mna-hdr]) as specified
   in Table 1.

Gandhi, et al.          Expires 4 September 2025               [Page 15]
Internet-Draft               IOAM Using MNA                   March 2025

    +========+===========================================+===========+
    | Opcode | Description                               | Reference |
    +========+===========================================+===========+
    | TBA1   | In-Stack Network Action with PSD for IOAM | This      |
    |        |                                           | document  |
    +--------+-------------------------------------------+-----------+
    | TBA2   | In-Stack Network Action with PSD for IOAM | This      |
    |        | Direct Export                             | document  |
    +--------+-------------------------------------------+-----------+
    | TBA6   | IOAM-DEX as an In-Stack Data MPLS Network | This      |
    |        | Action Indicator                          | document  |
    +--------+-------------------------------------------+-----------+

     Table 1: IOAM-DEX as an In-Stack Data MPLS Network Action Opcode

6.2.  Post-Stack Network Action Opcodes

   The IOAM and IOAM DEX Network Action Opcodes from Post-Stack Network
   Action Opcode registry (to be created by in
   [I-D.jags-mpls-ps-mna-hdr]) are defined in this document as follows.

   Editor's Note: Post-Stack Network Action Opcode value TBA3 can be the
   same value as In-Stack Network Action Opcode value TBA1 and opcode
   TBA4 can be the same value as opcode TBA2 to avoid creating a mapping
   table.

      +=======+====================================+===============+
      | Value | Description                        | Reference     |
      +=======+====================================+===============+
      | TBA3  | Post-Stack Network Action for IOAM | This document |
      +-------+------------------------------------+---------------+
      | TBA4  | Post-Stack Network Action for IOAM | This document |
      |       | Direct Export                      |               |
      +-------+------------------------------------+---------------+

                Table 2: Post-Stack Network Action Opcodes

7.  Security Considerations

   Security considerations discussed in [RFC9197], [RFC9326], and
   [I-D.ietf-mpls-mna-fwk] apply to this document.

Gandhi, et al.          Expires 4 September 2025               [Page 16]
Internet-Draft               IOAM Using MNA                   March 2025

   The usage of MPLS extensions defined in this document for IOAM is
   intended for deployment in a single network administrative domain.
   As such, it assumes that the operator enabling the IOAM operation has
   previously verified the integrity of the path.  Still, operators need
   to properly secure the IOAM in the domain to avoid malicious
   configuration and use, which could include injecting malicious IOAM
   packets into the domain.

8.  References

8.1.  Normative References

   [I-D.ietf-mpls-mna-fwk]
              Andersson, L., Bryant, S., Bocci, M., and T. Li, "MPLS
              Network Actions (MNA) Framework", Work in Progress,
              Internet-Draft, draft-ietf-mpls-mna-fwk-15, 27 December
              2024, <https://datatracker.ietf.org/doc/html/draft-ietf-
              mpls-mna-fwk-15>.

   [I-D.ietf-mpls-mna-hdr]
              Rajamanickam, J., Gandhi, R., Zigler, R., Song, H., and K.
              Kompella, "MPLS Network Action (MNA) Sub-Stack Solution",
              Work in Progress, Internet-Draft, draft-ietf-mpls-mna-hdr-
              11, 17 February 2025,
              <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-
              mna-hdr-11>.

   [I-D.jags-mpls-ps-mna-hdr]
              Rajamanickam, J., Gandhi, R., Zigler, R., Li, T., and J.
              Dong, "Post-Stack MPLS Network Action (MNA) Solution",
              Work in Progress, Internet-Draft, draft-jags-mpls-ps-mna-
              hdr-04, 19 December 2024,
              <https://datatracker.ietf.org/doc/html/draft-jags-mpls-ps-
              mna-hdr-04>.

   [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>.

   [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>.

Gandhi, et al.          Expires 4 September 2025               [Page 17]
Internet-Draft               IOAM Using MNA                   March 2025

   [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>.

8.2.  Informational References

   [I-D.ietf-mpls-mna-usecases]
              Saad, T., Makhijani, K., Song, H., and G. Mirsky, "Use
              Cases for MPLS Network Action Indicators and MPLS
              Ancillary Data", Work in Progress, Internet-Draft, draft-
              ietf-mpls-mna-usecases-15, 23 September 2024,
              <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-
              mna-usecases-15>.

   [IANA-IOAM-Trace-Type]
              IANA, "IOAM Trace-Type",
              <https://www.iana.org/assignments/ioam/ioam.xhtml#trace-
              type>.

   [RFC8969]  Wu, Q., Ed., Boucadair, M., Ed., Lopez, D., Xie, C., and
              L. Geng, "A Framework for Automating Service and Network
              Management with YANG", RFC 8969, DOI 10.17487/RFC8969,
              January 2021, <https://www.rfc-editor.org/info/rfc8969>.

Acknowledgments

   The authors would like to thank Patrick Khordoc, Sagar Soni, Shwetha
   Bhandari, Vengada Prasad Govindan, Tarek Saad, Stewart Bryant, Xiao
   Min, Jaganbabu Rajamanickam, and Cheng Li for providing many useful
   comments.  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:

Gandhi, et al.          Expires 4 September 2025               [Page 18]
Internet-Draft               IOAM Using MNA                   March 2025

   Zafar Ali
   Cisco Systems, Inc.
   Email: zali@cisco.com

   Loa Andersson
   Huawei Technologies
   Email: loa@pi.nu

   Frank Brockners
   Cisco Systems, Inc.
   Hansaallee 249, 3rd Floor
   DUESSELDORF, NORDRHEIN-WESTFALEN  40549
   Germany
   Email: fbrockne@cisco.com

   Voitek Kozak
   Comcast
   Email: Voitek_Kozak@comcast.com

Authors' Addresses

   Rakesh Gandhi (editor)
   Cisco Systems, Inc.
   Canada
   Email: rgandhi@cisco.com

   Greg Mirsky (editor)
   Ericsson
   Email: gregimirsky@gmail.com

   Tony Li
   Juniper Networks
   Email: tony.li@tony.li

   Haoyu Song
   Futurewei Technologies
   United States of America
   Email: haoyu.song@futurewei.com

   Bin Wen
   Comcast
   Email: Bin_Wen@cable.comcast.com

Gandhi, et al.          Expires 4 September 2025               [Page 19]