Supporting In-Situ OAM Direct Export Using MPLS Network Actions
Internet-Draft draft-mb-mpls-ioam-dex-00
Greg Mirsky
Ericsson
gregimirsky@gmail.com
Mohamed Boucadair
Orange
35000 Rennes
France
mohamed.boucadair@orange.com
2022
Routing
MPLS Working Group
Internet-Draft
IOAM
MPLS Network Action
In-Situ Operations, Administration, and Maintanence (IOAM), defined in RFC 9197, is an on-path telemetry method to collect and transport the operational state and telemetry information that can be used in calculating various performance metrics. IOAM Direct Export (IOAM-DEX) is one of IOAM Trace-Option types, in which generated telemetry information is exported according to 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 how MNA can be used for collecting on-path operational state and telemetry information using IOAM-DEX Trace-Option.
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 in calculating various performance metrics. Several IOAM Trace-Option types (e.g., Pre-allocated and Incremental) use the user packet themselves 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) [I-D.ietf-ippm-ioam-direct-export] is an IOAM Trace-Option type in which the operational state and telemetry information are exported according to 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.
This document describes how MNA can be used for collecting on-path operational state and telemetry information using IOAM-DEX Trace-Option. Specifying the mechanism of exporting collected information is outside the scope of this document.
Conventions Used in this Document

Acronyms
IOAM: In-Situ OAM
IOAM-DEX: IOAM Direct Export
ISD: In-Stack Data
LSP: Label Switched Path
MPLS: Multiprotocol Label Switching
MNA: MPLS Network Actions
PSD: Post-Stack Data
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.
Applicability of IOAM Trace-Option Types in an MPLS Network
Pre-allocated, Incremental, and Edge-to-Edge IOAM Trace-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. But for other use cases in which network resources are closely controlled, the use of in-band channels for collecting and transporting the telemetry information 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 out-of-band using the management plane is a viable option for some environments. IOAM-DEX [I-D.ietf-ippm-ioam-direct-export] is used to collect IOAM data 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.
[I-D.ietf-ippm-ioam-direct-export] defines the IOAM-DEX Option-Type format as shown in Figure 1.
IOAM Direct Export Option Type Format

  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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Namespace-ID           |     Flags     |Extension-Flags|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               IOAM-Trace-Type                 |   Reserved    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Flow ID (Optional)                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Sequence Number  (Optional)               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 2 displays the detailed format of the Extension-Flags field that indicates presence of the optional Flow ID and/or Sequence Number fields in the IOAM-DEX header.
Extension-Flags Field Format

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

Where elements 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 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 header.
- U - unassigned one-bit flag. It MUST be zeroed on transmission and the value MUST be ignored upon receipt.
Realization of IOAM-DEX as an 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. Figure 3 displays an example of MNA elements encapsulated in an MPLS packet. The exact format will be defined in future MNA solution document(s).
An Example of MPLS Network Action

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---
|  Network Action Sub-Stack Indicator   |  U  |S|       U       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ NAS
~           MNA  Indicators                   |S|               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---
~         In-Stack Data Block                 |S|               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---
|                                             |1|               | BoS
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---
~                     Post-Stack Data Block                     ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                         Packet Payload                        ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Where the enclosed elements are defined as follows:
- Network Action Sub-Stack Indicator (NSI) is a Base Special Purpose Label assigned by IANA.
- U - unassigned fields in a Label Stack Element.
- S - Bottom-of-Stack field.
- MNA Indicators is a field listing requested MNAs.
- In-Stack Data (ISD) Block includes ancillary data elements in support of MNAs as defined in [I-D.ietf-mpls-mna-fwk].
- Post-Stack Data (PSD) Block includes data elements in support of MNAs as defined in [I-D.ietf-mpls-mna-fwk].
In order to support direct export of the operational state and telemetry information, the IOAM-DEX blob (binary large object) Figure 1 can be placed as part of the ISD block in an MPLS label stack. In doing so, the IOAM-DEX can be used for hop-by-hop and edge-to-edge collection of the operational state and telemetry information. The length of the enclosed IOAM-DEX is determined as a function of the flag setting (Figure 2). Policies controlling the processing of the collected information and its transport are outside the scope of this document.
The performance considerations discussed in Section of 5 of [I-D.ietf-ippm-ioam-direct-export] are applicable here.
IANA Considerations
IANA is requested to assign an IOAM-DEX Network Action Indicator from its X registry.
Security Considerations
Security considerations discussed in [RFC9197], [I-D.ietf-ippm-ioam-direct-export], and [I-D.ietf-mpls-mna-fwk] apply to this document.
Acknowledgments
TBD
References
Normative References
Informational References
[RFC9197]
[I-D.ietf-ippm-ioam-direct-export]
[I-D.ietf-mpls-mna-fwk]
[RFC2119]
[RFC8174]
[RFC8969]
[I-D.ietf-mpls-mna-usecases]