Skip to main content

MNA for Metadata in SR-MPLS Service Programming
draft-liu-mpls-mna-sr-service-metadata-01

Document Type Active Internet-Draft (individual)
Author Yao Liu
Last updated 2025-06-23
Replaces draft-liu-spring-sr-sfc-metadata
RFC stream (None)
Intended RFC status (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-liu-mpls-mna-sr-service-metadata-01
MPLS                                                              Y. Liu
Internet-Draft                                                       ZTE
Intended status: Standards Track                            23 June 2025
Expires: 25 December 2025

            MNA for Metadata in SR-MPLS Service Programming
               draft-liu-mpls-mna-sr-service-metadata-01

Abstract

   This document defines MPLS Network Action(MNA) encoding to carry
   metadata in SR service programming with SR-MPLS data plane.

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 25 December 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.

Liu                     Expires 25 December 2025                [Page 1]
Internet-Draft              MNA for Metadata                   June 2025

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
     2.1.  Acronyms  . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.2.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   3.  MPLS Network Action ISD encoding for Metadata in SR-MPLS
           Service Programming . . . . . . . . . . . . . . . . . . .   3
     3.1.  Fixed-Length Service Metadata . . . . . . . . . . . . . .   3
     3.2.  Variable-Length Service Metadata  . . . . . . . . . . . .   4
   4.  Post-Stack MNA Encoding for Metadata in SR-MPLS Service
           Programming . . . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  Post-Stack Fixed-Length Metadata in SR-MPLS Service
           Programming . . . . . . . . . . . . . . . . . . . . . . .   6
     4.2.  Post-Stack Variable-Length Metadata in SR-MPLS Service
           Programming . . . . . . . . . . . . . . . . . . . . . . .   7
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
     5.1.  In-Stack MPLS Network Action Opcodes  . . . . . . . . . .   8
     5.2.  Post-Stack MPLS Network Action Opcodes  . . . . . . . . .   9
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   [I-D.ietf-spring-sr-service-programming] defines data plane
   functionality required to implement service segments and achieve
   service programming in SR-enabled MPLS and IPv6 networks.
   Metadata[RFC7665] provides contextual information about the data
   packets which traverse a programmed service path.

   However, there's yet no standard method to carry service metadata
   with the SR-MPLS data plane, which make the solution for service
   programming in SR-MPLS incomplete

   MPLS Network Action (MNA) [I-D.ietf-mpls-mna-fwk] is used to indicate
   action for Label Switched Paths (LSPs) and/or MPLS packets, and to
   transfer data needed for the action.  [I-D.ietf-mpls-mna-hdr] defines
   the MNA sub-stack solution for carrying Network Action Indicators and
   Ancillary Data in the label stack.

   This document defines MPLS Network Action(MNA) encoding to carry
   metadata in SR service programming with SR-MPLS data plane.

2.  Terminology

Liu                     Expires 25 December 2025                [Page 2]
Internet-Draft              MNA for Metadata                   June 2025

2.1.  Acronyms

   HBH: Hop-By-Hop

   I2E: Ingress-To-Egress

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

   ISD: In-Stack Data

   PSD: Post-Stack Data

   PSH: Post-Stack Header

   LSE: Label Stack Entry

   MPLS: Multiprotocol Label Switching

   MNA: MPLS Network Action

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.  MPLS Network Action ISD encoding for Metadata in SR-MPLS Service
    Programming

   The metadata in SR-MPLS Service Programming is 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].  Two types of metadata
   for SR-MPLS service programming are defined: fixed-length service
   metadata and variable-length service metadata.

3.1.  Fixed-Length Service Metadata

   The format of fixed-length service metadata is shown as follows,

Liu                     Expires 25 December 2025                [Page 3]
Internet-Draft              MNA for Metadata                   June 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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               MNA Label               | TC  |S|    TTL        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Opcode = TBA1 |   Service Metadata    |R|IHS|S|U| NASL  | NAL |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |1|                       Service Metadata    |S|               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |1|                       Service Metadata    |S|               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |1|                       Service Metadata    |S|               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Where:

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

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

   *  Opcode: TBA1, indicating the fixed-length service metadata.

   *  R,IHS and U fields are set as specified in
      [I-D.ietf-mpls-mna-hdr].

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

   *  NAL: Network Action Length as specified in
      [I-D.ietf-mpls-mna-hdr].  The number of extra LSEs used for
      Service metadata encoding.  The value is 3.

   *  Service Metadata: 102-bit field to carry metadata.  No assumption
      is made by this document on the structure or the content of the
      carried metadata.

3.2.  Variable-Length Service Metadata

   It should be noticed that although it is called "variable-length",
   the length of this service metadata MUST NOT be changed on the fly.

   The format of variable-length service metadata is shown as follows,

Liu                     Expires 25 December 2025                [Page 4]
Internet-Draft              MNA for Metadata                   June 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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               MNA Label               | TC  |S|    TTL        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Opcode = TBA2 |  MD Class |   Type    |R|IHS|S|U| NASL  | NAL |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~1|                     Service Metadata      |S|               ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Where:

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

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

   *  Opcode: TBA2, indicating the variable-length service metadata.

   *  R,IHS and U fields are set as specified in
      [I-D.ietf-mpls-mna-hdr].

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

   *  NAL: Network Action Length as specified in
      [I-D.ietf-mpls-mna-hdr].  The number of extra LSEs used for
      Service metadata encoding.

   *  Metadata Class (MD Class): Defines the scope of the Type field to
      provide a hierarchical namespace.

   *  Type: Indicates the explicit type of metadata being carried.  The
      definition of the Type is the responsibility of the MD Class
      owner.

   *  Service Metadata: The field length depends on the value of NAL.

4.  Post-Stack MNA Encoding for Metadata in SR-MPLS Service Programming

   The presence of Post-Stack Header is indicated in an In-Stack Network
   Action Sub-stack as defined in [I-D.ietf-mpls-mna-ps-hdr] and is
   shown as below.

Liu                     Expires 25 December 2025                [Page 5]
Internet-Draft              MNA for Metadata                   June 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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               MNA Label               | TC  |S|  TTL          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Opcode     |      Data               |P|IHS|S|U| NASL  | NAL |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                Label                  | TC  |1|  TTL          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                   Post-Stack Service Metadata                 ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
     ~                 Optional Payload + Padding                    ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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

   *  P flag is set as specified in [I-D.ietf-mpls-mna-ps-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.

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

   *  U: set as specified in [I-D.ietf-mpls-mna-hdr].

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

   *  NAL: Network Action Length as specified in
      [I-D.ietf-mpls-mna-hdr].  The value is 0.

   *  Opcode: TBA3, In-Stack Network Action for the service metadata in
      PSH.

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

   *  Post-Stack Service Metadata: the service metadata carried in PSH,
      see section 4.1 and section 4.2.

4.1.  Post-Stack Fixed-Length Metadata in SR-MPLS Service Programming

   The encoding of the post-stack variable-length service metadata is
   shown as follows,

Liu                     Expires 25 December 2025                [Page 6]
Internet-Draft              MNA for Metadata                   June 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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                     Post-Stack MNA Header                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
     |MNA-PS-OP    |R|R|   PS-NAL    |     Service Metadata          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                      Service Metadata                         |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|

   Where:

   *  Post-Stack MNA Header: the top-level header for all the Post-Stack
      Network Actions that are encoded as defined in
      [I-D.ietf-mpls-mna-ps-hdr].

   *  MNA-PS-OP: TBA4 for post-stack fixed -length service metadata.

   *  R (2 bits): Reserved bits.

   *  PS-NAL (7 bits): Post-Stack Network Action Length in 4-octet units
      as in [I-D.ietf-mpls-mna-ps-hdr].  This excludes the first
      4-octets starting PS-MNA-OP.  The value is 3.

   *  Service Metadata: 14-byte field carrying the service metadata.  No
      assumption is made by this document on the structure or the
      content of the carried metadata.

4.2.  Post-Stack Variable-Length Metadata in SR-MPLS Service Programming

   The encoding of the post-stack variable-length service metadata is
   shown as follows,

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                     Post-Stack MNA Header                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
     |MNA-PS-OP    |R|R|   PS-NAL    |   MD Class    |     Type      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                      Service Metadata                         ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|

   Where:

Liu                     Expires 25 December 2025                [Page 7]
Internet-Draft              MNA for Metadata                   June 2025

   *  Post-Stack MNA Header: the top-level header for all the Post-Stack
      Network Actions that are encoded as defined in
      [I-D.ietf-mpls-mna-ps-hdr].

   *  MNA-PS-OP: TBA5 for post-stack variable-length service metadata.

   *  R (2 bits): Reserved bits.

   *  PS-NAL (7 bits): Post-Stack Network Action Length in 4-octet units
      as in [I-D.ietf-mpls-mna-ps-hdr].  This excludes the first
      4-octets starting PS-MNA-OP.

   *  Metadata Class (MD Class): Defines the scope of the Type field to
      provide a hierarchical namespace.

   *  Type: Indicates the explicit type of metadata being carried.  The
      definition of the Type is the responsibility of the MD Class
      owner.

   *  Service Metadata: Metadata for SR-MPLS Service Programming, the
      length of field depends in the value of PS-NAL.

5.  IANA Considerations

5.1.  In-Stack MPLS Network Action Opcodes

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

          +------+--------------------------------+-------------+
          |Opcode|              Name              |  Reference  |
          |      |                                |             |
          +------+--------------------------------+-------------+
          | TBA1 | In-Stack Network Action for    |             |
          |      | Fixed-Length Service Metadata  |This document|
          |      |            in ISD              |             |
          +------+--------------------------------+-------------+
          | TBA2 | In-Stack Network Action for    |             |
          |      |Variable-Length Service Metadata|This document|
          |      |            in ISD              |             |
          +------+--------------------------------+-------------+
          | TBA3 | In-Stack Network Action for    |This document|
          |      |  Service Metadata in PSH       |             |
          +------+--------------------------------+-------------+

Liu                     Expires 25 December 2025                [Page 8]
Internet-Draft              MNA for Metadata                   June 2025

5.2.  Post-Stack MPLS Network Action Opcodes

   IANA is requested to assign codepoints for the Post-Stack Network
   Action for the post-stack service metadata from the Post-Stack
   Network Action Opcodes registry (to be created by in
   [I-D.ietf-mpls-mna-hdr]).

          +------+--------------------------------+-------------+
          |Opcode|              Name              |  Reference  |
          |      |                                |             |
          +------+--------------------------------+-------------+
          | TBA4 | Post-Stack Network Action for  |This document|
          |      | Fixed-Length Service Metadata  |             |
          +------+--------------------------------+-------------+
          | TBA5 | Post-Stack Network Action for  |This document|
          |      |Variable-Length Service Metadata|             |
          +------+--------------------------------+-------------+

6.  Security Considerations

   Security considerations discussed in [I-D.ietf-mpls-mna-fwk],
   [I-D.ietf-mpls-mna-hdr], [I-D.ietf-mpls-mna-ps-hdr] and
   [I-D.ietf-spring-sr-service-programming] apply to this document.

7.  References

7.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-
              12, 3 March 2025, <https://datatracker.ietf.org/doc/html/
              draft-ietf-mpls-mna-hdr-12>.

Liu                     Expires 25 December 2025                [Page 9]
Internet-Draft              MNA for Metadata                   June 2025

   [I-D.ietf-mpls-mna-ps-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-ietf-mpls-mna-ps-
              hdr-01, 30 May 2025,
              <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-
              mna-ps-hdr-01>.

   [I-D.ietf-spring-sr-service-programming]
              Clad, F., Xu, X., Filsfils, C., Bernier, D., Li, C.,
              Decraene, B., Ma, S., Yadlapalli, C., Henderickx, W., and
              S. Salsano, "Service Programming with Segment Routing",
              Work in Progress, Internet-Draft, draft-ietf-spring-sr-
              service-programming-11, 23 February 2025,
              <https://datatracker.ietf.org/doc/html/draft-ietf-spring-
              sr-service-programming-11>.

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

7.2.  Informative References

   [RFC7665]  Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
              Chaining (SFC) Architecture", RFC 7665,
              DOI 10.17487/RFC7665, October 2015,
              <https://www.rfc-editor.org/info/rfc7665>.

   [RFC8300]  Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed.,
              "Network Service Header (NSH)", RFC 8300,
              DOI 10.17487/RFC8300, January 2018,
              <https://www.rfc-editor.org/info/rfc8300>.

Author's Address

   Yao Liu
   ZTE
   Nanjing
   China
   Email: liu.yao71@zte.com.cn

Liu                     Expires 25 December 2025               [Page 10]