<?xml version="1.0"encoding="US-ASCII"?>encoding="UTF-8"?> <!-- updated by Chris 02/01/21 --> <!DOCTYPE rfc SYSTEM"rfc2629.dtd"> <?rfc toc="yes"?> <?rfc tocompact="yes"?> <?rfc tocdepth="3"?> <?rfc tocindent="yes"?> <?rfc symrefs="yes"?> <?rfc sortrefs="yes"?> <?rfc comments="yes"?> <?rfc inline="yes"?> <?rfc compact="yes"?> <?rfc subcompact="no"?>"rfc2629-xhtml.ent"> <rfccategory="std"xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-mpls-spl-terminology-06" number="9017" ipr="trust200902" updates="3032,7274">7274" obsoletes="" submissionType="IETF" category="std" consensus="true" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3"> <!-- xml2rfc v2v3 conversion 3.5.0 --> <front> <title abbrev="SPLTerminology">Special PurposeTerminology">Special-Purpose Labelterminology</title>Terminology</title> <seriesInfo name="RFC" value="9017"/> <author fullname="Loa Andersson" initials="L." surname="Andersson"> <organization>Bronze Dragon Consulting</organization> <address> <email>loa@pi.nu</email> </address> </author> <author fullname="Kireeti Kompella" initials="K." surname="Kompella"> <organization>Juniper Networks</organization> <address> <email>kireeti@juniper.net</email> </address> </author> <author fullname="Adrian Farrel" initials="A." surname="Farrel"> <organization>Old Dog Consulting</organization> <address> <email>adrian@olddog.co.uk</email> </address> </author><date/> <workgroup>MPLS Working Group</workgroup><date year="2021" month="April"/> <keyword>MPLS</keyword> <keyword>Extended Special-Purpose Label</keyword> <keyword>Base Special-Purpose Label</keyword> <keyword>Reserved Label</keyword> <keyword>Entropy Label Indicator</keyword> <abstract> <t>This document discusses and recommendsaterminology that may be used when MPLSSpecial PurposeSpecial-Purpose Labels(SPL)(SPLs) are specified and documented.</t> <t>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).</t>(15). </t> <t>This document updatesRFC 7274RFCs 3032 andRFC 3032.</t>7274.</t> </abstract> </front> <middle> <section anchor="intro"title="Introduction">numbered="true" toc="default"> <name>Introduction</name> <t>RFC 7274 <xreftarget="RFC7274"/>target="RFC7274" format="default"/> made some changes to the terminology used for MPLSSpecial Purpose Labels,Special-Purpose Labels but did not define consistent terminology. </t> <t>One thing that RFC 7274 did was to deprecate the use of the term "reserved labels" when describing a range of labels allocated from a registry maintained by IANA. The term "Reserved" in such a registry means "set aside, not to be used", but that range of labels was available for allocation according to the policies set out in that registry. The name"Special Purpose"Special-Purpose Labels" was introduced in RFC 7274 in place of the previous term, and the abbreviationSPL"SPL" was recommended.</t> <t>At the time of writing the first draft version of this document, the IETF was in the process of allocating the very first SPLs from the Extended SPL (eSPL) range <xreftarget="RFC8595"/>.target="RFC8595" format="default"/>. This document discusses and recommends terminology and abbreviations to be used when talking about and documentingSpecial PurposeSpecial-Purpose Labels.</t> <t>This document updates RFC 3032 <xreftarget="RFC3032"/>target="RFC3032" format="default"/> and RFC 7274 <xreftarget="RFC7274"/>target="RFC7274" format="default"/> in that it changes the terminology for both Base SPLs (previously referred to simply as "Special-Purpose Labels") and Extended SPLs.</t> <t>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).</t> <section anchor="terms"title="Terminology">numbered="true" toc="default"> <name>Terminology</name> <t>The key words"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY","<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and"OPTIONAL""<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described inBCP 14BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t> </section> </section> <section anchor="bckground"title="Background">numbered="true" toc="default"> <name>Background</name> <t>Two sets of SPLs are defined for use in MPLS:<list style="symbol"> <t>The</t> <ul spacing="normal"> <li>The rangeof 0-15, Base Special Purpose0-15 (Base Special-Purpose Labels(bSPLs),(bSPLs) as described in this document) is specified in RFC 3032 <xreftarget="RFC3032"/>.</t>target="RFC3032" format="default"/>.</li> <li> <t>The range 0-1048575 of eSPLs is specified in RFC 7274 <xreftarget="RFC7274"/>. <list style="symbols"> <t>thetarget="RFC7274" format="default"/>. </t> <ul spacing="normal"> <li>The values 0-15 have been reserved and are never to beallocated</t> <t>theallocated.</li> <li>The values 16-239 are available forallocation</t> <t>theallocation.</li> <li>The values 240-255 are for experimentaluse</t> <t>theuse.</li> <li>The values 256-1048575 are currently not available for allocation. Astandard trackStandards Track RFCwillwould be needed toallocate any labels fromchange thisrange.</t> </list> </t> </list> </t>rule, and that RFC would need to define the ranges that are made available for allocation and the registration policy for those ranges.</li> </ul> </li> </ul> <sectiontitle="GMPLS Special Purpose Labels" anchor="GMPLS">anchor="GMPLS" numbered="true" toc="default"> <name>GMPLS Special-Purpose Labels</name> <t>Note that IANA maintains a registry that is called"Special Purpose"Special-Purpose Generalized Label Values". Labels in that registry have special meaning when present in certainsignallingsignaling objects, are 32 bits long, and are not to be confused with MPLSforwarding planeforwarding-plane labels. This document does not make any changes to the GMPLS registry or to how labels from that registry aredescribed.</t>described. </t> </section> </section> <section anchor="terminology"title="Terminologynumbered="true" toc="default"> <name>Terminology andAbbreviations"> <t>IANA maintainsAbbreviations</name> <t> Prior to the publication of this document, IANA maintained a name space for'Special-Purpose"Special-Purpose Multiprotocol Label Switching (MPLS) LabelValues'Values" code points <xreftarget="SPL-NAME-SPACE"/>.target="SPL-NAME-SPACE" format="default"/>. Within this namespacespace, there are two registries. Oneiswas called the'Special-Purpose"Special-Purpose MPLS LabelValues'Values" registry <xreftarget="bSPL"/>.target="bSPL" format="default"/>. The otheriswas called'Extendedthe "Extended Special-Purpose MPLS LabelValues'Values" registry <xreftarget="eSPL"/>.</t> <t>Thetarget="eSPL" format="default"/>. </t> <t> The difference in the name of the name space and the first registry is only that the MPLS abbreviation is expanded. This document makes no change to the name of the name space itself (i.e., "Special-Purpose Multiprotocol Label Switching (MPLS) Label Values"). This document changes the name of the first registry to'Base"Base Special-Purpose MPLS LabelValues',Values" but leaves the name of the latter registry unchanged as'Extended"Extended Special-Purpose MPLS LabelValues'.</t>Values". </t> <t>The following conventions will be used in specifications and when talking about SPLs.<list style="symbols"> <t>Collectively,</t> <ul spacing="normal"> <li>Collectively, the two (unrelated) ranges (0-15 and 16-1048575) are known asSpecial Purpose Labels (SPL).</t> <t>Special purpose labels"Special-Purpose Labels" (SPLs).</li> <li>SPLs from the range 0-15 are calledBase Special Purpose Labels (bSPL).</t> <t>Special purpose labels"Base Special-Purpose Labels" (bSPLs).</li> <li>SPLs from the range 16-1048575 are calledExtended Special Purpose Labels (eSPL)."Extended Special-Purpose Labels" (eSPLs). (Note that the reserved values 0-15 from the'Extended"Extended Special-Purpose MPLS LabelValues'Values" registry do not need anamename, as they are not available for allocation andMUST NOT<bcp14>MUST NOT</bcp14> beused.)</t> <t>Theused.)</li> <li>The combination of the Extension Label (XL) (value1515, which is abSPL,bSPL andwhichis also called thexSPL)"xSPL") and an eSPL is called aComposite Special Purpose Label (cSPL).</t> </list> </t>"Composite Special-Purpose Label" (cSPL).</li> </ul> <t>This results inalabel stacks such as theillustrativeexamples shown in<xref target="stack-example-1"/>Figures <xref target="stack-example-1" format="counter"/> and <xreftarget="stack-example-2"/>.</t>target="stack-example-2" format="counter"/>.</t> <figuretitle="Exampleanchor="stack-example-1"> <name>Example of LabelStack" align="left" anchor="stack-example-1">Stack</name> <artworkalign="left"> <![CDATA[align="left" name="" type="" alt=""><![CDATA[ 0 31 | MPLS Label Stack entry | +--------+--------+--------+--------+ | MPLS Label Stack entry | +--------+--------+--------+--------+ bSPL | Base SPL | +--------+--------+--------+--------+ | MPLS Label Stack entry (cont.)| ]]> </artwork>|]]></artwork> </figure> <figuretitle="Exampleanchor="stack-example-2"> <name>Example of LabelStack" align="left" anchor="stack-example-2">Stack</name> <artworkalign="left"> <![CDATA[align="left" name="" type="" alt=""><![CDATA[ 0 31 | MPLS Label Stack entry | +--------+--------+--------+--------+ | MPLS Label Stack entry | +--------+--------+--------+--------+ xSPL | Extension Label (XL) | <--+ +--------+--------+--------+--------+ |--- cSPL eSPL | Extended SPL | <--+ +--------+--------+--------+--------+ | MPLS Label Stack entry (cont.)| ]]> </artwork>|]]></artwork> </figure> </section> <section anchor="clarify"title="Clarificationnumbered="true" toc="default"> <name>Clarification on Handling of the Entropy LabelIndicator"> <t>Section 3.1 of [RFC7274]Indicator</name> <t><xref target="RFC7274" sectionFormat="of" section="3.1"/> contains two paragraphs that describe the handling 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]<xref target="RFC7274"/> by replacing those paragraphs as follows.</t> <t>OLD<list style="none"> <t>Values</t> <blockquote> <t> Values 0-15 of the "Extended Special-Purpose MPLS Label Values" registry are set aside as reserved. Furthermore, values 0-6 and 8-15MUST NOT<bcp14>MUST NOT</bcp14> 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-15MUST<bcp14>MUST</bcp14> drop thepacket.</t>packet. </t> <t>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, itMUST<bcp14>MUST</bcp14> insert the ELI as a regular special-purpose label, not as an ESPL.</t></list></t></blockquote> <t>NEW<list style="none"></t> <blockquote> <t>Values 0-15 of the "Extended Special-Purpose MPLS Label Values" registry are set aside as reserved. Furthermore, an implementationMUST NOT<bcp14>MUST NOT</bcp14> place a label with a value in the range 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 a value in the range 0-15MUST<bcp14>MUST</bcp14> drop the packet.</t> <t>When inspecting a label stack to find an Entropy Label Indicator (ELI--- label7)7), apre-existingpreexisting implementation may fail to inspect the previouslabel,label andsothus 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 XL without causing harm. However, the packet will be dropped when the XL reaches the top of the stack at another LSR.</t></list></t></blockquote> <t>END</t> </section> <section anchor="security"title="Security Considerations"> <t>Thenumbered="true" toc="default"> <name>Security Considerations</name> <t>This document describes the terminology to be used when describing and specifying the use of SPLs. It does noteffect theaffect forwarding in the MPLS data plane, nor does it have any effect on howLSPsLabel Switched Paths are established by an MPLS control plane or by a centralized controller.</t> <t>This document does not aim to describe existing implementations of SPLs or potential vulnerabilities of SPLs.</t> </section> <section anchor="IANA"title="IANA Considerations">numbered="true" toc="default"> <name>IANA Considerations</name> <t>IANAis requested to changehas changed the name of the registrythat today isonce called "Special-Purpose MPLS Label Values"is changedto now be called "BaseSpecial- PurposeSpecial-Purpose MPLS LabelValues".Values" <xref target="bSPL" format="default"/>. </t></section> <section anchor="Acknowledgements" title="Acknowledgements"> <t>We like to thank<t>IANA has also updated theRouting Directorate reviwer Eric Gray for a detailed, careful and insightful review, and Tom Petch"Base Special-Purpose MPLS Label Values" registry by changing the description forpointing out several issues of clarity.</t> </section> <section anchor="Contributors" title="Contributors"> <t>The following people contributed textvalue 15 from "Extension Label" to "Extension Label (XL)" and also adding thisdocument:</t> <figure> <artwork align="left"> <![CDATA[ Stewart Bryant Futurewei Technologies Inc. Email: stewart.bryant@gmail.com ]]> </artwork> </figure>document as a reference. </t> <table anchor="iana-reg-update-table-1"> <name>Updated Entry for Value 15 in the "Base Special-Purpose MPLS Label Values" Registry</name> <thead> <tr> <th align="center">Value</th> <th align="center">Description</th> <th align="center">Reference</th> </tr> </thead> <tbody> <tr> <td>15</td> <td>Extension Label (XL)</td> <td>RFC 7274, RFC 9017</td> </tr> </tbody> </table> </section> </middle> <back><references title="Normative References"> <?rfc include="reference.RFC.2119"?> <?rfc include="reference.RFC.3032"?> <?rfc include="reference.RFC.7274"?> <?rfc include="reference.RFC.8174"?><references> <name>References</name> <references> <name>Normative References</name> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3032.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7274.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <reference anchor="SPL-NAME-SPACE"target="https://www.iana.org/assignments/mpls-label-values/mpls-label-values.xhtml/">target="https://www.iana.org/assignments/mpls-label-values/"> <front> <title>Special-Purpose Multiprotocol Label Switching (MPLS) Label Values</title><author/><author><organization>IANA</organization></author> <date/> </front> </reference> <reference anchor="bSPL"target="https://www.iana.org/assignments/mpls-label-values/mpls-label-values.xhtml#special-purpose/">target="https://www.iana.org/assignments/mpls-label-values/"> <front><title>Special-Purpose<title>Base Special-Purpose MPLS Label Values</title><author/><author><organization>IANA</organization></author> <date/> </front> </reference> <reference anchor="eSPL"target="https://www.iana.org/assignments/mpls-label-values/mpls-label-values.xhtml#extended/">target="https://www.iana.org/assignments/mpls-label-values/"> <front> <title>Extended Special-Purpose MPLS Label Values</title><author/><author><organization>IANA</organization></author> <date/> </front> </reference> </references><references title="Informative References"> <?rfc include="reference.RFC.8595"?><references> <name>Informative References</name> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8595.xml"/> </references> </references> <section anchor="Acknowledgements" numbered="false" toc="default"> <name>Acknowledgements</name> <t>We would like to thank the Routing Directorate reviewer, <contact fullname="Eric Gray"/>, for a detailed, careful, and insightful review, and <contact fullname="Tom Petch"/> for pointing out several issues of clarity.</t> </section> <section anchor="Contributors" numbered="false" toc="default"> <name>Contributors</name> <t>The following individual contributed text to this document:</t> <contact fullname="Stewart Bryant"> <organization>Futurewei Technologies Inc.</organization> <address> <postal> <street></street> <city></city> <region></region> <country></country> </postal> <email>stewart.bryant@gmail.com</email> </address> </contact> </section> </back> </rfc>