MPLS Working Group G. Mirsky Internet-Draft Ericsson Intended status: Standards Track M. Boucadair Expires: 24 April 2025 Orange T. Li Juniper Networks 21 October 2024 Supporting In-Situ Operations, Administration, and Maintenance Direct Export Using MPLS Network Actions draft-mb-mpls-ioam-dex-09 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 that can be used to calculate various performance metrics. IOAM Direct Export (IOAM-DEX) is one of the IOAM Option types, 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 on-path operational state, and telemetry information can be collected using IOAM-DEX Option in combination with MNA. 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 24 April 2025. Mirsky, et al. Expires 24 April 2025 [Page 1] Internet-Draft IOAM-DEX Over MNA October 2024 Copyright Notice Copyright (c) 2024 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 . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions Used in this Document . . . . . . . . . . . . . . 3 2.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 3. Applicability of IOAM Option Types in an MPLS Network . . . . 3 4. Realization of IOAM-DEX as an MPLS Network Action . . . . . . 4 4.1. IOAM-DEX Format for an MPLS Network . . . . . . . . . . . 4 4.2. IOAM-DEX-MNA Encoding as In-Stack Data MPLS Network Action . . . . . . . . . . . . . . . . . . . . . . . . . 6 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 5.1. IOAM-DEX-MNA as an MPLS Network Action Opcode . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 8.1. Normative References . . . . . . . . . . . . . . . . . . 8 8.2. Informational References . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 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 Mirsky, et al. Expires 24 April 2025 [Page 2] Internet-Draft IOAM-DEX Over MNA October 2024 [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 Option. Specifying the mechanism of exporting collected information is outside the scope of this document. 2. Conventions Used in this Document 2.1. Acronyms IOAM: In-Situ OAM IOAM-DEX: IOAM Direct Export IOAM-DEX-MNA: IOAM Direct Export in MPLS Network Action ISD: In-Stack Data LSP: Label Switched Path LSE: Label Stack Entry MPLS: Multiprotocol Label Switching MNA: MPLS Network Action NAI: Network Action Indicator 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. But for other use cases in which network Mirsky, et al. Expires 24 April 2025 [Page 3] Internet-Draft IOAM-DEX Over MNA October 2024 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 [RFC9326] 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. The performance considerations discussed in Section 5 of [RFC9326] are applicable here. 4. Realization of IOAM-DEX as an MPLS Network Action 4.1. IOAM-DEX Format for an MPLS Network [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 Optin 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 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| Namespace-ID | Resv |S| Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| IOAM-Trace-Type-MNA |S|O|R| Ext-Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flow ID MNA (Optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number MNA (Optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: IOAM Direct Export Option Type Format in an MPLS Network Action Framework Mirsky, et al. Expires 24 April 2025 [Page 4] Internet-Draft IOAM-DEX Over MNA October 2024 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]. * 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. * 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-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 positins is for further study. Figure 2 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. Mirsky, et al. Expires 24 April 2025 [Page 5] Internet-Draft IOAM-DEX Over MNA October 2024 * 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| +-+-+-+-+-+-+ Figure 2: 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-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-MNA header. * U - unassigned one-bit flag. It MUST be zeroed on transmission and the value MUST be ignored upon receipt. 4.2. IOAM-DEX-MNA Encoding as In-Stack Data MPLS Network Action To support the direct export of the operational state and telemetry information, the IOAM-DEX-MNA blob (binary large object), as shown in Figure 1 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-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 3). Policies Mirsky, et al. Expires 24 April 2025 [Page 6] Internet-Draft IOAM-DEX Over MNA October 2024 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 bSPL | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode = TBA1 | Data |P|IHS|S| Res |U| NASL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ IOAM-DEX-MNA ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: An Example of IOAM-DEX Encapsulation as an MNA Opcode Where the enclosed elements are defined as follows: * MNA bSPL is a base Special Purpose Label 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]. * NASL - number of LSEs that compose the IOAM-DEX-MNA blob. * Opcode is MNA-IOAM-DEX opcode (TBA1) assigned by IANA Section 5.1. * IOAM-DEX-MNA - IOAM Direct Export in MPLS Network Action encoding 5. IANA Considerations 5.1. IOAM-DEX-MNA as an MPLS Network Action Opcode IANA is requested to assign an IOAM-DEX-MNA codepoint (TBA1) from its Network Action Opcodes registry (creation requested in [I-D.ietf-mpls-mna-hdr]) as specified in Table 1. Mirsky, et al. Expires 24 April 2025 [Page 7] Internet-Draft IOAM-DEX Over MNA October 2024 +========+==========================+===============+ | Opcode | Description | Reference | +========+==========================+===============+ | TBA1 | IOAM-DEX as MPLS Network | This document | | | Action Indicator | | +--------+--------------------------+---------------+ Table 1: IOAM-DEX as MPLS Network Action Opcode 6. Security Considerations Security considerations discussed in [RFC9197], [RFC9326], and [I-D.ietf-mpls-mna-fwk] apply to this document. 7. Acknowledgments The authors exxpress their sincereappreciation to Loa Andersson for his thorough review and thoughtful suggestion that helped in improving this document. 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-10, 6 August 2024, . [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- 08, 30 August 2024, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, . Mirsky, et al. Expires 24 April 2025 [Page 8] Internet-Draft IOAM-DEX Over MNA October 2024 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC9197] Brockners, F., Ed., Bhandari, S., Ed., and T. Mizrahi, Ed., "Data Fields for In Situ Operations, Administration, and Maintenance (IOAM)", RFC 9197, DOI 10.17487/RFC9197, May 2022, . [RFC9326] Song, H., Gafni, B., Brockners, F., Bhandari, S., and T. Mizrahi, "In Situ Operations, Administration, and Maintenance (IOAM) Direct Exporting", RFC 9326, DOI 10.17487/RFC9326, November 2022, . 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, . [IANA-IOAM-Trace-Type] IANA, "IOAM 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, . Authors' Addresses Greg Mirsky Ericsson Email: gregimirsky@gmail.com Mohamed Boucadair Orange 35000 Rennes France Email: mohamed.boucadair@orange.com Mirsky, et al. Expires 24 April 2025 [Page 9] Internet-Draft IOAM-DEX Over MNA October 2024 Tony Li Juniper Networks Email: tony.li@tony.li Mirsky, et al. Expires 24 April 2025 [Page 10]