draft-ietf-mpls-spl-terminology-03.txt | draft-ietf-mpls-spl-terminology-04.txt | |||
---|---|---|---|---|
MPLS Working Group L. Andersson | MPLS Working Group L. Andersson | |||
Internet-Draft Bronze Dragon Consulting | Internet-Draft Bronze Dragon Consulting | |||
Updates: 3032, 7274 (if approved) K. Kompella | Updates: 3032, 7274 (if approved) K. Kompella | |||
Intended status: Informational Juniper Networks | Intended status: Standards Track Juniper Networks | |||
Expires: February 13, 2021 A. Farrel | Expires: March 28, 2021 A. Farrel | |||
Old Dog Consulting | Old Dog Consulting | |||
August 12, 2020 | September 24, 2020 | |||
Special Purpose Label terminology | Special Purpose Label terminology | |||
draft-ietf-mpls-spl-terminology-03 | draft-ietf-mpls-spl-terminology-04 | |||
Abstract | Abstract | |||
This document discusses and recommends a terminology that may be used | This document discusses and recommends a terminology that may be used | |||
when MPLS Special Purpose Labels (SPL) are specified and documented. | when MPLS Special Purpose Labels (SPL) are specified and documented. | |||
This document applies that terminology change to the relevant IANA | ||||
registry and also clarifies the use of the Entropy Label Indicator | ||||
(7) when immediately preceded by the Extension Label (15). | ||||
This document updates RFC 7274 and RFC 3032. | This document updates RFC 7274 and RFC 3032. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on February 13, 2021. | This Internet-Draft will expire on March 28, 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 3 | ||||
2.1. GMPLS Special Purpose Labels . . . . . . . . . . . . . . 3 | 2.1. GMPLS Special Purpose Labels . . . . . . . . . . . . . . 3 | |||
3. Terminology and Abbreviations . . . . . . . . . . . . . . . . 3 | 3. Terminology and Abbreviations . . . . . . . . . . . . . . . . 3 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | 4. Clarification on Use of Entropy Label Indicator . . . . . . . 5 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | |||
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 5 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 5 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 7 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 7 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 | ||||
1. Introduction | 1. Introduction | |||
RFC 7274 [RFC7274] made some changes to the terminology used for MPLS | RFC 7274 [RFC7274] made some changes to the terminology used for MPLS | |||
Special Purpose Labels, but did not define consistent terminology. | Special Purpose Labels, but did not define consistent terminology. | |||
One thing that RFC 7274 did was to deprecate use of the term | One thing that RFC 7274 did was to deprecate use of the term | |||
"reserved labels" when describing a range of labels allocated from a | "reserved labels" when describing a range of labels allocated from a | |||
registry maintained by IANA. The term "Reserved" in such a registry | registry maintained by IANA. The term "Reserved" in such a registry | |||
means "set aside, not to be used", but that range of labels was | means "set aside, not to be used", but that range of labels was | |||
skipping to change at page 2, line 44 ¶ | skipping to change at page 3, line 5 ¶ | |||
At the time of writing the first version of this document, the IETF | At the time of writing the first version of this document, the IETF | |||
was in the process of allocating the very first SPLs from the | was in the process of allocating the very first SPLs from the | |||
Extended SPL (eSPL) range [RFC8595]. This document discusses and | Extended SPL (eSPL) range [RFC8595]. This document discusses and | |||
recommends terminology and abbreviations to be used when talking | recommends terminology and abbreviations to be used when talking | |||
about and documenting Special Purpose Labels. | about and documenting Special Purpose Labels. | |||
This document updates RFC 3032 [RFC3032] and RFC 7274 [RFC7274] in | This document updates RFC 3032 [RFC3032] and RFC 7274 [RFC7274] in | |||
that it changes the terminology for both Base SPLs and Extended SPLs. | that it changes the terminology for both Base SPLs and Extended SPLs. | |||
This document applies that terminology change to the relevant IANA | ||||
registry and also clarifies the use of the Entropy Label Indicator | ||||
(7) when immediately preceded by the Extension Label (15). | ||||
1.1. Terminology | ||||
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. | ||||
2. Background | 2. Background | |||
Two sets of SPLs are defined for use in MPLS: | Two sets of SPLs are defined for use in MPLS: | |||
The range of 0-15, Base Special Purpose Labels (bSPLs), is | The range of 0-15, Base Special Purpose Labels (bSPLs), is | |||
specified in RFC 3032 [RFC3032]. | specified in RFC 3032 [RFC3032]. | |||
The range 0-1048575 of eSPLs is specified in RFC 7274 [RFC7274]. | The range 0-1048575 of eSPLs is specified in RFC 7274 [RFC7274]. | |||
* the values 0-15 have been reserved never to be allocated | * the values 0-15 have been reserved never to be allocated | |||
skipping to change at page 3, line 39 ¶ | skipping to change at page 4, line 12 ¶ | |||
'Special-Purpose MPLS Label Values' registry [bSPL]. The other is | 'Special-Purpose MPLS Label Values' registry [bSPL]. The other is | |||
called 'Extended Special-Purpose MPLS Label Values' registry [eSPL]. | called 'Extended Special-Purpose MPLS Label Values' registry [eSPL]. | |||
The difference in the name of the name space and the first registry | The difference in the name of the name space and the first registry | |||
is only that the MPLS abbreviation is expanded. This document | is only that the MPLS abbreviation is expanded. This document | |||
changes the name of the first registry to 'Base Special-Purpose MPLS | changes the name of the first registry to 'Base Special-Purpose MPLS | |||
Label Values', but leaves the name of the latter registry unchanged | Label Values', but leaves the name of the latter registry unchanged | |||
as 'Extended Special-Purpose MPLS Label Values'. | as 'Extended Special-Purpose MPLS Label Values'. | |||
The following conventions will be used in specifications and when | The following conventions will be used in specifications and when | |||
talking about SPLs | talking about SPLs. | |||
o Collectively, the two ranges are known as Special Purpose Labels | ||||
(SPL). | ||||
o The special purpose labels from the lower range will be called | o Collectively, the two (unrelated) ranges (0-15 and 16-1048575) are | |||
Base Special Purpose Labels (bSPL). | known as Special Purpose Labels (SPL). | |||
o The special purpose labels from the higher range will be called | o Special purpose labels from the range 0-15 are called Base Special | |||
Extended Special Purpose Labels (eSPL). | Purpose Labels (bSPL). | |||
o The combination of the Extension Label (XL) (value 15 which is a | o Special purpose labels from the range 16-1048575 are called | |||
bSPL, but that is also called xSPL) and an eSPL is called a | Extended Special Purpose Labels (eSPL). (Note that the reserved | |||
Composite Special Purpose Label (cSPL). | values 0-15 from the 'Extended Special-Purpose MPLS Label Values' | |||
registry do not need a name as they are not available for | ||||
allocation and MUST NOT be used.) | ||||
This results in a label stacks such as the illustrative examples | This results in a label stacks such as the illustrative examples | |||
shown in Figure 1 and Figure 2. | shown in Figure 1 and Figure 2. | |||
0 31 | 0 31 | |||
| MPLS Label Stack entry | | | MPLS Label Stack entry | | |||
+--------+--------+--------+--------+ | +--------+--------+--------+--------+ | |||
| MPLS Label Stack entry | | | MPLS Label Stack entry | | |||
+--------+--------+--------+--------+ | +--------+--------+--------+--------+ | |||
bSPL | Base SPL | | bSPL | Base SPL | | |||
skipping to change at page 4, line 32 ¶ | skipping to change at page 5, line 18 ¶ | |||
| MPLS Label Stack entry | | | MPLS Label Stack entry | | |||
+--------+--------+--------+--------+ | +--------+--------+--------+--------+ | |||
xSPL | Extension Label (XL) | <--+ | xSPL | Extension Label (XL) | <--+ | |||
+--------+--------+--------+--------+ |--- cSPL | +--------+--------+--------+--------+ |--- cSPL | |||
eSPL | Extended SPL | <--+ | eSPL | Extended SPL | <--+ | |||
+--------+--------+--------+--------+ | +--------+--------+--------+--------+ | |||
| MPLS Label Stack entry (cont.) | | | MPLS Label Stack entry (cont.) | | |||
Figure 2: Example of Label Stack | Figure 2: Example of Label Stack | |||
4. Security Considerations | 4. Clarification on Use of Entropy Label Indicator | |||
Section 3.1 of [RFC7274] contains two paragraphs that describe the | ||||
use of the Entropy Label Indicator (label 7). These paragraphs have | ||||
introduced some confusion about whether the Entropy Label Indicator | ||||
can be present when immediately preceded by the Extension Label. | ||||
This document updates [RFC7274] by replacing those paragraphs as | ||||
follows. | ||||
OLD | ||||
Values 0-15 of the "Extended Special-Purpose MPLS Label Values" | ||||
registry are set aside as reserved. Furthermore, values 0-6 and | ||||
8-15 MUST NOT appear in the data plane following an XL; an LSR | ||||
processing a packet with an XL at the top of the label stack | ||||
followed by a label with value 0-6 or 8-15 MUST drop the packet. | ||||
Label 7 (when received) retains its meaning as Entropy Label | ||||
Indicator (ELI) whether a regular special-purpose label or an | ||||
ESPL; this is because of backwards compatibility with existing | ||||
implemented and deployed code and hardware that looks for the ELI | ||||
without verifying if the previous label is XL or not. However, | ||||
when an LSR inserts an entropy label, it MUST insert the ELI as a | ||||
regular special-purpose label, not as an ESPL. | ||||
NEW | ||||
Values 0-15 of the "Extended Special-Purpose MPLS Label Values" | ||||
registry are set aside as reserved. Furthermore, an | ||||
implementation MUST NOT place a label with value 0-15 in the label | ||||
stack immediately following an XL; an LSR processing a packet with | ||||
an XL at the top of the label stack immediately followed by a | ||||
label with value 0-15 MUST drop the packet. | ||||
When inspecting a label stack to find an Entropy Label Indicator | ||||
(ELI - label 7) a pre-existing implementation may fail to inspect | ||||
the previous label, and so not notice that it is an XL. Such | ||||
systems can continue to process the entropy information and | ||||
forward the packet when the previous label is an XP without | ||||
causing harm. However, the packet will be dropped when the XL | ||||
reaches the top of the stack at another LSR. | ||||
END | ||||
5. Security Considerations | ||||
The document describes the terminology to be used when describing and | The document describes the terminology to be used when describing and | |||
specifying the use of SPLs. It does not effect the forwarding in the | specifying the use of SPLs. It does not effect the forwarding in the | |||
MPLS data plane, nor does it have any effect on how LSPs are | MPLS data plane, nor does it have any effect on how LSPs are | |||
established by an MPLS control plane or by a centralized controller. | established by an MPLS control plane or by a centralized controller. | |||
This document does not aim to describe existing implementations of | This document does not aim to describe existing implementations of | |||
SPLs or potential vulnerabilities of SPLs. | SPLs or potential vulnerabilities of SPLs. | |||
5. IANA Considerations | 6. IANA Considerations | |||
We request that the name of the IANA registry that today is called | IANA is requested to change the name of the registry that today is | |||
"Special-Purpose MPLS Label Values" is changed to "Base Special- | called "Special-Purpose MPLS Label Values" is changed to "Base | |||
Purpose MPLS Label Values". | Special- Purpose MPLS Label Values". | |||
6. Acknowledgements | 7. Acknowledgements | |||
The authors of this document would like to thank Stewart Bryant for | We like to thank the Routing Directorate reviwer Eric Gray for a | |||
careful review and constructive suggestions. | detailed, careful and insightful review, and Tom Petch for pointing | |||
out several issues of clarity. | ||||
We would also like to thank the Routing Directorate reviwer Eric Gray | 8. Contributors | |||
for a detailed, careful and insightful review. | ||||
7. References | The following people contributed text to this document: | |||
7.1. Normative References | Stewart Bryant | |||
Futurewei Technologies Inc. | ||||
Email: stewart.bryant@gmail.com | ||||
Figure 3 | ||||
9. References | ||||
9.1. Normative References | ||||
[bSPL] "Special-Purpose MPLS Label Values", | [bSPL] "Special-Purpose MPLS Label Values", | |||
<https://www.iana.org/assignments/mpls-label-values/mpls- | <https://www.iana.org/assignments/mpls-label-values/mpls- | |||
label-values.xhtml#special-purpose/>. | label-values.xhtml#special-purpose/>. | |||
[eSPL] "Extended Special-Purpose MPLS Label Values", | [eSPL] "Extended Special-Purpose MPLS Label Values", | |||
<https://www.iana.org/assignments/mpls-label-values/mpls- | <https://www.iana.org/assignments/mpls-label-values/mpls- | |||
label-values.xhtml#extended/>. | label-values.xhtml#extended/>. | |||
[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>. | ||||
[RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., | [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., | |||
Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack | Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack | |||
Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, | Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, | |||
<https://www.rfc-editor.org/info/rfc3032>. | <https://www.rfc-editor.org/info/rfc3032>. | |||
[RFC7274] Kompella, K., Andersson, L., and A. Farrel, "Allocating | [RFC7274] Kompella, K., Andersson, L., and A. Farrel, "Allocating | |||
and Retiring Special-Purpose MPLS Labels", RFC 7274, | and Retiring Special-Purpose MPLS Labels", RFC 7274, | |||
DOI 10.17487/RFC7274, June 2014, | DOI 10.17487/RFC7274, June 2014, | |||
<https://www.rfc-editor.org/info/rfc7274>. | <https://www.rfc-editor.org/info/rfc7274>. | |||
[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>. | ||||
[SPL-NAME-SPACE] | [SPL-NAME-SPACE] | |||
"Special-Purpose Multiprotocol Label Switching (MPLS) | "Special-Purpose Multiprotocol Label Switching (MPLS) | |||
Label Values", <https://www.iana.org/assignments/mpls- | Label Values", <https://www.iana.org/assignments/mpls- | |||
label-values/mpls-label-values.xhtml/>. | label-values/mpls-label-values.xhtml/>. | |||
7.2. Informative References | 9.2. Informative References | |||
[RFC8595] Farrel, A., Bryant, S., and J. Drake, "An MPLS-Based | [RFC8595] Farrel, A., Bryant, S., and J. Drake, "An MPLS-Based | |||
Forwarding Plane for Service Function Chaining", RFC 8595, | Forwarding Plane for Service Function Chaining", RFC 8595, | |||
DOI 10.17487/RFC8595, June 2019, | DOI 10.17487/RFC8595, June 2019, | |||
<https://www.rfc-editor.org/info/rfc8595>. | <https://www.rfc-editor.org/info/rfc8595>. | |||
Authors' Addresses | Authors' Addresses | |||
Loa Andersson | Loa Andersson | |||
Bronze Dragon Consulting | Bronze Dragon Consulting | |||
Email: loa@pi.nu | Email: loa@pi.nu | |||
Kireeti Kompella | Kireeti Kompella | |||
Juniper Networks | Juniper Networks | |||
Email: kireeti@juniper.net | Email: kireeti@juniper.net | |||
End of changes. 24 change blocks. | ||||
38 lines changed or deleted | 117 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |