Skip to main content

MPLS Data Plane Encapsulation for In Situ OAM Data
draft-gandhi-mpls-ioam-09

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Authors Rakesh Gandhi , Frank Brockners , Bin Wen , Bruno Decraene , Haoyu Song
Last updated 2023-01-10
Replaces draft-gandhi-mpls-ioam-sr
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-gandhi-mpls-ioam-09
MPLS Working Group                                        R. Gandhi, Ed.
Internet-Draft                                              F. Brockners
Intended status: Standards Track                     Cisco Systems, Inc.
Expires: 14 July 2023                                             B. Wen
                                                                 Comcast
                                                             B. Decraene
                                                                  Orange
                                                                 H. Song
                                                  Futurewei Technologies
                                                         10 January 2023

           MPLS Data Plane Encapsulation for In Situ OAM Data
                       draft-gandhi-mpls-ioam-09

Abstract

   In Situ Operations, Administration, and Maintenance (IOAM) is used
   for recording and collecting operational and telemetry information
   while the packet traverses a path between two points in the network.
   This document defines how IOAM data fields are transported with MPLS
   data plane encapsulation using MPLS Network Action (MNA) and follows
   the MNA framework defined in draft-ietf-mpls-mna-fwk.

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

   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 14 July 2023.

Copyright Notice

   Copyright (c) 2023 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Gandhi, et al.            Expires 14 July 2023                  [Page 1]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

   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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Requirement Language  . . . . . . . . . . . . . . . . . .   3
     2.2.  Abbreviations . . . . . . . . . . . . . . . . . . . . . .   3
   3.  MPLS Extensions for IOAM Data Fields  . . . . . . . . . . . .   4
     3.1.  IOAM Post-Stack Action Header . . . . . . . . . . . . . .   4
     3.2.  MNA Header for Post-Stack Network Action Presence Indicator
           and Scope . . . . . . . . . . . . . . . . . . . . . . . .   6
   4.  Edge-To-Edge IOAM Network Action  . . . . . . . . . . . . . .   7
     4.1.  MNA Header for Edge-To-Edge IOAM  . . . . . . . . . . . .   7
     4.2.  Procedure for Edge-To-Edge IOAM Network Action  . . . . .   8
   5.  Hop-By-Hop IOAM Network Action  . . . . . . . . . . . . . . .   8
     5.1.  MNA Header for Hop-By-Hop IOAM  . . . . . . . . . . . . .   9
     5.2.  Procedure for Hop-By-Hop IOAM Network Action  . . . . . .   9
     5.3.  Hop-By-Hop and Edge-To-Edge IOAM Extension Headers  . . .  10
     5.4.  Procedure for Select IOAM Network Action  . . . . . . . .  10
   6.  Considerations for IOAM . . . . . . . . . . . . . . . . . . .  10
     6.1.  Considerations for ECMP . . . . . . . . . . . . . . . . .  10
     6.2.  Node Capability . . . . . . . . . . . . . . . . . . . . .  11
     6.3.  Nested MPLS Encapsulation . . . . . . . . . . . . . . . .  11
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  11
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  12
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  12
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  13
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  13
   Contributors  . . . . . . . . . . . . . . . . . . . . . . . . . .  13
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  13

1.  Introduction

   In Situ Operations, Administration, and Maintenance (IOAM) is used
   for recording and collecting operational and telemetry information
   while the packet traverses a path between two points in the network.
   The term "in-situ" refers to the fact that the IOAM data fields are
   added to the data packets rather than being sent within the probe
   packets specifically dedicated to OAM.  The IOAM data fields are

Gandhi, et al.            Expires 14 July 2023                  [Page 2]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

   defined in [RFC9197].  The IOAM data fields are further updated in
   [RFC9326] for direct export use-cases.

   This document defines how IOAM data fields are transported with MPLS
   data plane encapsulations using MPLS Network Action (MNA) and follows
   the framework defined in [I-D.ietf-mpls-mna-fwk].

   [I-D.jags-mpls-mna-hdr] defines mechanisms for carrying MNA header
   and Network Actions Sub-Stack (NAS) above the Bottom of the label
   stack (BOS) and [I-D.song-mpls-extension-header] defines mechanisms
   for carrying Post-Stack Data (PSD) in MPLS extension headers (EHs)
   after the Bottom of the label stack.  This document uses these two
   mechanisms and describes the procedures for carrying IOAM data fields
   in an MPLS header.

   Note: This document uses MNA encoding solutions defined in Individual
   Internet Drafts as examples.  The MNA encoding will be updated to
   align with the MNA solutions in the WG adopted Internet Drafts when
   they are available.

2.  Conventions

2.1.  Requirement Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119] [RFC8174]
   when, and only when, they appear in all capitals, as shown here.

2.2.  Abbreviations

   The MPLS Network Action (MNA) terminology defined in
   [I-D.ietf-mpls-mna-fwk] are used in this document.

   Abbreviations used in this document:

   PNI  Post-Stack Network Action Presence Indicator (P flag)

   ECMP  Equal Cost Multi-Path

   E2E  Edge-To-Edge

   HBH  Hop-By-Hop

Gandhi, et al.            Expires 14 July 2023                  [Page 3]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

   IHS  Ingress-To-Egress (I2E), Hop-By-Hop (HBH) or Select Scope

   IOAM  In Situ Operations, Administration, and Maintenance

   MPLS  Multiprotocol Label Switching

   MNA  MPLS Network Action

   NAI  Network Action Indicator

   NASL  Network Action Sub-Stack Length

   OAM  Operations, Administration, and Maintenance

   POT  Proof-of-Transit

3.  MPLS Extensions for IOAM Data Fields

3.1.  IOAM Post-Stack Action Header

   The IOAM Post-Stack Action Header (PAH) is defined using the
   specification from [I-D.song-mpls-extension-header].

   The IOAM Post-Stack Action Header containing different Extension
   Headers (EHs) with IOAM-Data-Fields are added in the MPLS packet as
   shown in Figure 1.  The IOAM-Data-Fields MUST follow the definitions
   corresponding to the IOAM-Option-Types (e.g., see Section 4.4 of
   [RFC9197] and Section 3 of [RFC9326]).

Gandhi, et al.            Expires 14 July 2023                  [Page 4]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
   |1ST-NIB| EH-CN | EH-TOTAL-LEN  |ORG-UL-PROTOCOL|NEXT-HDR = IOAM| CH
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
   |NEXT-HDR = IOAM| IOAM-HDR-LEN  |R|IOAM-OPT-TYPE| BLOCK-NUMBER  | EH
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
   |                                                               |  I
   |                                                               |  O
   ~     IOAM Option and Data Space [RFC9197] [RFC9326]            ~  A
   |                                                               |  M
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
   .                                                               .
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
   | NEXT-HDR      | IOAM-HDR-LEN  |R|IOAM-OPT-TYPE| BLOCK-NUMBER  | EH
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
   |                                                               |  I
   |                                                               |  O
   ~     IOAM Option and Data Space [RFC9197] [RFC9326]            ~  A
   |                                                               |  M
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+
   |                                                               |
   |                                                               |
   ~               Optional Payload + Padding                      ~
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Figure 1: Post-Stack Action Header with IOAM Data Fields in
                             Extension Headers

   The 4-Octet Common Header CH) is added with the following fields in
   the MPLS Post-Stack Action Header as defined in
   [I-D.song-mpls-extension-header]:

   1ST-NIBBLE (R):  The first 4-bit is Reserved (value TBA3).

   EH-CN (EHC):  The EH Count, number of EHs carried in the Post-Stack
     Data of the packet.

   EH-TOTAL-LEN (EHTL):  Total Length of EHs in the Post-Stack Data of
     the packet in 4-octet units.

   ORIG-UL-PROTOCOL (OUL):  The Original Upper Layer Protocol.

   NEXT-HDR (NH):  The Next Header protocol.  For IOAM as Next Header,
     value TBA2 is to be assigned by IANA.

Gandhi, et al.            Expires 14 July 2023                  [Page 5]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

   An IOAM-Data-Field is added in an EH in the PAH containing the
   following fields:

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

   IOAM-HDR-LEN:  8-bit unsigned integer.  Length of the IOAM Header in
     4-octet units.

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

   BLOCK-NUMBER:  The Block Number 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.

3.2.  MNA Header for Post-Stack Network Action Presence Indicator and
      Scope

   The P flag for PNI (Post-Stack Network Action Presence Indicator)
   defined in [I-D.jags-mpls-mna-hdr] is used in this document to
   indicate the presence of IOAM Post-Stack Network Action and Ancillary
   Data.

   A Post-Stack Network Action Presence Indicator (P flag) MUST be set
   to "1" to indicate the presence of IOAM-Data-Fields in the MPLS
   header.

   The IHS scope field defined in [I-D.jags-mpls-mna-hdr] is used to
   indicate that E2E or HBH or Select processing is required for the
   Post-Stack 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 MNA Label used in this document is a Base Special Purpose Label
   (bSPL value TBA1 to be assigned by IANA), which is Network Action
   Sub-Stack Indicator [I-D.jags-mpls-mna-hdr].

Gandhi, et al.            Expires 14 July 2023                  [Page 6]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

   Opcode 2 is used to carry the Flag-Based Network Action Indicators
   (NAIs) in the Ancillary Data field [I-D.jags-mpls-mna-hdr].  The
   Flag-Based Network Action Indicators can be set to 0x0 to indicate
   that no Network Action other than the Post-Stack Network Action(s) is
   required for the packet.

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

   The Network Action Sub-Stack Length (NASL) is set to 0 when no
   additional Label Stack Entry (LSE) is added after the LSE carrying
   the P Flag.

   The MNA Label used in this document is a Base Special Purpose Label
   (bSPL value TBA1 to be assigned by IANA), which is the Network Action
   Sub-Stack Indicator [I-D.jags-mpls-mna-hdr].

4.  Edge-To-Edge IOAM Network Action

4.1.  MNA Header for Edge-To-Edge IOAM

   The Post-Stack Network Action Presence Indicator (P flag) is set to
   "1" to indicate the presence of IOAM-Data-Fields and the IHS scope is
   set to "I2E, value 0x0" to indicate the scope of E2E IOAM-Data-Fields
   in the MPLS header as shown in Figure 2.  Note that there may be
   additional Network Action (NA) LSEs added in the MNA Sub-Stack and
   NASL is updated based on the number of LSEs after the second LSE.

    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  |S|  TTL          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  MNA Label (bSPL value TBA1)          | TC  |S|  TTL          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Opcode=2   | Flag-Based NAIs         |P|IHS|S| Res |U|NASL=0 |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                Packet as shown in Figure 1                    |
    .                                                               .
    +---------------------------------------------------------------+

                 Figure 2: Example MNA Header for E2E IOAM

Gandhi, et al.            Expires 14 July 2023                  [Page 7]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

   The E2E IOAM-Data-Fields carry the 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 Direct Export (DEX) Option-Type
   (value 4) defined in [RFC9326].  The E2E 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 since IHS
   scope is set to "I2E, value 0x0".

4.2.  Procedure for Edge-To-Edge IOAM Network Action

   The E2E IOAM Network Action procedure is summarized as following:

   *  The encapsulating node inserts an MNA header with the MNA Label
      (bSPL value TBA1) with the Post-Stack Network Action Presence
      Indicator (P flag) set to "1" and IHS scope set to "I2E, value
      0x0" and one or more IOAM-Data-Fields in the Post-Stack Network
      Action Header in the MPLS packet.

   *  The intermediate nodes do not process IOAM-Data-Fields.

   *  The penultimate node MUST NOT remove the MNA Sub-Stack from the
      MPLS header so that the MNA Sub-Stack is received at the
      decapsulating node.  This encapsulating node adds required MPLS
      header so that the received packet on the penultimate node does
      not have MNA Sub-Stack at the top of the Label stack.

   *  The decapsulating node MAY punt a copy of the packet with the
      receive timestamp to the slow path for IOAM-Data-Fields processing
      when the node recognizes the P flag is set to "1".  The receive
      timestamp is required by the various E2E 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].  An example of IOAM processing is
      to export the IOAM-Data-Fields, send IOAM-Data-Fields via
      streaming telemetry, etc.

   *  The decapsulating node MUST remove the IOAM-Data-Fields from the
      received packet.  The decapsulated packet is forwarded downstream
      or terminated locally similar to the regular IOAM-Data-Fields.

5.  Hop-By-Hop IOAM Network Action

Gandhi, et al.            Expires 14 July 2023                  [Page 8]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

5.1.  MNA Header for Hop-By-Hop IOAM

   The Post-Stack Network Action Presence Indicator (P flag) is set to
   "1" to indicate the presence of IOAM-Data-Fields and the IHS scope is
   set to "HBH, value 0x1" to indicate the scope of HBH IOAM-Data-Fields
   in the MPLS header as shown in Figure 3.  Note that there may be
   additional Network Action (NA) LSEs added in the MNA Sub-Stack and
   NASL is updated based on the number of LSEs after the second LSE.

    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  |S|  TTL          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  MNA Label (bSPL value TBA1)          | TC  |S|  TTL          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Opcode=2   | Flag-Based NAIs         |P|IHS|S| Res |U|NASL=0 |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                Packet as shown in Figure 1                    |
    .                                                               .
    +---------------------------------------------------------------+

                 Figure 3: Example MNA Header for HBH IOAM

   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 Direct
   Export (DEX) Option-Type (value 4) defined in [RFC9326].

5.2.  Procedure for Hop-By-Hop IOAM Network Action

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

   *  The encapsulating node inserts an MNA header containing MNA Label
      (bSPL value TBA1) with the Post-Stack Network Action Presence
      Indicator (P flag) and IHS scope set to "HBH, value 0x1" and one
      or more IOAM-Data-Fields in the Post-Stack Network Action Header
      in the MPLS packet.

Gandhi, et al.            Expires 14 July 2023                  [Page 9]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

   *  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 MPLS
      header.

   *  The intermediate node MAY punt a copy of the packet with the
      receive timestamp to the slow path for IOAM-Data-Fields 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 a copy of the processed data packet
      downstream.

   *  The processing on the penultimate node is same as E2E case.

   *  The processing on the decapsulating node is same as E2E case.

5.3.  Hop-By-Hop and Edge-To-Edge IOAM Extension Headers

   Both HBH and E2E IOAM EHs may be added in an MPLS header.  In this
   case the HBH IOAM EHs MUST be added after the BOS and before the E2E
   IOAM EHs.  When an intermediate node that processes the HBH IOAM EHs,
   encounters the first E2E IOAM EH, it will stop processing of the E2E
   EH.

5.4.  Procedure for Select IOAM Network Action

   The procedure for carrying the IOAM EHs for Select Scope is the same
   as HBH Scope IOAM except the IHS scope is set to "Select, value 0x2".
   In this case, only the select nodes will process the IOAM-Data-
   Fields.

6.  Considerations for IOAM

6.1.  Considerations for ECMP

   The encapsulating node needs to make sure the IOAM-Data-Fields do not
   start with a well-known IP Version Number (e.g. 0x4 for IPv4 and 0x6
   for IPv6) as that can alter the hashing function for ECMP that uses
   the IP header.  This is achieved by using the Common Header (CH) 1ST-
   NIBBLE field with a different IP Version Number (value TBA3) after
   the MPLS label stack.

Gandhi, et al.            Expires 14 July 2023                 [Page 10]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

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

6.3.  Nested MPLS Encapsulation

   When a packet is received with MPLS Encapsulated IOAM Network Action,
   the nested MPLS encapsulating node that supports a different IOAM
   Network Action, the node MUST add a new MNA Label (with Sub-Stack)
   with the supported IOAM Network Action as part of the new MPLS
   encapsulation.

7.  Security Considerations

   The security considerations of IOAM in general are discussed in
   [RFC9197] and apply to the procedure defined in this document.

   IOAM is considered a "per domain" feature, where one or several
   operators decide on configuring IOAM according to their needs.  IOAM
   is intended for deployment in limited domains [RFC8799].  As such, it
   assumes that a node involved in IOAM operation has previously
   verified the integrity of the path.  Still, operators need to
   properly secure the IOAM domain to avoid malicious configuration and
   use, which could include injecting malicious IOAM packets into the
   domain.

8.  IANA Considerations

   The MNA Label (bSPL) with value TBA1 is allocated by IANA as
   requested by [I-D.jags-mpls-mna-hdr].

   The 1ST-NIBBLE field with value TBA3 in the Common Header is
   allocated by IANA as requested by [I-D.song-mpls-extension-header].

Gandhi, et al.            Expires 14 July 2023                 [Page 11]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

   The encoding of Next-Header uses the same value registry for IPv4/
   IPv6 protocol numbers.  The value TBA2 for IOAM as Next Header shall
   be assigned by IANA from the "Protocol Numbers" registry
   (https://www.iana.org/assignments/protocol-numbers/protocol-
   numbers.xhtml).

   +=========+=========+==========+=======================+===========+
   | Decimal | Keyword | Protocol | IPv6 Extension Header | Reference |
   +=========+=========+==========+=======================+===========+
   | TBA2    |   IOAM  | In Situ  |           N           |    This   |
   |         |         |   OAM    |                       |  document |
   +---------+---------+----------+-----------------------+-----------+

               Table 1: Assigned Internet Protocol Numbers

9.  References

9.1.  Normative References

   [I-D.jags-mpls-mna-hdr]
              Rajamanickam, J., Ed., Gandhi, R., Ed., Zigler, R., Ed.,
              Song, H., Ed., and K. Kompella, Ed., "MPLS Network Action
              Header Encodings", Work in Progress, Internet-Draft,
              draft-jags-mpls-mna-hdr-05, January 2023,
              <https://www.ietf.org/archive/id/draft-jags-mpls-mna-hdr-
              05.txt>.

   [I-D.song-mpls-extension-header]
              Song, H., Zhou, T., Andersson, L., Zhang, Z., and R.
              Gandhi, "MPLS Network Actions using Post-Stack Extension
              Headers", Work in Progress, Internet-Draft, draft-song-
              mpls-extension-header-11, 15 October 2022,
              <https://www.ietf.org/archive/id/draft-song-mpls-
              extension-header-11.txt>.

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

   [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., Bhandari, S., and T. Mizrahi, "Data Fields
              for In Situ Operations, Administration, and Maintenance",
              RFC 9197, May 2022,
              <https://www.rfc-editor.org/info/rfc9197>.

Gandhi, et al.            Expires 14 July 2023                 [Page 12]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

   [RFC9326]  Song, H., Gafni, B., Brockners, F., Bhandari, S., and T.
              Mizrahi, "In Situ Operations, Administration, and
              Maintenance OAM Direct Exporting", RFC 9326, November
              2022, <https://www.rfc-editor.org/info/rfc9326>.

9.2.  Informative References

   [I-D.ietf-mpls-mna-fwk]
              Andersson, L., Bryant, S., Bocci, M., and T. Li, "MPLS
              Network Actions Framework", Work in Progress, Internet-
              Draft, draft-ietf-mpls-mna-fwk-02.txt, 21 October 2022,
              <https://www.ietf.org/archive/id/draft-ietf-mpls-mna-fwk-
              02.txt>.

   [RFC8799]  Carpenter, B. and B. Liu, "Limited Domains and Internet
              Protocols", RFC 8799, DOI 10.17487/RFC8799, July 2020,
              <https://www.rfc-editor.org/info/rfc8799>.

Acknowledgements

   The authors would like to thank Patrick Khordoc, Sagar Soni, Shwetha
   Bhandari, Clarence Filsfils, and Vengada Prasad Govindan for the
   discussions on IOAM.  The authors would also like to thank Tarek
   Saad, Loa Andersson, Greg Mirsky, Stewart Bryant, Xiao Min, 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 reviews.

Contributors

   The following people have substantially contributed to this document:

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

   Voitek Kozak
   Comcast
   Email: Voitek_Kozak@comcast.com

Authors' Addresses

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

Gandhi, et al.            Expires 14 July 2023                 [Page 13]
Internet-Draft       In Situ OAM for MPLS Data plane        January 2023

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

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

   Bruno Decraene
   Orange
   Email: bruno.decraene@orange.com

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

Gandhi, et al.            Expires 14 July 2023                 [Page 14]