Skip to main content

Use Cases for MPLS Network Action Indicators and MPLS Ancillary Data

Document Type Active Internet-Draft (mpls WG)
Authors Tarek Saad , Kiran Makhijani , Haoyu Song , Greg Mirsky
Last updated 2024-04-02 (Latest revision 2024-02-10)
Replaces draft-saad-mpls-miad-usecases
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status (None)
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd Tony Li
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to,
MPLS Working Group                                               T. Saad
Internet-Draft                                       Cisco Systems, Inc.
Intended status: Informational                              K. Makhijani
Expires: 13 August 2024                                          H. Song
                                                  Futurewei Technologies
                                                               G. Mirsky
                                                        10 February 2024

  Use Cases for MPLS Network Action Indicators and MPLS Ancillary Data


   This document presents a number of use cases that have a common need
   for encoding network action indicators and associated ancillary data
   inside MPLS packets.  There has been significant recent interest in
   extending the MPLS data plane to carry such indicators and ancillary
   data to address a number of use cases that are described in this

   The use cases described in this document are not an exhaustive set,
   but rather the ones that are actively discussed by members of the
   IETF MPLS, PALS, and DetNet.

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

   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 13 August 2024.

Copyright Notice

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

Saad, et al.             Expires 13 August 2024                 [Page 1]
Internet-Draft                MNA Usecases                 February 2024

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (
   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
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
     1.2.  Conventions used in this document . . . . . . . . . . . .   3
       1.2.1.  Keywords  . . . . . . . . . . . . . . . . . . . . . .   3
       1.2.2.  Acronyms and Abbreviations  . . . . . . . . . . . . .   3
   2.  Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.1.  No Further Fastreroute  . . . . . . . . . . . . . . . . .   4
     2.2.  In-situ OAM . . . . . . . . . . . . . . . . . . . . . . .   4
     2.3.  Network Slicing . . . . . . . . . . . . . . . . . . . . .   5
     2.4.  NSH-based Service Function Chaining . . . . . . . . . . .   6
     2.5.  Network Programming . . . . . . . . . . . . . . . . . . .   6
   3.  Existing MPLS Use cases . . . . . . . . . . . . . . . . . . .   7
   4.  Co-existence of the MNA Usecases  . . . . . . . . . . . . . .   7
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  Acknowledgement . . . . . . . . . . . . . . . . . . . . . . .   8
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   8
   Appendix A.  Use Cases for Continued Discussion . . . . . . . . .  11
     A.1.  Generic Delivery Functions  . . . . . . . . . . . . . . .  11
     A.2.  Delay Budgets for Time-Bound Applications . . . . . . . .  11
     A.3.  Stack-Based Methods for Latency Control . . . . . . . . .  12
   Contributors' Addresses . . . . . . . . . . . . . . . . . . . . .  12
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   This document describes cases that introduce functions that are based
   on special processing by forwarding hardware.  Previously, that
   required the allocation of a new special-purpose label or extended
   special-purpose label.  To conserve that limited resource, an MPLS
   Network Action (MNA) approach was introduced to extend the MPLS
   architecture.  MNA is expected to enable functions that may require
   carrying additional ancillary data within the MPLS packets, as well
   as means to indicate the ancillary data is present and a specific
   action needs to be performed on the packet.  The MPLS Ancillary Data

Saad, et al.             Expires 13 August 2024                 [Page 2]
Internet-Draft                MNA Usecases                 February 2024

   (AD) can be classified as:

   *  implicit or "no-data" associated with a Network Action Indicator

   *  residing within the MPLS label stack and referred to as In Stack
      Data (ISD), and

   *  residing after the Bottom of the MPLS label Stack (BoS) and
      referred to as Post Stack Data (PSD).

1.1.  Terminology

   The following terminology is used in the document:

   RFC XXXX Network Slice:
      a well-defined composite of a set of endpoints, the connectivity
      requirements between subsets of these endpoints, and associated
      requirements; the term 'network slice' in this document refers to
      'RFC XXXX network slice' as defined in

1.2.  Conventions used in this document

1.2.1.  Keywords

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "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.

1.2.2.  Acronyms and Abbreviations

      ISD: In-stack data

      PSD: Post-stack data

      MNA: MPLS Network Action

      NAI: Network Action Indicator

      AD: Ancillary Data

      DEX: Direct Export

      GDF: Generic Delivery Function

Saad, et al.             Expires 13 August 2024                 [Page 3]
Internet-Draft                MNA Usecases                 February 2024

      E2E: Edge-to-Edge

      HbH: Hop-by-Hop

      PW: Pseudowire

      BoS: Bottom of Stack

      ToS: Top of Stack

      NSH: Network Service Header

      FRR: Fast Reroute

      IOAM: In-situ Operations, Administration, and Mantenance

      FAS: Flow Aggregate Selector

      G-ACh: Generic Associated Channel

2.  Use Cases

2.1.  No Further Fastreroute

   MPLS Fast Reroute (FRR) [RFC4090], [RFC5286] and [RFC7490] is a
   useful and widely deployed tool for minimizing packet loss in the
   case of a link or node failure.

   Several cases exist where, once an FRR has taken place in an MPLS
   network and resulted in rerouting a packet away from the failure, a
   second FRR impacts the same packet on another node, and may result in
   traffic disruption.

   In such a case, the packet impacted by multiple FRR events may
   continue to loop between the LSRs that activated FRR until the
   packet's TTL expires.  This can lead to link congestion and further
   packet loss.

2.2.  In-situ OAM

   In-situ Operations, Administration, and Maintenance (IOAM), defined
   in [RFC9197] and [RFC9326], might be used to collect operational and
   telemetry information while a packet traverses a particular path in a
   network domain.

   IOAM can run in two modes: Edge-to-Edge (E2E) and Hop-by-Hop (HbH).
   In E2E mode, only the encapsulating and decapsulating nodes will
   process IOAM data fields.  In HbH mode, the encapsulating and

Saad, et al.             Expires 13 August 2024                 [Page 4]
Internet-Draft                MNA Usecases                 February 2024

   decapsulating nodes, as well as intermediate IOAM-capable nodes,
   process IOAM data fields.  The IOAM data fields, defined in
   [RFC9197], can be used to derive the operational state of the network
   experienced by the packet with the IOAM Header that traversed the
   path through the IOAM domain.

   Several IOAM Trace Options have been defined:

   *  Pre-allocated and Incremental

   *  Edge-to-Edge

   *  Proof-of-Transit

   *  Direct Export (DEX)

   In all IOAM Trace Options except for the Direct Export (DEX), the
   collected information is transported in the trigger IOAM packet.  In
   the IOAM DEX Option [RFC9326], the operational state and telemetry
   information are collected according to a specified profile and
   exported in a manner and format defined by a local policy.  In IOAM
   DEX, the user data packet is only used to trigger the IOAM data to be
   directly exported or locally aggregated without being carried in the
   IOAM trigger packets.

2.3.  Network Slicing

   An RFC XXXX Network Slice service
   ([I-D.ietf-teas-ietf-network-slices]) provides connectivity coupled
   with a set of network resource commitments and is expressed in terms
   of one or more connectivity constructs.
   [I-D.ietf-teas-ietf-network-slices] also defines a Network Resource
   Partition (NRP) Policy as a policy construct that enables the
   instantiation of mechanisms to support one or more network slice
   services.  The packets associated with an NRP may carry a marking in
   their network layer header to identify this association, which is
   referred to as an NRP Selector.  The NRP Selector is used to map a
   packet to the associated set of network resources and provide the
   corresponding forwarding treatment onto the packet.

   A router that requires the forwarding of a packet that belongs to an
   NRP may have to decide on the forwarding action to take based on
   selected next-hop(s), and the forwarding treatment (e.g., scheduling
   and drop policy) to enforce based on the associated per-hop behavior.

Saad, et al.             Expires 13 August 2024                 [Page 5]
Internet-Draft                MNA Usecases                 February 2024

   In this case, the routers that forward traffic over resources that
   are shared by multiple NRPs need to identify the slice aggregate
   packets in order to enforce their respective forwarding action and

   A dedicated identifier that is independent of forwarding can be
   carried and used in the packet as an NRP Selector.  In MPLS, the NRP
   Selector can be carried in a packet in the MPLS header.

2.4.  NSH-based Service Function Chaining

   [RFC8595] describes how Service Function Chaining can be realized in
   an MPLS network by emulating the Network Service Header (NSH) using
   only MPLS label stack elements.

   The approach in [RFC8595] introduces some limitations that are
   discussed in [I-D.lm-mpls-sfc-path-verification].  This approach,
   however, can benefit from the framework introduced with MNA in

   For example, it may be possible to extend NSH emulation using MPLS
   labels [RFC8595] to support the functionality of NSH Context Headers,
   whether fixed or variable-length.  One of the use cases could support
   Flow ID [RFC9263] that may be used for load-balancing among Service
   Function Forwarders and/or the Service Function within the same
   Service Function Path.

2.5.  Network Programming

   In SR, an ingress node steers a packet through an ordered list of
   instructions called "segments".  Each one of these instructions
   represents a function to be called at a specific location in the
   network.  A function is locally defined on the node where it is
   executed and may range from simply moving forward in the segment list
   to any complex user-defined behavior.

   Network Programming combines Segment Routing (SR) functions to
   achieve a networking objective that goes beyond mere packet routing.

   It may be desirable to encode a pointer to a function and its
   arguments within an MPLS packet transport header.  For example, in
   MPLS, we can encode the FUNC::ARGs within the label stack or after
   the Bottom of Stack (BoS) to support the equivalent of FUNC::ARG in
   SRv6 as described in [RFC8986].

Saad, et al.             Expires 13 August 2024                 [Page 6]
Internet-Draft                MNA Usecases                 February 2024

3.  Existing MPLS Use cases

   There are several services that can be transported over MPLS networks
   today.  These include providing Layer-3 (L3) connectivity (e.g., for
   unicast and multicast L3 services), and Layer-2 (L2) connectivity
   (e.g., for unicast Pseudowires (PWs), multicast E-Tree, and broadcast
   E-LAN L2 services).  In those cases, the user service traffic is
   encapsulated as the payload in MPLS packets.

   For L2 service traffic, it is possible to use A Control Word (CW)
   [RFC4385] and [RFC5085] immediately after the MPLS header to
   disambiguate the type of MPLS payload, prevent possible packet
   misordering, and allow for fragmentation.  In this case, the first
   nibble the data that immediately follows after the MPLS BoS is set to
   0000b to identify the presence of PW CW.

   In addition to providing connectivity to user traffic, MPLS may also
   transport OAM data (e.g., over MPLS Generic Associated Channels
   (G-AChs) [RFC5586]).  In this case, the first nibble of the data that
   immediately follows after the MPLS BoS is set to 0001b.  It indicates
   the presence of a control channel associated witha PW, LSP, or

   Bit Index Explicit Replication (BIER) [RFC8296] traffic can also be
   encapsulated over MPLS.  In this case, BIER has defined 0101b as the
   value for the first nibble in the data that immediately appears after
   the bottom of the label stack for any BIER encapsulated packet over

   For pseudowires, the G-ACh uses the first four bits of the PW control
   word to provide the initial discrimination between data packets and
   packets belonging to the associated channel, as described in

   It is expected that new use cases described in this document will
   allow for the co-existance and backward compatibility with all such
   existing MPLS services.

4.  Co-existence of the MNA Usecases

   Two or more of the aforementioned use cases MAY co-exist in the same
   packet.  This may require the presence of multiple ancilary data
   (whether In-stack or Post-stack ancillary data) to be present in the
   same MPLS packet.

Saad, et al.             Expires 13 August 2024                 [Page 7]
Internet-Draft                MNA Usecases                 February 2024

   For example, IOAM may provide key functions along with network
   slicing to help ensure that critical network slice SLOs are being met
   by the network provider.  In this case, IOAM is able to collect key
   performance measurement parameters of network slice traffic flow as
   it traverses the transport network.

5.  IANA Considerations

   This document has no IANA actions.

6.  Security Considerations

   This document introduces no new security considerations.

7.  Acknowledgement

   The authors gratefully acknowledge the input of the members of the
   MPLS Open Design Team.

8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <>.

8.2.  Informative References

              Andersson, L., Bryant, S., Bocci, M., and T. Li, "MPLS
              Network Actions Framework", Work in Progress, Internet-
              Draft, draft-ietf-mpls-mna-fwk-06, 24 January 2024,

Saad, et al.             Expires 13 August 2024                 [Page 8]
Internet-Draft                MNA Usecases                 February 2024

              Farrel, A., Drake, J., Rokui, R., Homma, S., Makhijani,
              K., Contreras, L. M., and J. Tantsura, "A Framework for
              Network Slices in Networks Built from IETF Technologies",
              Work in Progress, Internet-Draft, draft-ietf-teas-ietf-
              network-slices-25, 14 September 2023,

              Liu, Y. and G. Mirsky, "MPLS-based Service Function
              Path(SFP) Consistency Verification", Work in Progress,
              Internet-Draft, draft-lm-mpls-sfc-path-verification-03, 11
              June 2022, <

              Stein, Y. J., "Segment Routed Time Sensitive Networking",
              Work in Progress, Internet-Draft, draft-stein-srtsn-01, 29
              August 2021, <

              Zhang, Z. J., Bonica, R., Kompella, K., and G. Mirsky,
              "Generic Delivery Functions", Work in Progress, Internet-
              Draft, draft-zzhang-intarea-generic-delivery-functions-03,
              11 July 2022, <

   [RFC4090]  Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast
              Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090,
              DOI 10.17487/RFC4090, May 2005,

   [RFC4385]  Bryant, S., Swallow, G., Martini, L., and D. McPherson,
              "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for
              Use over an MPLS PSN", RFC 4385, DOI 10.17487/RFC4385,
              February 2006, <>.

   [RFC5085]  Nadeau, T., Ed. and C. Pignataro, Ed., "Pseudowire Virtual
              Circuit Connectivity Verification (VCCV): A Control
              Channel for Pseudowires", RFC 5085, DOI 10.17487/RFC5085,
              December 2007, <>.

   [RFC5286]  Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for
              IP Fast Reroute: Loop-Free Alternates", RFC 5286,
              DOI 10.17487/RFC5286, September 2008,

Saad, et al.             Expires 13 August 2024                 [Page 9]
Internet-Draft                MNA Usecases                 February 2024

   [RFC5586]  Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed.,
              "MPLS Generic Associated Channel", RFC 5586,
              DOI 10.17487/RFC5586, June 2009,

   [RFC7490]  Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N.
              So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)",
              RFC 7490, DOI 10.17487/RFC7490, April 2015,

   [RFC8296]  Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
              Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation
              for Bit Index Explicit Replication (BIER) in MPLS and Non-
              MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January
              2018, <>.

   [RFC8595]  Farrel, A., Bryant, S., and J. Drake, "An MPLS-Based
              Forwarding Plane for Service Function Chaining", RFC 8595,
              DOI 10.17487/RFC8595, June 2019,

   [RFC8986]  Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
              D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
              (SRv6) Network Programming", RFC 8986,
              DOI 10.17487/RFC8986, February 2021,

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

   [RFC9263]  Wei, Y., Ed., Elzur, U., Majee, S., Pignataro, C., and D.
              Eastlake 3rd, "Network Service Header (NSH) Metadata Type
              2 Variable-Length Context Headers", RFC 9263,
              DOI 10.17487/RFC9263, August 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,

Saad, et al.             Expires 13 August 2024                [Page 10]
Internet-Draft                MNA Usecases                 February 2024

Appendix A.  Use Cases for Continued Discussion

   A number of use cases for which MNA can provide a viable solution
   have been brought up.  The discussion of these aspirational cases is

A.1.  Generic Delivery Functions

   The Generic Delivery Functions (GDFs), defined in
   [I-D.zzhang-intarea-generic-delivery-functions], provide a new
   mechanism to support functions analogous to those supported through
   the IPv6 Extension Headers mechanism.  For example, GDF can support
   fragmentation/reassembly functionality in the MPLS network by using
   the Generic Fragmentation Header.  MNA can support GDF by placing a
   GDF header in an MPLS packet within the Post-Stack Data block
   [I-D.ietf-mpls-mna-fwk].  Multiple GDF headers can also be present in
   the same MPLS packet organized as a list of headers.

A.2.  Delay Budgets for Time-Bound Applications

   The routers in a network can perform two distinct functions on
   incoming packets, namely forwarding (where the packet should be sent)
   and scheduling (when the packet should be sent).  IEEE-802.1 Time
   Sensitive Networking (TSN) and Deterministic Networking provide
   several mechanisms for scheduling under the assumption that routers
   are time-synchronized.  The most effective mechanisms for delay
   minimization involve per-flow resource allocation.

   Segment Routing (SR) is a forwarding paradigm that allows encoding
   forwarding instructions in the packet in a stack data structure
   rather than being programmed into the routers.  The SR instructions
   are contained within a packet in the form of a First-in First-out
   stack dictating the forwarding decisions of successive routers.
   Segment routing may be used to choose a path sufficiently short to be
   capable of providing a bounded end-to-end latency but does not
   influence the queueing of individual packets in each router along
   that path.

   When carried over the MPLS data plane, a solution is required to
   enable the delivery of such packets that can be delivered to their
   final destination within a given time budget.  One approach to
   address this usecase in SR-MPLS was described in [I-D.stein-srtsn].

Saad, et al.             Expires 13 August 2024                [Page 11]
Internet-Draft                MNA Usecases                 February 2024

A.3.  Stack-Based Methods for Latency Control

   One efficient data structure for inserting local deadlines into the
   headers is a "stack", similar to that used in Segment Routing to
   carry forwarding instructions.  The number of deadline values in the
   stack equals the number of routers the packet needs to traverse in
   the network, and each deadline value corresponds to a specific
   router.  The Top-of-Stack (ToS) corresponds to the first router's
   deadline, while the BoS refers to the last.  All local deadlines in
   the stack are later or equal to the current time (upon which all
   routers agree), and times closer to the ToS are always earlier or
   equal to times closer to the BoS.

   The ingress router inserts the deadline stack into the packet
   headers; no other router needs to be aware of the requirements of the
   time-bound flows.  Hence, admitting a new flow only requires updating
   the information base of the ingress router.

   MPLS LSRs that expose the ToS label can also inspect the associated
   "deadline" carried in the packet (either in the MPLS stack as ISD or
   after BoS as PSD).

Contributors' Addresses

   Loa Anderssen
   Bronze Dragon Consulting

Authors' Addresses

   Tarek Saad
   Cisco Systems, Inc.

   Kiran Makhijani
   Futurewei Technologies

   Haoyu Song
   Futurewei Technologies

   Greg Mirsky

Saad, et al.             Expires 13 August 2024                [Page 12]
Internet-Draft                MNA Usecases                 February 2024


Saad, et al.             Expires 13 August 2024                [Page 13]