rfc9790v4.txt   rfc9790.txt 
skipping to change at line 13 skipping to change at line 13
Request for Comments: 9790 Juniper Networks Request for Comments: 9790 Juniper Networks
Updates: 4928 S. Bryant Updates: 4928 S. Bryant
Category: Standards Track University of Surrey 5GIC Category: Standards Track University of Surrey 5GIC
ISSN: 2070-1721 M. Bocci ISSN: 2070-1721 M. Bocci
Nokia Nokia
G. Mirsky, Ed. G. Mirsky, Ed.
Ericsson Ericsson
L. Andersson L. Andersson
J. Dong J. Dong
Huawei Technologies Huawei Technologies
May 2025 June 2025
IANA Registry and Processing Recommendations for the First Nibble IANA Registry and Processing Recommendations for the First Nibble
Following a Label Stack Following a Label Stack
Abstract Abstract
This document creates a new IANA registry (called the "Post-Stack This document creates a new IANA registry (called the "Post-Stack
First Nibble" registry) for the first nibble (4-bit field) First Nibble" registry) for the first nibble (4-bit field)
immediately following an MPLS label stack. Furthermore, this immediately following an MPLS label stack. Furthermore, this
document presents some requirements for registering new values and document presents some requirements for registering new values and
skipping to change at line 166 skipping to change at line 166
if a practice has been deprecated, that practice should not be if a practice has been deprecated, that practice should not be
included in new implementations or deployed in new deployments. included in new implementations or deployed in new deployments.
Embedded Packet: A packet that follows immediately after the MPLS Embedded Packet: A packet that follows immediately after the MPLS
label stack and an optional PSH. The embedded packet could be an label stack and an optional PSH. The embedded packet could be an
IPv4 or IPv6 packet, an Ethernet packet (for Virtual Private LAN IPv4 or IPv6 packet, an Ethernet packet (for Virtual Private LAN
Service (VPLS) [RFC4761] [RFC4762] or EVPN [RFC7432]), or some Service (VPLS) [RFC4761] [RFC4762] or EVPN [RFC7432]), or some
other type of Layer 2 frame [RFC4446]. other type of Layer 2 frame [RFC4446].
Label Stack: A label stack is represented as a consecutive sequence Label Stack: A label stack is represented as a consecutive sequence
of "label stack entries (four-octet fields)" after the Layer 2 of "label stack entries" (four-octet fields) after the Layer 2
header but before any network layer header. The last label stack header but before any network layer header. The last label stack
entry of a label stack has its Bottom of Stack bit set. entry of a label stack has its Bottom of Stack bit set.
MPLS Packet: A packet whose Layer 2 header declares the type to be MPLS Packet: A packet whose Layer 2 header declares the type to be
MPLS. For example, the Ethertype is 0x8847 or 0x8848 for MPLS. For example, the Ethertype is 0x8847 or 0x8848 for
Ethernet, and the Protocol field is 0x0281 or 0x0283 for PPP. Ethernet, and the Protocol field is 0x0281 or 0x0283 for PPP.
MPLS Payload: All data after the label stack and the optional Post- MPLS Payload: All data after the label stack and any optional PSHs.
Stack header. It is possible that more than one type of PSH may be present in a
packet, and some PSH specifications might allow multiple PSHs of
the same type. The presence rules for multiple PSHs are a matter
for the documents that define those PSHs, e.g., [MNA-PS-HDR].
Post-stack First Nibble (PFN): The most significant four bits of the Post-stack First Nibble (PFN): The most significant four bits of the
first octet following the label stack. first octet following the label stack.
Post-Stack Header (PSH): A field containing information that may be Post-Stack Header (PSH): A field containing information that may be
of interest to the egress Label Switching Router (LSR) or transit of interest to the egress Label Switching Router (LSR) or transit
LSRs. Examples include a control word [RFC4385] [RFC8964] or an LSRs. Examples include a control word [RFC4385] [RFC8964] or an
associated channel header [RFC4385] [RFC5586] [RFC9546]. A parser associated channel header [RFC4385] [RFC5586] [RFC9546].
needs to be able to determine where the PSH ends in order to find
the embedded packet.
1.3. Abbreviations 1.3. Abbreviations
BIER: Bit Index Explicit Replication BIER: Bit Index Explicit Replication
FAT: Flow-Aware Transport FAT: Flow-Aware Transport
LSE: Label Stack Entry LSE: Label Stack Entry
LSR: Label Switching Router LSR: Label Switching Router
skipping to change at line 266 skipping to change at line 267
| PSH | | | PSH | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... | ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| end of PSH | | | end of PSH | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| embedded packet | | | embedded packet | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/
Figure 2: Examples of an MPLS Packet Payload With and Without Figure 2: Examples of an MPLS Packet Payload With and Without
Post-Stack Header Preceding Post-Stack Header
Figure 1 shows an MPLS packet with a Layer 2 header X and a label Figure 1 shows an MPLS packet with a Layer 2 header X and a label
stack Y ending with Label-n. Figure 2 displays three examples of an stack Y ending with Label-n. Figure 2 displays three examples of an
MPLS payload: MPLS payload:
Example A: The first payload is a bare IP packet, i.e., no PSH. The Example A: The first payload is a bare IP packet, i.e., no PSH. The
PFN in this case overlaps with the IP version number. PFN in this case overlaps with the IP version number.
Example B: The next payload is a bare non-IP packet; again, no PSH. Example B: The next payload is a bare non-IP packet; again, no PSH.
The PFN here is the first nibble of the payload, whatever it The PFN here is the first nibble of the payload, whatever it
happens to be. happens to be.
Example C: This example is an MPLS Payload that starts with a PSH Example C: This example is an MPLS Payload that follows a PSH.
followed by the embedded packet. Here, the embedded packet could Here, the embedded packet could be IP or non-IP.
be IP or non-IP.
Thus, the complete MPLS packet would consist of [X Y A], [X Y B], or Thus, the complete MPLS packet would consist of [X Y A], [X Y B], or
[X Y C]. [X Y C].
2. Rationale 2. Rationale
2.1. Why Look at the First Nibble 2.1. Why Look at the First Nibble
An MPLS packet can contain one of many types of embedded packets. An MPLS packet can contain one of many types of embedded packets.
Three common types are: Three common types are:
skipping to change at line 649 skipping to change at line 649
Data Plane: MPLS", RFC 8964, DOI 10.17487/RFC8964, January Data Plane: MPLS", RFC 8964, DOI 10.17487/RFC8964, January
2021, <https://www.rfc-editor.org/info/rfc8964>. 2021, <https://www.rfc-editor.org/info/rfc8964>.
[RFC9789] Andersson, L., Bryant, S., Bocci, M., and T. Li, "MPLS [RFC9789] Andersson, L., Bryant, S., Bocci, M., and T. Li, "MPLS
Network Actions (MNAs) Framework", RFC 9789, Network Actions (MNAs) Framework", RFC 9789,
DOI 10.17487/RFC9789, May 2025, DOI 10.17487/RFC9789, May 2025,
<https://www.rfc-editor.org/info/rfc9789>. <https://www.rfc-editor.org/info/rfc9789>.
5.2. Informative References 5.2. Informative References
[MNA-PS-HDR]
Rajamanickam, J., Ed., Gandhi, R., Ed., 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>.
[RFC4446] Martini, L., "IANA Allocations for Pseudowire Edge to Edge [RFC4446] Martini, L., "IANA Allocations for Pseudowire Edge to Edge
Emulation (PWE3)", BCP 116, RFC 4446, Emulation (PWE3)", BCP 116, RFC 4446,
DOI 10.17487/RFC4446, April 2006, DOI 10.17487/RFC4446, April 2006,
<https://www.rfc-editor.org/info/rfc4446>. <https://www.rfc-editor.org/info/rfc4446>.
[RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private
LAN Service (VPLS) Using BGP for Auto-Discovery and LAN Service (VPLS) Using BGP for Auto-Discovery and
Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007, Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007,
<https://www.rfc-editor.org/info/rfc4761>. <https://www.rfc-editor.org/info/rfc4761>.
skipping to change at line 705 skipping to change at line 713
Acknowledgements Acknowledgements
The authors express their appreciation and gratitude to Donald The authors express their appreciation and gratitude to Donald
E. Eastlake 3rd for the review, insightful questions, and helpful E. Eastlake 3rd for the review, insightful questions, and helpful
comments. Also, the authors are grateful to Amanda Baber for helping comments. Also, the authors are grateful to Amanda Baber for helping
organize the IANA registry in a clear and concise manner. organize the IANA registry in a clear and concise manner.
Éric Vyncke, John Scudder, Warren Kumari, Murray Kucherawy, and Éric Vyncke, John Scudder, Warren Kumari, Murray Kucherawy, and
Gunter Van de Velde provided helpful comments during IESG review. Gunter Van de Velde provided helpful comments during IESG review.
The authors would also like to thank Adrian Farrel for his patient
and careful shepherding and for helping to finalize the text.
Authors' Addresses Authors' Addresses
Kireeti Kompella Kireeti Kompella
Juniper Networks Juniper Networks
1133 Innovation Way 1133 Innovation Way
Sunnyvale, CA 94089 Sunnyvale, CA 94089
United States of America United States of America
Email: kireeti.ietf@gmail.com Email: kireeti.ietf@gmail.com
Stewart Bryant Stewart Bryant
 End of changes. 8 change blocks. 
11 lines changed or deleted 22 lines changed or added

This html diff was produced by rfcdiff 1.48.