Internet-Draft MNA for Metadata June 2025
Liu Expires 25 December 2025 [Page]
Workgroup:
MPLS
Internet-Draft:
draft-liu-mpls-mna-sr-service-metadata-01
Published:
Intended Status:
Standards Track
Expires:
Author:
Y. Liu
ZTE

MNA for Metadata in SR-MPLS Service Programming

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.

Table of Contents

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

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,

 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:

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,

 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:

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.


  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                    ~
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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,


  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:

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:

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       |             |
+------+--------------------------------+-------------+

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, , <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, , <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-mna-hdr-12>.
[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, , <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, , <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, , <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, , <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, , <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, , <https://www.rfc-editor.org/info/rfc8300>.

Author's Address

Yao Liu
ZTE
Nanjing
China