A Survey to Determine MPLS Label Stack Inspection Behavior
draft-farrel-mpls-labelstack-inspection-poll-00
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | Adrian Farrel , Jie Dong | ||
| Last updated | 2025-10-12 | ||
| 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-farrel-mpls-labelstack-inspection-poll-00
MPLS A. Farrel
Internet-Draft Old Dog Consulting
Intended status: Standards Track J. Dong
Expires: 15 April 2026 Huawei Technologies
12 October 2025
A Survey to Determine MPLS Label Stack Inspection Behavior
draft-farrel-mpls-labelstack-inspection-poll-00
Abstract
As part of the work on MPLS Network Actions (MNA) a debate arose
concerning how existing MPLS implementations handle Special Purpose
Labels (SPLs) especially in the context of processing the MPLS
Entropy Label. The question applies to the relative placement of the
Entropy Label Indicator (ELI) and the MNA Base SPL in the MPLS label
stack. This question is applicable to the use of the ELI and any new
base SPL (bSPL), or to the relative placement of any two bSPLs
including the Extension Label that precedes any extended SPL.
In order to discover what deployed implementations currently do, it
is proposed that the MPLS working group chairs poll participants to
answer specific questions about their implementations. This document
is a working draft of the questions to be asked.
It is not intended that this document should progress to publication
as an RFC.
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 15 April 2026.
Farrel & Dong Expires 15 April 2026 [Page 1]
Internet-Draft MPLS Label Stack Poll October 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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Survey Process . . . . . . . . . . . . . . . . . . . . . . . 4
3. Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Manageability Considerations . . . . . . . . . . . . . . . . 7
5. Security Considerations . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
7. Informative References . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
In networks with equal cost paths, such as parallel links, network
nodes may load balance traffic across the possible paths. In order
to avoid the risk of packets being reordered, all packets from the
same flow need to be placed on the same path. Thus, the load
balancing decision is made by examining some properties of the
packets.
Historically, in IP networks, the decision was based on a hash of the
source address, destination address, source port, destination port,
and payload protocol Id (the 5-tuple). With the introduction of
MPLS, this could still be done, but it might be hard for network
nodes to read the 5-tuple, especially with deep label stacks.
Therefore, some implementations chose to perform the hash on the
first entries in the label stack.
However, in many cases, hashing the label stack does not provide
enough discrimination to properly balance the traffic. To aid with
this, the MPLS Entropy Label was introduced in [RFC6790]. The
Entropy Label contains a value that can be used as the hash to
discriminate the traffic flows.
Farrel & Dong Expires 15 April 2026 [Page 2]
Internet-Draft MPLS Label Stack Poll October 2025
The Entropy Label is indicated in the label stack by the preceding
label stack entry which has a special label value, the Entropy Label
Indicator (ELI). The ELI is a base Special Purpose Label (bSPL)
[RFC9017] so that it will not be accidentally used for forwarding.
Implementations at transit nodes that support the Entropy Label may
parse the label stack on a received packet to find the ELI and then
read the Entropy Label in the next label stack entry.
Implementations at transit nodes that do not support the Entropy
Label can still hash the first entries in the label stack. The ELI
and Entropy Label may safely be included in the hash function.
In-stack MPLS Network Actions (MNA) are instructions with optional
ancillary data encoded in the label stack as a series of label stack
entries, the Network Action Sub-Stack (NAS) [I-D.ietf-mpls-mna-hdr].
The NAS is indicated in the label stack by its first label stack
entry containing a bSPL, the MNA-Label.
During the development of the MNA specification, a question was
raised about how a legacy node (one that does not support MNA) might
react if it was searching for the ELI and encountered the MNA-Label.
This was investigated by surveying existing implementations, and the
results were published in [I-D.farrel-mpls-forwarder-poll-response].
Additionally, the NAS has been designed such that no label stack
entry can be mistaken for a bSPL (specifically, each entry in the NAS
begins with seven bits which cannot all be zero).
Further discussion around the interaction of the ELI and the MNA-
Label, opened the wider question of how implementations performing
ECMP react if they discover an unrecognized bSPL either while hashing
the label stack or while searching for the ELI. And beyond that, how
an implementation searching the label stack for any specific bSPL
including the Extension Label with a specific extended SPL (eSPL)
reacts if it encounters an unrecognized bSPL or the Extension Label
with an unrecognized eSPL.
This discussion should be held in the context of Section 2.1.1 of
[RFC7325] in particular the paragraph that says:
Unknown special-purpose labels and unknown extended special-
purpose labels are handled the same. When an unknown special-
purpose label is encountered or a special purpose label not
directly handled in forwarding hardware is encountered, the packet
should be sent to a general-purpose CPU by default. If this
capability is supported, there must be an option to either drop or
rate limit such packets based on the value of each special-purpose
label.
Farrel & Dong Expires 15 April 2026 [Page 3]
Internet-Draft MPLS Label Stack Poll October 2025
There has been debate about whether the word "encountered" in this
text is meant to refer indicate "found at the top of the label stack
- possibly after another label has been popped" or whether it extends
to parsing a label stack in search of a specific SPL. The survey in
this document is also intended to determine current behaviors in this
regard.
This document develops a survey with the intention that it be used to
determine whether there are any challenges that need to be addressed.
NOTE WELL
At this stage, this is a proposal for the content of the survey.
It is produced for discussion and review. Answers should not be
submitted for collection.
2. Survey Process
Implementors are invited to complete the survey for each
implementation they are aware of.
Responses should be submitted to survey@olddog.co.uk with the subject
line "MPLS Label Stack Inspection Survey Response."
Responses will be collated and anonymized, and then posted in an
Internet-Draft. If further work is required, it will be brought to
the MPLS Working Group for attention.
3. Survey
This is a draft and should not be completed.
Please identify the implementations that this response applies to.
1. Does your implementation support MPLS ECMP?
If so:
A. What does the implementation do if it encounters a bSPL that
it does not recognize at the top of the label stack, or if
the top label is the Extension Label and the subsequent label
value is an eSPL that it does not recognize?
i. Pass the packet to the CPU for processing (possibly
followed by one of the following actions)
ii. Drop the packet
Farrel & Dong Expires 15 April 2026 [Page 4]
Internet-Draft MPLS Label Stack Poll October 2025
iii. Strip the unknown bSPL or the Extension Label and
subsequent unknown eSPL and continue processing the
packet
iv. Some other behavior - please supply a description
B. Does the implementation search for the bottom of stack to
hash on the payload 5-tuple?
If so, what does the implementation do if it encounters a
bSPL it does not recognize in the label stack?
i. Drop the packet
ii. Stop attempting to find the bottom of stack, but
continue forwarding the packet
iii. Continue searching for the bottom of stack
iv. Some other behavior - please supply a description
C. Does the implementation perform a hash on the top entries in
the label stack?
If so, what does the implementation do if it encounters a
bSPL it does not recognize in the label stack?
i. Drop the packet
ii. Stop reading further label stack entries, but hash on
the previous label stack entries
iii. Stop attempting to perform a hash, but continue
forwarding the packet
iv. Continue hashing the label stack skipping the
unrecognized label
v. Continue hashing the label stack including the
unrecognized label
vi. Some other behavior - please supply a description
D. Does the implementation support inspecting the label stack to
find the ELI and use the subsequent Entropy Label as input to
hashing to determine the forwarding next hop?
If so:
Farrel & Dong Expires 15 April 2026 [Page 5]
Internet-Draft MPLS Label Stack Poll October 2025
i. What does the implementation do if it does not find the
ELI before it reaches bottom of stack?
a. Drop the packet
b. Perform some other form of hash
c. Forward the packet without load balancing
d. Some other behavior - please supply a description
ii. What does the implementation do if it does not find the
ELI before it reaches the maximum depth it can read
into the label stack?
a. Drop the packet
b. Perform some other form of hash
c. Forward the packet without load balancing
d. Some other behavior - please supply a description
iii. What does the implementation do if it encounters a bSPL
(or Extended Label followed by an eSPL) in the label
stack it does not recognize before it finds the ELI?
a. Drop the packet
b. Safely step over the bSPL and continue searching
for the ELI
c. Some other behavior - please supply a description
2. Does your implementation parse the label stack for any other
purpose (for example, to find other specific SPLs or to find the
bottom of stack)?
If so, what does the implementation do if it encounters an
unrecognized bSPL or the Extended Label followed by an
unrecognized eSPL?
A. Drop the packet
B. Stop searching, but continue to forward the packet
C. Step over the label stack entry containing the unrecognized
bSPL and continue to search
Farrel & Dong Expires 15 April 2026 [Page 6]
Internet-Draft MPLS Label Stack Poll October 2025
D. Some other behavior - please supply a description
3. If your implementation parses the label stack in search of one or
more bSPLs/eSPLs, what does it do when it has found the label
stack entries it was searching for?
A. Continue parsing the label until bottom of stack or maximum
readable stack depth are reached
B. Continue looking through the label stack for additional
occurrences of the SPLs where those SPLs are allowed to be
present multiple times
C. Stop looking through the label stack once one of each type of
SPL has been found
4. Is your implementation sensitive to the ordering of SPLs (bSPLs
and/or eSPLs) in the label stack?
If so, please elaborate.
4. Manageability Considerations
This document contains no issues for manageability. However, the
responses to the survey may uncover additional manageability work
that needs to be done. For example, configuration, dynamic exposure
of functional behavior, or diagnostics.
5. Security Considerations
Understanding of behaviors around searching the MPLS label stack are
important for a stable and secure network.
6. IANA Considerations
This document makes no requests for IANA action.
7. Informative References
[I-D.farrel-mpls-forwarder-poll-response]
Farrel, A., "Anonymized Responses to a Poll on MPLS
Forwarder Behavior", Work in Progress, Internet-Draft,
draft-farrel-mpls-forwarder-poll-response-01, 6 November
2022, <https://datatracker.ietf.org/doc/html/draft-farrel-
mpls-forwarder-poll-response-01>.
Farrel & Dong Expires 15 April 2026 [Page 7]
Internet-Draft MPLS Label Stack Poll October 2025
[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-
16, 3 October 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-mpls-
mna-hdr-16>.
[RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and
L. Yong, "The Use of Entropy Labels in MPLS Forwarding",
RFC 6790, DOI 10.17487/RFC6790, November 2012,
<https://www.rfc-editor.org/info/rfc6790>.
[RFC7325] Villamizar, C., Ed., Kompella, K., Amante, S., Malis, A.,
and C. Pignataro, "MPLS Forwarding Compliance and
Performance Requirements", RFC 7325, DOI 10.17487/RFC7325,
August 2014, <https://www.rfc-editor.org/info/rfc7325>.
[RFC9017] Andersson, L., Kompella, K., and A. Farrel, "Special-
Purpose Label Terminology", RFC 9017,
DOI 10.17487/RFC9017, April 2021,
<https://www.rfc-editor.org/info/rfc9017>.
Authors' Addresses
Adrian Farrel
Old Dog Consulting
United Kingdom
Email: adrian@olddog.co.uk
Jie Dong
Huawei Technologies
China
Email: jie.dong@huawei.com
Farrel & Dong Expires 15 April 2026 [Page 8]