RFC 9041
Updating the MPLS Label Switched Paths (LSPs) Ping Parameters IANA Registry
Part 1 of 13 π
Updating the MPLS Label Switched Paths (LSPs) Ping Parameters IANA Registry π
Okay bestie, let's get the title block sorted first π This is RFC 9041, published in July 2021 by the IETF (Internet Engineering Task Force). It's a Standards Track document, so it's proper Internet Standard stuff β¨ Its ISSN is 2070-1721. It updates RFC 8029 and RFC 8611 and doesn't update anything else. The authors are L. Andersson (Bronze Dragon Consulting), M. Chen (Huawei Technologies), C. Pignataro (Cisco Systems), and T. Saad (Juniper Networks). Squad goals π«Ά
Abstract πΈ
Okay so this doc updates RFC 8029 and RFC 8611, and both of those set up IANA registries for MPLS Label Switched Path (LSP) Ping π¦ The big glow-up here is that the registration procedure "Private Use" (formerly known as "Vendor Private Use") is now "First Come First Served" for the TLV and sub-TLV registries π
It also updates how the responses are described when an unknown or erroneous code point shows up π The whole point is to clarify things and line this namespace up with newer developments. For example, the terminology now matches RFC 8126 instead of the now obsoleted RFC 5226. Both of them are titled "Guidelines for Writing an IANA Considerations Section in RFCs" π
Status of This Memo π
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community π«Ά It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). If you want more info on Internet Standards, check out Section 2 of RFC 7841 π
Info about the current status of this document, any errata, and how to send feedback on it lives at https://www.rfc-editor.org/info/rfc9041 π
Copyright Notice π
Copyright (c) 2021 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, because they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they are provided without warranty as described in the Simplified BSD License βοΈ
Table of Contents π§
1. Introduction
1.1. Requirements Language
1.2. Terminology
1.2.1. Terminology Used in This Document
1.2.2. Abbreviations
2. Updating the Message Types, Reply Modes, and Return Codes
Registries
3. Updating the TLV and Sub-TLV Registries
3.1. General Principles for the LSP Ping TLV and Sub-TLV
Registries
3.1.1. Unrecognized Experimental Use TLVs and Sub-TLVs
3.2. Common Registration Procedures for TLVs and Sub-TLVs
3.3. Changes to the LSP Ping Registries
3.3.1. Changes Common to the TLV and Sub-TLV Registries
4. Updates to Related RFCs
4.1. Updates to RFC 8029
4.2. Updates to RFC 8611
5. Security Considerations
6. IANA Considerations
6.1. Updates by IANA to the Message Types, Reply Modes, and
Return Codes Registries
6.1.1. Updates to the Message Types Registry
6.1.2. Updates to the Reply Modes Registry
6.1.3. Updates to the Return Codes Registry
6.2. Updates to the TLV and Sub-TLV Registries
6.2.1. Updates to the TLVs Registry
6.2.2. Updates to the Registry for Sub-TLVs for TLV Types 1,
16, and 21
6.2.3. Updates to the Registry for Sub-TLVs for TLV Type 6
6.2.4. Updates to the Registry for Sub-TLVs for TLV Type 11
6.2.5. Updates to the Registry for Sub-TLVs for TLV Type 20
6.2.6. Updates to the Registry for Sub-TLVs for TLV Type 23
6.2.7. Updates to the Registry for Sub-TLVs for TLV Type 27
7. References
7.1. Normative References
7.2. Informative References
Acknowledgements
Authors' Addresses
1. Introduction β¨
There were a bunch of reasons to start the work that led to this document, for example:
- When the LSP Ping registry was created, people incorrectly assumed that code points allocated by Experimental RFCs would be "experimental" code points. Nope π A code point in a public IANA registry isn't limited by the type of RFC that made the allocation. It's available for use in any type of document.
- The number of "experimental" code points was also way too large compared to what's normally allocated for "Experimental Use" π¬
- The words "mandatory" and "optional" are used differently in [RFC8029] than in other RFCs. For example, [RFC8029] talks about mandatory TLVs to mean it's mandatory to take a certain action if the TLV is found in a message but isn't recognized. Other RFCs use "mandatory TLV" to mean a TLV that must be present in a message. Confusing, I know π
Over time there have been attempts to administratively update some of the registries, but it was soon decided that an RFC was needed π Other, often minor, potential updates popped up too, like reserving the value 0 (zero) in registries where that's possible πΈ
[RFC8029] holds updates to the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" IANA namespace [IANA-LSP-PING] π
[RFC8611] created LSP Ping IANA registries that match [RFC8126]. This document further clarifies the entries in those registries and makes the definitions more precise π
This document updates [RFC8029] and [RFC8611] by updating two groups of registries, like this:
First, the "Message Types" [IANA-MT], "Reply Modes" [IANA-RM], and "Return Codes" [IANA-RC] registries are updated. The changes to these registries are minor π
Second, this document updates the TLV and sub-TLV registries listed below:
- "TLVs", [IANA-TLV-reg]
- "Sub-TLVs for TLV Types 1, 16, and 21", [IANA-Sub-1-16-21]
- "Sub-TLVs for TLV Type 6", [IANA-Sub-6]
- "Sub-TLVs for TLV Type 11", [IANA-Sub-11]
- "Sub-TLVs for TLV Type 20", [IANA-Sub-20]
- "Sub-TLVs for TLV Type 23", [IANA-Sub-23]
- "Sub-TLVs for TLV Type 27", [IANA-Sub-27]
It should be noted that [RFC8029] was published before [RFC8126] and uses outdated terminology for some registration procedures, like "Vendor Private Use". [RFC8611] was published after [RFC8126] and uses its recommended terminology, like "Private Use". However, now both "Vendor Private Use" and "Private Use" have been removed and replaced with "First Come First Served" (FCFS) code points π
One reason to change away from code points allocated by Vendor Private Use or Private Use is that such code points are allowed in production networks. In theory, two vendors could use the same code point value with different meanings. If a code like that ever got deployed in the same network, it could cause protocol issues that would be super hard to debug π
With FCFS code points, this won't happen π Vendors that have existing code using Vendor Private Use or Private Use code points should register those code points as FCFS code points as soon as this document is published as an RFC π¦
The "Sub-TLVs for TLV Type 9" subregistry is not updated π ββοΈ
Third, according to [RFC8029], some code points (TLVs and sub-TLVs) are called "mandatory" or "optional". Unlike how other RFCs use these words to say whether it's mandatory or optional to include the code points in a message, [RFC8029] uses them to say that an action might or might not be mandatory. This document updates [RFC8029] to drop the words "mandatory" and "optional", and the text is changed to focus on what should be done π§
1.1. Requirements Language
Okay, here's the important bit that tells you how to read the capital letters π€ 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.
1.2. Terminology
This section lists terms that get used when talking about the hierarchy of IANA registries (Section 1.2.1), and abbreviations used in IANA registries are updated in this document (Section 1.2.2) π
1.2.1. Terminology Used in This Document
Terms related to IANA registries are used like this in this document:
- Namespace: A namespace is a top-level registry. An example could be "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" [IANA-LSP-PING]. A namespace is most often a container for registries that hold code points that share some affinity π
- Registry: An IANA registry holds code points and lists the registration procedures and allocation for these code points. One example would be the "TLVs" registry [IANA-TLV-reg] π
- Subregistry: A subregistry is used when a code point, or a set of code points allocated in a single registry, needs "sub-code-points" scoped by the code point or the set of code points. An example of a subregistry that holds code points for more than one TLV is "Sub-TLVs for TLV Types 1, 16, and 21" [IANA-Sub-1-16-21] π§©
1.2.2. Abbreviations
This section lists abbreviations used in the unchanged part of the registries updated by this document. These abbreviations were originally expanded in the document defining the registries. They're listed here because of the requirement to expand any abbreviation that isn't well known. All of these abbreviations come from the "Return Codes" registry [IANA-RC] β¨
BFD: Bidirectional Forwarding Detection
DDMAP: Downstream Detailed Mapping
FEC: Forwarding Equivalence Class
OAM: Operation, Administration, and Maintenance
PM: Performance Monitoring
RSC: Return Subcode
2. Updating the Message Types, Reply Modes, and Return Codes Registries β¨
okay so bestie, this section is about three IANA registries that are basically the big lists of who-gets-what for LSP Ping π¦. The "Message Types" [IANA-MT], "Reply Modes" [IANA-RM], and "Return Codes" [IANA-RC] registries all got a glow-up π
- In the listing of assigned code points, the term "Vendor Private Use" is changed to "Private Use" for the 252-255 range. The registration procedures have been updated to match π
- The registration procedure "Specification Required" is changed to "RFC Required", and the note "Experimental RFC needed" is removed for the 192-247 range. Bye bye, extra paperwork π
- A small set of four code points (248-251) for Experimental Use is added by shrinking the "RFC Required" range. The registration procedures are updated for this too π§
- A note "Reserved, not to be assigned" has been added to the registration procedures for the "Private Use" and "Experimental Use" ranges π
- In the lists that capture assignment status, the reserved fields (that's 0 (zero), Private Use, and Experimental Use) are now clearly marked as such π
- Quick side note: in the "Return Codes" registry [IANA-RC], code point "0" was already assigned. That doesn't change, and in this registry it stays assigned as "No Return Code" π
The new registration procedures, the registry layouts, and the new assignments for these registries are found in Section 6.1. Go check it out, it's giving full reference πΈ
3. Updating the TLV and Sub-TLV Registries π¦
3.1. General Principles for the LSP Ping TLV and Sub-TLV Registries π
these are the ground rules for processing any TLV from any of the LSP Ping TLV and sub-TLV IANA registries, no exceptions π
- All TLVs and sub-TLVs with a type in the range 0-32767 require a response if they are not recognized. Not optional, babe π
- All TLVs and sub-TLVs in the range 32768-65535 can be silently dropped if they are not recognized. Alternatively, the receiver may step over the unrecognized TLV or send an error message. Options, options β¨
Each of the blocks has code point spaces with these registration procedures:
- Standards Action
- RFC Required
- Experimental Use
- First Come First Served (FCFS)
The exact definitions of these procedures are found in [RFC8126]. Read that one if you want the full tea π
3.1.1. Unrecognized Experimental Use TLVs and Sub-TLVs π§
unrecognized TLVs and sub-TLVs in the Experimental Use and FCFS ranges get handled just like any other unrecognized TLV or sub-TLV, so no special treatment there π
- If the unrecognized TLV or sub-TLV is from the Experimental Use range (31740-31743) or from the FCFS range (31744-32767), a Return Code of 2 ("One or more of the TLVs was not understood") must be sent in the echo response. Not a suggestion, a must π
- If a TLV or sub-TLV from the Experimental Use range (64508-64511) or from the FCFS range (64512-65535) is unrecognized, then the receiver can silently drop the TLV. Alternatively, the receiver may step over the unrecognized TLV or send an error message π«Ά
The IETF does not prescribe how recognized or unrecognized Experimental Use and Private Use TLVs and sub-TLVs are handled in experimental or private networks. That's up to the agency running the experimental or the private network π The statement above describes how standards-compliant implementations must treat the unrecognized TLVs and sub-TLVs from these ranges, so that part is the real rule β¨
3.2. Common Registration Procedures for TLVs and Sub-TLVs π
this section is the new registration procedures for the TLV and sub-TLV registries, all laid out in one table π
+=============+==============+=====================================+
| Range | Registration | Note |
| | Procedures | |
+=============+==============+=====================================+
| 0-16383 | Standards | This range is for TLVs and sub-TLVs |
| | Action | that require an error message if |
| | | not recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+-------------------------------------+
| 16384-31739 | RFC Required | This range is for TLVs and sub-TLVs |
| | | that require an error message if |
| | | not recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+-------------------------------------+
| 31740-31743 | Reserved for | Not to be assigned. This range is |
| | Experimental | for TLVs and sub-TLVs that require |
| | Use | an error message if not recognized. |
| | | This document, Section 3.1 |
+-------------+--------------+-------------------------------------+
| 31744-32767 | FCFS | This range is for TLVs and sub-TLVs |
| | | that require an error message if |
| | | not recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+-------------------------------------+
| 32768-49161 | Standards | This range is for TLVs and sub-TLVs |
| | Action | that can be silently dropped if not |
| | | recognized. |
+-------------+--------------+-------------------------------------+
| 49162-64507 | RFC Required | This range is for TLVs and sub-TLVs |
| | | that can be silently dropped if not |
| | | recognized. |
+-------------+--------------+-------------------------------------+
| 64508-64511 | Reserved for | Not to be assigned. This range is |
| | Experimental | for TLVs and sub-TLVs that can be |
| | Use | silently dropped if not recognized. |
+-------------+--------------+-------------------------------------+
| 64512-65535 | FCFS | This range is for TLVs and sub-TLVs |
| | | that can be silently dropped if not |
| | | recognized. |
+-------------+--------------+-------------------------------------+
Table 1: TLV and Sub-TLV Registration Procedures
3.3. Changes to the LSP Ping Registries πΈ
this section lists the changes to each MPLS LSP Ping TLV and sub-TLV registry. Sections 6.2.1 to 6.2.7 show what the new versions of the IANA registries should look like, along with the registration procedures for each one π¦
the new registration procedure descriptions and the new assignments for these registries are used to model the changed MPLS LSP Ping registries, so check Section 6 for that π
3.3.1. Changes Common to the TLV and Sub-TLV Registries π
the following changes are made to the TLV and sub-TLV registries π
- The registration procedures "First Come First Served" (FCFS) and "Experimental Use" have been added to the table of registration procedures. β¨
- Two small sets of code points (four code points each) for Experimental Use have been created. The first set is for the range that requires a response if the TLV or sub-TLV is not recognized. The second set is for the range where the TLV or sub-TLV may be silently dropped if not recognized. The code points for Experimental Use have been taken from the ranges previously called "Specification Required" and "RFC Required" [RFC8029] π§
- The registration procedure "Specification Required" has been changed to "RFC Required", and the note "Experimental RFC needed" has been removed. π
- In the listing of assignments, the term "Vendor Private Use" has been changed to "First Come First Served" (FCFS). π
- In the listing of assignments, the range for "Experimental Use" has been added. π«Ά
- A note saying "Not to be assigned" has been added for the registration procedure "Experimental Use". π
- In the list that captures assignment status, the fields that are reserved, i.e., 0 (zero) and Experimental Use, have been clearly marked. π
4. Updates to Related RFCs π
okay so some referenced RFCs use the concept "mandatory TLVs" and "mandatory sub-TLVs" to mean that if a TLV or sub-TLV in the 0-32767 range shows up in a message and isn't understood, an error message has to go back in response π
the same RFCs use "optional TLVs" and "optional sub-TLVs" to mean TLVs or sub-TLVs that can be silently ignored if not recognized π«Ά
here's the tea: other RFCs use "mandatory TLVs" and "mandatory sub-TLVs" to mean TLVs and sub-TLVs that MUST be present in a message. So we want to stop using "mandatory" for the ones that need an error message in response if not understood. The changes to the RFCs below line up with this practice π
4.1. Updates to RFC 8029 π
"Mandatory" and "optional" are used to say whether a response is needed when a TLV or sub-TLV isn't understood, in Section 3 of "Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures" [RFC8611] π¦
the text in those two paragraphs is now updated to the following:
TLV and sub-TLV types less than 32768 (i.e., with the high-order bit equal to 0) are TLVs and sub-TLVs that MUST either be supported by an implementation or result in a Return Code of 2 ("One or more of the TLVs was not understood") being sent in the echo response. An implementation that does not understand or support a received TLV or sub-TLV with a type greater than or equal to 32768 (i.e., with the high-order bit equal to 1) SHOULD ignore and step over the TLV or sub-TLV; however, an implementation MAY send an echo response with a Return Code of 2 ("One or more of the TLVs was not understood") as it would have done if the high-order bit had been clear.
In Section 3.8 of [RFC8029], "mandatory" is used in the same way. The first two paragraphs of this section are now updated to read as follows:
The following TLV is a TLV that MAY be included in an echo reply to inform the sender of an echo request that includes TLV or sub-TLV Types less than 32768 (i.e., with the high-order bit equal to 0) that are either not supported by the implementation or parsed and found to be in error. The Value field uses sub-TLVs to encode the received TLVs and sub-TLVs that were not understood.
4.2. Updates to RFC 8611 π¦
Okay bestie, so Section 13.4.1 of "Label Switched Path (LSP) Ping and Traceroute Multipath Support for Link Aggregation Group (LAG) Interfaces" [RFC8611] is where "Sub-TLVs for TLV Type 6" [IANA-Sub-6] gets defined π
The "Sub-TLVs for TLV Type 6" registry has been updated so it lines up with the changes in this document β¨
Section 13.4.1 of [RFC8611] is now updated like this:
| Section 13.4.1 Sub-TLVs for TLV Type 6
IANA has created a new subregistry, "Sub-TLVs for TLV Type 6" [IANA-Sub-6], under the "TLVs" registry [IANA-TLV-reg] of the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" namespace [lsp-ping-Namespace] π
The "Sub-TLVs for TLV Type 6" subregistry is now updated to match the changes in this document πΈ
Here's the new breakdown of ranges, registration procedures, and notes:
+=============+==============+==================================+
| Range | Registration | Note |
| | Procedures | |
+=============+==============+==================================+
| 0-16383 | Standards | This range is for sub-TLVs that |
| | Action | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 16384-31739 | RFC Required | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 31740-31743 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that require an |
| | Use | error message if not recognized. |
| | | This document, Section 3.1 |
+-------------+--------------+----------------------------------+
| 31744-32767 | FCFS | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 32768-49161 | Standards | This range is for sub-TLVs that |
| | Action | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 49162-64507 | RFC Required | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64508-64511 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that can be |
| | Use | silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64512-65535 | FCFS | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
Table 2: Sub-TLVs for TLV Type 6 Registration Procedures
5. Security Considerations π
This document updates IANA registries π It also updates the terminology used to define the code points in the registries, and clarifies the terminology related to them. The document does not change how the code points in the registries are used. This should not create any new threats.
However, the updated terminology and the clarifications actually make things safer π They make it more likely that implementations will be consistent, and that makes them harder to attack. Main character energy for security, honestly π
6. IANA Considerations π
IANA has updated the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" namespace [IANA-LSP-PING] as described in this document β¨
See Section 1.2.1 of "Terminology Used in This Document" to see how "namespace", "registry", and "subregistry" are used in this document π§
In other parts of this document, the focus has been on what the LSP Ping registries have in common. For the IANA Considerations, though, each changed registry gets described in its own right π
The following registries and subregistries have been changed:
- "Message Types", [IANA-MT]
- "Reply Modes", [IANA-RM]
- "Return Codes", [IANA-RC]
- "TLVs", [IANA-TLV-reg]
- "Sub-TLVs for TLV Types 1, 16, and 21", [IANA-Sub-1-16-21]
- "Sub-TLVs for TLV Type 6", [IANA-Sub-6]
- "Sub-TLVs for TLV Type 11", [IANA-Sub-11]
- "Sub-TLVs for TLV Type 20", [IANA-Sub-20]
- "Sub-TLVs for TLV Type 23", [IANA-Sub-23]
- "Sub-TLVs for TLV Type 27", [IANA-Sub-27]
This document has been listed as an additional reference for each of the registries described in Sections 6.1 and 6.2 π«Ά
6.1. Updates by IANA to the Message Types, Reply Modes, and Return Codes Registries π
This section walks through the updated registration procedures and allocations for the "Message Types", "Reply Modes", and "Return Codes" registries. Let's get into it π
6.1.1. Updates to the Message Types Registry π
These are the changes to the "Message Types" registry specified in this document:
- Code Point 0 (zero) has been marked Reserved.
- The "Specification Required" registration procedure has been changed to "RFC Required", and the comment "Experimental RFC needed" has been removed.
- Four code points have been taken from what used to be "Specification Required" to form a set of code points for "Experimental Use".
The registration procedures for the "Message Types" registry after the changes above are shown in the table below β¨
+=========+=========================+==============================+
| Range | Registration Procedures | Note |
+=========+=========================+==============================+
| 0-191 | Standards Action | |
+---------+-------------------------+------------------------------+
| 192-247 | RFC Required | |
+---------+-------------------------+------------------------------+
| 248-251 | Experimental Use | Reserved, not to be assigned |
+---------+-------------------------+------------------------------+
| 252-255 | Private Use | Reserved, not to be assigned |
+---------+-------------------------+------------------------------+
Table 3: Message Types Registration Procedures
And here are the updated assignments for the "Message Types" registry π¦
+=========+===============================+===============+
| Value | Meaning | Reference |
+=========+===============================+===============+
| 0 | Reserved | This document |
+---------+-------------------------------+---------------+
| 1 | MPLS Echo Request | [RFC8029] |
+---------+-------------------------------+---------------+
| 2 | MPLS Echo Reply | [RFC8029] |
+---------+-------------------------------+---------------+
| 3 | MPLS Proxy Ping Request | [RFC7555] |
+---------+-------------------------------+---------------+
| 4 | MPLS Proxy Ping Reply | [RFC7555] |
+---------+-------------------------------+---------------+
| 5 | MPLS Relayed Echo Reply | [RFC7743] |
+---------+-------------------------------+---------------+
| 6-247 | Unassigned | |
+---------+-------------------------------+---------------+
| 248-251 | Reserved for Experimental Use | This document |
+---------+-------------------------------+---------------+
| 252-255 | Reserved for Private Use | [RFC8029] |
+---------+-------------------------------+---------------+
Table 4: Assignments for the Message Types Registry
6.1.2. Updates to the Reply Modes Registry π¦
okay so the Reply Modes registry is getting a little glow-up π here's exactly what's changing:
- Code Point 0 (zero) has been marked Reserved. π«Ά
- The registration procedure "Specification Required" has been changed to "RFC Required", and the comment "Experimental RFC needed" has been removed. π
- Four code points have been taken from what was previously "Specification Required" to form a set of code points for "Experimental Use". β¨
the new registration procedures are shown in Table 5 πΈ
+=========+=========================+==============================+
| Range | Registration Procedures | Note |
+=========+=========================+==============================+
| 0-191 | Standards Action | |
+---------+-------------------------+------------------------------+
| 192-247 | RFC Required | |
+---------+-------------------------+------------------------------+
| 248-251 | Experimental Use | Reserved, not to be assigned |
+---------+-------------------------+------------------------------+
| 252-255 | Private Use | Reserved, not to be assigned |
+---------+-------------------------+------------------------------+
Table 5: Reply Modes Registration Procedures
and then the updated assignments for the Reply Modes registry are in Table 6, so you can see every single value and who's responsible for it π§
+=========+===================================+===============+
| Value | Meaning | Reference |
+=========+===================================+===============+
| 0 | Reserved | This document |
+---------+-----------------------------------+---------------+
| 1 | Do not reply | [RFC8029] |
+---------+-----------------------------------+---------------+
| 2 | Reply via an IPv4/IPv6 UDP packet | [RFC8029] |
+---------+-----------------------------------+---------------+
| 3 | Reply via an IPv4/IPv6 UDP packet | [RFC8029] |
| | with Router Alert | |
+---------+-----------------------------------+---------------+
| 4 | Reply via application-level | [RFC8029] |
| | control channel | |
+---------+-----------------------------------+---------------+
| 5 | Reply via Specified Path | [RFC7110] |
+---------+-----------------------------------+---------------+
| 6-247 | Unassigned | |
+---------+-----------------------------------+---------------+
| 248-251 | Reserved for Experimental Use | This document |
+---------+-----------------------------------+---------------+
| 252-255 | Reserved for Private Use | [RFC8029] |
+---------+-----------------------------------+---------------+
Table 6: Assignments for the Reply Modes Registry
6.1.3. Updates to the Return Codes Registry β¨
okay so this one is the Return Codes registry glow-up π here's what's changing:
- the "Specification Required" procedure is now "RFC Required" π, and the comment "Experimental RFC needed" is gone π
- four code points that used to be "Specification Required" got pulled out to become a set for "Experimental Use" π§ͺ
the new registration procedures for the "Return Codes" registry look like this π
+=========+=========================+==============================+
| Range | Registration Procedures | Note |
+=========+=========================+==============================+
| 0-191 | Standards Action | |
+---------+-------------------------+------------------------------+
| 192-247 | RFC Required | |
+---------+-------------------------+------------------------------+
| 248-251 | Experimental Use | Reserved, not to be assigned |
+---------+-------------------------+------------------------------+
| 252-255 | Private Use | Reserved, not to be assigned |
+---------+-------------------------+------------------------------+
Table 7: Return Codes Registration Procedures
and the updated assignments for the "Return Codes" registry are below, so you can see every single value and who it belongs to π¦
+=========+=========================================+=============+
| Value | Meaning | Reference |
+=========+=========================================+=============+
| 0 | No Return Code | [RFC8029] |
+---------+-----------------------------------------+-------------+
| 1 | Malformed echo request received | [RFC8029] |
+---------+-----------------------------------------+-------------+
| 2 | One or more of the TLVs was not | [RFC8029] |
| | understood | |
+---------+-----------------------------------------+-------------+
| 3 | Replying router is an egress for the | [RFC8029] |
| | FEC at stack-depth <RSC> | |
+---------+-----------------------------------------+-------------+
| 4 | Replying router has no mapping for the | [RFC8029] |
| | FEC at stack-depth <RSC> | |
+---------+-----------------------------------------+-------------+
| 5 | Downstream Mapping Mismatch (See [1]) | [RFC8029] |
+---------+-----------------------------------------+-------------+
| 6 | Upstream Interface Index Unknown (See | [RFC8029] |
| | [1]) | |
+---------+-----------------------------------------+-------------+
| 7 | Reserved | [RFC8029] |
+---------+-----------------------------------------+-------------+
| 8 | Label switched at stack-depth <RSC> | [RFC8029] |
+---------+-----------------------------------------+-------------+
| 9 | Label switched but no MPLS forwarding | [RFC8029] |
| | at stack-depth <RSC> | |
+---------+-----------------------------------------+-------------+
| 10 | Mapping for this FEC is not the given | [RFC8029] |
| | label at stack-depth <RSC> | |
+---------+-----------------------------------------+-------------+
| 11 | No label entry at stack-depth <RSC> | [RFC8029] |
+---------+-----------------------------------------+-------------+
| 12 | Protocol not associated with interface | [RFC8029] |
| | at FEC stack-depth <RSC> | |
+---------+-----------------------------------------+-------------+
| 13 | Premature termination of ping due to | [RFC8029] |
| | label stack shrinking to a single label | |
+---------+-----------------------------------------+-------------+
| 14 | See DDMAP TLV for meaning of Return | [RFC8029] |
| | Code and Return Subcode (See [2]) | |
+---------+-----------------------------------------+-------------+
| 15 | Label switched with FEC change | [RFC8029] |
+---------+-----------------------------------------+-------------+
| 16 | Proxy Ping not authorized | [RFC7555] |
+---------+-----------------------------------------+-------------+
| 17 | Proxy Ping parameters need to be | [RFC7555] |
| | modified | |
+---------+-----------------------------------------+-------------+
| 18 | MPLS Echo Request could not be sent | [RFC7555] |
+---------+-----------------------------------------+-------------+
| 19 | Replying router has FEC mapping for | [RFC7555] |
| | topmost FEC | |
+---------+-----------------------------------------+-------------+
| 20 | One or more TLVs not returned due to | [RFC7743] |
| | MTU size | |
+---------+-----------------------------------------+-------------+
| 21 | OAM Problem/Unsupported BFD Version | [RFC7759] |
+---------+-----------------------------------------+-------------+
| 22 | OAM Problem/Unsupported BFD | [RFC7759] |
| | Encapsulation format | |
+---------+-----------------------------------------+-------------+
| 23 | OAM Problem/Unsupported BFD | [RFC7759] |
| | Authentication Type | |
+---------+-----------------------------------------+-------------+
| 24 | OAM Problem/Mismatch of BFD | [RFC7759] |
| | Authentication Key ID | |
+---------+-----------------------------------------+-------------+
| 25 | OAM Problem/Unsupported Timestamp | [RFC7759] |
| | Format | |
+---------+-----------------------------------------+-------------+
| 26 | OAM Problem/Unsupported Delay Mode | [RFC7759] |
+---------+-----------------------------------------+-------------+
| 27 | OAM Problem/Unsupported Loss Mode | [RFC7759] |
+---------+-----------------------------------------+-------------+
| 28 | OAM Problem/Delay variation unsupported | [RFC7759] |
+---------+-----------------------------------------+-------------+
| 29 | OAM Problem/Dyadic mode unsupported | [RFC7759] |
+---------+-----------------------------------------+-------------+
| 30 | OAM Problem/Loopback mode unsupported | [RFC7759] |
+---------+-----------------------------------------+-------------+
| 31 | OAM Problem/Combined mode unsupported | [RFC7759] |
+---------+-----------------------------------------+-------------+
| 32 | OAM Problem/Fault management signaling | [RFC7759] |
| | unsupported | |
+---------+-----------------------------------------+-------------+
| 33 | OAM Problem/Unable to create fault | [RFC7759] |
| | management association | |
+---------+-----------------------------------------+-------------+
| 34 | OAM Problem/PM Configuration Error | [RFC7759] |
+---------+-----------------------------------------+-------------+
| 35 | Mapping for this FEC is not associated | [RFC8287], |
| | with the incoming interface | Section 7.4 |
+---------+-----------------------------------------+-------------+
| 36-247 | Unassigned | |
+---------+-----------------------------------------+-------------+
| 248-251 | Reserved for Experimental Use | This |
| | | document |
+---------+-----------------------------------------+-------------+
| 252-255 | Reserved for Private Use | [RFC8029] |
+---------+-----------------------------------------+-------------+
Table 8: Assignments for the Return Codes Registry
two notes go with those tables, and they're important π₯Ή
Note 1: notes [1] and [2] for code points 5, 6, and 14 point to footnotes in the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" namespace. this document does not change those footnotes.
Note 2: <RSC> stands for "Return Subcode" and is explained in Section 3.1 of [RFC8029] πΈ
6.2. Updates to the TLV and Sub-TLV Registries π§
the updates to the TLV and sub-TLV registries are mostly the same π the one exception is the "Sub-TLVs for TLV Type 9" [IANA-Sub-9] registry, which has not been updated π
also, when a field in an assignment table says "EQ", it just means there's no change from the existing field in the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" namespace [IANA-LSP-PING] β¨
6.2.1. Updates to the TLVs Registry π
okay bestie, this section is all about the "TLVs" registry [IANA-TLV-reg] and the new registration rules that are about to change everything β¨ it's giving total glow-up π
This section describes the new registration procedures and the assignments for the "TLVs" registry [IANA-TLV-reg] that are based on them.
The registration procedures for the "TLVs" registry have been changed, and here is what's different π
- The
Specification Requiredregistration procedure has been changed toRFC Required. The commentExperimental RFC Requiredhas been removed. Also, when a field in an assignment table saysEQ, it means there is no change from the existing field in the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" namespace [IANA-LSP-PING] π§ - [RFC8611] came out after [RFC8126] and uses the newer terminology, like "Private Use". So the
Private Usecode point registration procedure has been replaced by theFirst Come First Servedcode point registration procedure π¦ - Two small sets, four code points each, have been created for Experimental Use π
- Code points that are reserved are clearly marked as reserved π₯
- The assignments have been updated so they match the new registration procedures π
- The notes about the registration procedures have been changed to show whether or not a response is needed when a TLV isn't recognized π
Here's the table of registration procedures for the "TLVs" registry [IANA-TLV-reg] after all of those changes π
+=============+==============+=====================================+
| Range | Registration | Note |
| | Procedures | |
+=============+==============+=====================================+
| 0-16383 | Standards | This range is for TLVs that require |
| | Action | an error message if not recognized. |
| | | This document, Section 3.1 |
+-------------+--------------+-------------------------------------+
| 16384-31739 | RFC Required | This range is for TLVs that require |
| | | an error message if not recognized. |
| | | This document, Section 3.1 |
+-------------+--------------+-------------------------------------+
| 31740-31743 | Reserved for | Not to be assigned. This range is |
| | Experimental | for TLVs that require an error |
| | Use | message if not recognized. This |
| | | document, Section 3.1 |
+-------------+--------------+-------------------------------------+
| 31744-32767 | FCFS | This range is for TLVs that require |
| | | an error message if not recognized. |
| | | This document, Section 3.1 |
+-------------+--------------+-------------------------------------+
| 32768-49161 | Standards | This range is for TLVs that can be |
| | Action | silently dropped if not recognized. |
+-------------+--------------+-------------------------------------+
| 49162-64507 | RFC Required | This range is for TLVs that can be |
| | | silently dropped if not recognized. |
+-------------+--------------+-------------------------------------+
| 64508-64511 | Reserved for | Not to be assigned. This range is |
| | Experimental | for TLVs that can be silently |
| | Use | dropped if not recognized. |
+-------------+--------------+-------------------------------------+
| 64512-65535 | FCFS | This range is for TLVs that can be |
| | | silently dropped if not recognized. |
+-------------+--------------+-------------------------------------+
Table 9: TLVs Registration Procedures
Next up, the updated assignments for this registry π¦
Note that when a field in an assignment table says EQ, it means there was no change from the existing field in the "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" namespace [IANA-LSP-PING].
+=============+==============+===========+=======================+
| Type | TLV Name | Reference | Sub-TLV Registry |
+=============+==============+===========+=======================+
| 0 | Reserved | This | |
| | | document | |
+-------------+--------------+-----------+-----------------------+
| 1-7 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 8 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 9-16 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 17-19 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 20-27 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 28-31739 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 31740-31743 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for |
| | Use | | TLVs that require an |
| | | | error message if not |
| | | | recognized. This |
| | | | document, Section 3.1 |
+-------------+--------------+-----------+-----------------------+
| 31744-32767 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 32768-32770 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 32771-64507 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 64508-64511 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for |
| | Use | | TLVs that can be |
| | | | silently dropped if |
| | | | not recognized. |
+-------------+--------------+-----------+-----------------------+
| 64512-65535 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
Table 10: TLV Assignments
6.2.2. Updates to the Registry for Sub-TLVs for TLV Types 1, 16, and 21 π β¨
okay so this section is where we talk about the "Sub-TLVs for TLV Types 1, 16, and 21" [IANA-Sub-1-16-21] subregistry π and honestly it's giving main character energy. here's what's changing, no cap:
- The "Specification Required" registration procedure is now "RFC Required" π, and the comment "Experimental RFC Required" is gone π (bye bye!)
- The "Vendor Private Use" code point registration procedure got yeeted ποΈ and replaced with "First Come First Served" (FCFS) π
- Two small sets of four code points each are now made for Experimental Use π§ͺπ
- Reserved code points are clearly marked as reserved π so nobody gets confused, periodt
- The assignments are updated so they match the new registration procedures π
- The notes about the registration procedures now say whether or not a response is required when a sub-TLV isn't recognized π
so lowkey the big picture is that everything is cleaner now β¨ okay so here's the new table of registration procedures for the subregistry after all those changes, and I'm obsessed with how organized it looks ππ«Ά
+=============+==============+==================================+
| Range | Registration | Note |
| | Procedures | |
+=============+==============+==================================+
| 0-16383 | Standards | This range is for sub-TLVs that |
| | Action | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 16384-31739 | RFC Required | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 31740-31743 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that require an |
| | Use | error message if not recognized. |
| | | This document, Section 3.1 |
+-------------+--------------+----------------------------------+
| 31744-32767 | FCFS | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 32768-49161 | Standards | This range is for sub-TLVs that |
| | Action | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 49162-64507 | RFC Required | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64508-64511 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that can be |
| | Use | silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64512-65535 | FCFS | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
Table 11: Registration Procedures for Sub-TLVs for TLV Types 1, 16, and 21 π¦
now the assignments, which are the actual sub-TLV numbers and names π this is the part where you can see exactly who's using what π
+=============+==============+===========+=======================+
| Sub-Type | Sub-TLV Name | Reference | Comment |
+=============+==============+===========+=======================+
| 0 | Reserved | This | |
| | | document | |
+-------------+--------------+-----------+-----------------------+
| 1-4 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 5 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 6-8 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 9 | EQ | EQ | DEPRECATED |
+-------------+--------------+-----------+-----------------------+
| 10-20 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 21 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 22-37 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 38 | PeerAdj SID | [draft- | TEMPORARY - |
| | Sub-TLV | ietf- | registered |
| | | mpls-sr- | 2021-05-11, expires |
| | | epe-oam- | 2022-05-11 |
| | | 03] | |
+-------------+--------------+-----------+-----------------------+
| 39 | PeerNode SID | [draft- | TEMPORARY - |
| | Sub-TLV | ietf- | registered |
| | | mpls-sr- | 2021-05-11, expires |
| | | epe-oam- | 2022-05-11 |
| | | 03] | |
+-------------+--------------+-----------+-----------------------+
| 40 | PeerSet SID | [draft- | TEMPORARY - |
| | Sub-TLV | ietf- | registered |
| | | mpls-sr- | 2021-05-11, expires |
| | | epe-oam- | 2022-05-11 |
| | | 03] | |
+-------------+--------------+-----------+-----------------------+
| 41-31739 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 31740-31743 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for |
| | Use | | sub-TLVs that require |
| | | | an error message if |
| | | | not recognized. This |
| | | | document, Section 3.1 |
+-------------+--------------+-----------+-----------------------+
| 31744-64507 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 64508-64511 | Reserved for | This | Not to be assigned. |
| | Experimental | document | |
| | Use | | sub-TLVs that can be |
| | | | silently dropped if |
| | | | not recognized. |
+-------------+--------------+-----------+-----------------------+
| 64512-65535 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
Table 12: Sub-TLV for TLVs 1, 16, and 21 Assignments π§
and that's the whole vibe for this bit π the tables are the receipts, bestie, so you can check every single number yourself πβ¨
6.2.3. Updates to the Registry for Sub-TLVs for TLV Type 6 π
okay bestie, this part is about the "Sub-TLVs for TLV Type 6" [IANA-Sub-6] subregistry π and how its rules got a glow-up β¨. Here's the tea:
- [RFC8611] came out after [RFC8126] and it speaks the newer lingo, like "Private Use". So the old "Private Use" code point procedure got swapped out for "First Come First Served" πββοΈ
- Two little sets of four code points each got carved out for Experimental Use π§ͺ
- Reserved code points are now clearly marked as reserved π
- The assignments got updated so they match the new procedures π
- The notes about registration procedures now say whether or not a response is needed when a sub-TLV isn't recognized π
Here are the registration procedures for the "Sub-TLVs for TLV Type 6" [IANA-Sub-6] subregistry after all those changes π:
+=============+==============+==================================+
| Range | Registration | Note |
| | Procedures | |
+=============+==============+==================================+
| 0-16383 | Standards | This range is for sub-TLVs that |
| | Action | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 16384-31739 | RFC Required | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 31740-31743 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that require an |
| | Use | error message if not recognized. |
| | | This document, Section 3.1 |
+-------------+--------------+----------------------------------+
| 31744-32767 | FCFS | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 32768-49161 | Standards | This range is for sub-TLVs that |
| | Action | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 49162-64507 | RFC Required | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64508-64511 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that can be |
| | Use | silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64512-65535 | FCFS | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
Table 13: Registration Procedures for Sub-TLVs for TLV Type 6
And here's who's who in the actual assignments π:
+=============+==============+===========+=======================+
| Sub-Type | Sub-TLV Name | Reference | Comment |
+=============+==============+===========+=======================+
| 0 | Reserved | This | |
| | | document, | |
| | | [RFC8611] | |
+-------------+--------------+-----------+-----------------------+
| 1-2 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 3-31739 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 31740-31743 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for |
| | Use | | sub-TLVs that require |
| | | | an error message if |
| | | | not recognized. This |
| | | | document, Section 3.1 |
+-------------+--------------+-----------+-----------------------+
| 31744-64507 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 64508-64511 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for |
| | Use | | sub-TLVs that can be |
| | | | silently dropped if |
| | | | not recognized. |
+-------------+--------------+-----------+-----------------------+
| 64512-65535 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
Table 14: Sub-TLVs for TLV Type 6 Assignments
6.2.4. Updates to the Registry for Sub-TLVs for TLV Type 11 π
okay so this bit is about the "Sub-TLVs for TLV Type 11" [IANA-Sub-11] subregistry π and it's giving new rules, bestie β¨ here's the glow-up:
- The "Specification Required" registration procedure has been changed to "RFC Required", and the comment "Experimental RFC Required" has been removed π¦
- The code points registration procedure "Vendor Private Use" has been removed and replaced with "First Come First Served" code points π
- Two small sets, four code points each, have been created for Experimental Use π§
- Code points that are reserved are clearly marked as such πΈ
- The assignments have been updated to match the new registration procedures π
- The notes related to the registration procedures have been changed to reflect whether or not a response is required if a sub-TLV is not recognized π«Ά
ngl the new registration procedures for the subregistry after all those changes are shown in the table below, and it's so organized ππ
+=============+==============+==================================+
| Range | Registration | Note |
| | Procedures | |
+=============+==============+==================================+
| 0-16383 | Standards | This range is for sub-TLVs that |
| | Action | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 16384-31739 | RFC Required | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 31740-31743 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that require an |
| | Use | error message if not recognized. |
| | | This document, Section 3.1 |
+-------------+--------------+----------------------------------+
| 31744-32767 | FCFS | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1 |
+-------------+--------------+----------------------------------+
| 32768-49161 | Standards | This range is for sub-TLVs that |
| | Action | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 49162-64507 | RFC Required | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64508-64511 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that can be |
| | Use | silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64512-65535 | FCFS | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
Table 15: Registration Procedures for Sub-TLVs for TLV Type 11 π
+=============+==============+===========+=======================+
| Sub-Type | Sub-TLV Name | Reference | Comment |
+=============+==============+===========+=======================+
| 0 | Reserved | This | |
| | | document | |
+-------------+--------------+-----------+-----------------------+
| 1-4 | EQ | EQ | EQ |
+-------------+--------------+-----------+-----------------------+
| 5-31739 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 31740-31743 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for |
| | Use | | sub-TLVs that require |
| | | | an error message if |
| | | | not recognized. This |
| | | | document, Section 3.1 |
+-------------+--------------+-----------+-----------------------+
| 31744-64507 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
| 64508-64511 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for |
| | Use | | sub-TLVs that can be |
| | | | silently dropped if |
| | | | not recognized. |
+-------------+--------------+-----------+-----------------------+
| 64512-65535 | Unassigned | | |
+-------------+--------------+-----------+-----------------------+
Table 16: Sub-TLVs for TLV Type 11 Assignments β¨
6.2.5. Updates to the Registry for Sub-TLVs for TLV Type 20 π β¨
Okay bestie, this part is all about the "Sub-TLVs for TLV Type 20" [IANA-Sub-20] subregistry π It gets a whole glow-up, and here's what changes:
- The "Specification Required" registration procedure is now "RFC Required", and the comment "Experimental RFC Required" is gone π
- The "Vendor Private Use" code point procedure is out, and "First Come First Served" code points are in π¦
- There are now two small sets of Experimental Use code points, four code points each π§ͺ
- Reserved code points are clearly marked as reserved π
- The assignments are updated so they match the new registration procedures π
- The notes about registration procedures now say whether or not a response is needed when a sub-TLV isn't recognized πΈ
Here's the registration procedures table for the "Sub-TLVs for TLV Type 20" [IANA-Sub-20] subregistry after all that glow-up π§
+=============+==============+==================================+
| Range | Registration | Note |
| | Procedures | |
+=============+==============+==================================+
| 0-16383 | Standards | This range is for sub-TLVs that |
| | Action | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1] |
+-------------+--------------+----------------------------------+
| 16384-31739 | RFC Required | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1] |
+-------------+--------------+----------------------------------+
| 31740-31743 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that require an |
| | Use | error message if not recognized. |
| | | This document, Section 3.1] |
+-------------+--------------+----------------------------------+
| 31744-32767 | FCFS | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1] |
+-------------+--------------+----------------------------------+
| 32768-49161 | Standards | This range is for sub-TLVs that |
| | Action | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 49162-64507 | RFC Required | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64508-64511 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that can be |
| | Use | silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64512-65535 | FCFS | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
Table 17: Registration Procedures for Sub-TLVs for TLV Type 20
And last but not least, the assignments table π₯Ή this is the lineup for the "Sub-TLVs for TLV Type 20" [IANA-Sub-20] subregistry π
+=============+==============+===========+========================+
| Sub-Type | Sub-TLV Name | Reference | Comment |
+=============+==============+===========+========================+
| 0 | Reserved | This | |
| | | document | |
+-------------+--------------+-----------+------------------------+
| 1-5 | EQ | EQ | EQ |
+-------------+--------------+-----------+------------------------+
| 6-31739 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
| 31740-31743 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for sub- |
| | Use | | TLVs that require an |
| | | | error message if not |
| | | | recognized. This |
| | | | document, Section 3.1] |
+-------------+--------------+-----------+------------------------+
| 31744-64507 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
| 64508-64511 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for sub- |
| | Use | | TLVs that can be |
| | | | silently dropped if |
| | | | not recognized. |
+-------------+--------------+-----------+------------------------+
| 64512-65535 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
Table 18: Sub-TLVs for TLV Type 20 Assignments
6.2.6. Updates to the Registry for Sub-TLVs for TLV Type 23 β¨
okay so this bit is about the "Sub-TLVs for TLV Type 23" [IANA-Sub-23] subregistry π it's getting a glow-up, and the new registration procedures and assignments are what's changing π
- the "Specification Required" procedure is now "RFC Required" π, and the "Experimental RFC Required" comment is gone π
- "Vendor Private Use" has been removed π ββοΈ, and those code points are now "First Come First Served" (FCFS) π
- two small sets, four code points each, are now set aside for Experimental Use π§ͺ
- reserved code points are clearly marked as reserved so nobody gets confused π«Ά
- the assignments got updated to match the new procedures πΈ
- the notes about registration procedures now say whether or not a response is needed when a sub-TLV isn't recognized π₯
the registration procedures for the "Sub-TLVs for TLV Type 23" [IANA-Sub-23] subregistry after all those changes look like this π
+=============+==============+==================================+
| Range | Registration | Note |
| | Procedures | |
+=============+==============+==================================+
| 0-16383 | Standards | This range is for sub-TLVs that |
| | Action | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1] |
+-------------+--------------+----------------------------------+
| 16384-31739 | RFC Required | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1] |
+-------------+--------------+----------------------------------+
| 31740-31743 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that require an |
| | Use | error message if not recognized. |
| | | This document, Section 3.1] |
+-------------+--------------+----------------------------------+
| 31744-32767 | FCFS | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1] |
+-------------+--------------+----------------------------------+
| 32768-49161 | Standards | This range is for sub-TLVs that |
| | Action | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 49162-64507 | RFC Required | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64508-64511 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that can be |
| | Use | silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64512-65535 | FCFS | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
Table 19: Registration Procedures for Sub-TLVs for TLV Type 23
and here are the actual assignments π¦
+=============+==============+===========+========================+
| Sub-Type | Sub-TLV Name | Reference | Comment |
+=============+==============+===========+========================+
| 0 | Reserved | [RFC7555] | |
+-------------+--------------+-----------+------------------------+
| 1 | EQ | EQ | EQ |
+-------------+--------------+-----------+------------------------+
| 2-31739 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
| 31740-31743 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for sub- |
| | Use | | TLVs that require an |
| | | | error message if not |
| | | | recognized. This |
| | | | document, Section 3.1] |
+-------------+--------------+-----------+------------------------+
| 31744-64507 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
| 64508-64511 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for sub- |
| | Use | | TLVs that can be |
| | | | silently dropped if |
| | | | not recognized. |
+-------------+--------------+-----------+------------------------+
| 64512-65535 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
Table 20: Sub-TLVs for TLV Type 23 Assignments
6.2.7. Updates to the Registry for Sub-TLVs for TLV Type 27 π
Okay bestie, this one's about the "Sub-TLVs for TLV Type 27" [IANA-Sub-27] subregistry π§. The new registration procedures and the assignments that follow from them are all here.
- The "Specification Required" registration procedure is now "RFC Required", and the comment "Experimental RFC Required" is gone π
- The "Vendor Private Use" code point procedure is out, and "First Come First Served" code points are in πΈ
- There are two small sets, four code points each, set aside for Experimental Use π§ͺ
- Reserved code points are clearly marked as reserved π
- The assignments are updated to match the new registration procedures β¨
- The notes about the registration procedures now say whether or not a response is required when a sub-TLV isn't recognized π¦
Here's the registration procedures table for the "Sub-TLVs for TLV Type 27" [IANA-Sub-27] subregistry after those changes π
+=============+==============+==================================+
| Range | Registration | Note |
| | Procedures | |
+=============+==============+==================================+
| 0-16383 | Standards | This range is for sub-TLVs that |
| | Action | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1] |
+-------------+--------------+----------------------------------+
| 16384-31739 | RFC Required | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1] |
+-------------+--------------+----------------------------------+
| 31740-31743 | Reserved for | Not to be assigned. This range |
| | Experimental | is for sub-TLVs that require an |
| | Use | error message if not recognized. |
| | | This document, Section 3.1] |
+-------------+--------------+----------------------------------+
| 31744-32767 | FCFS | This range is for sub-TLVs that |
| | | require an error message if not |
| | | recognized. This document, |
| | | Section 3.1] |
+-------------+--------------+----------------------------------+
| 32768-49161 | Standards | This range is for sub-TLVs that |
| | Action | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 49162-64507 | RFC Required | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64508-64511 | Experimental | Reserved, not to be assigned. |
| | Use | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
| 64512-65535 | FCFS | This range is for sub-TLVs that |
| | | can be silently dropped if not |
| | | recognized. |
+-------------+--------------+----------------------------------+
Table 21: Registration Procedures for Sub-TLVs for TLV Type 27
+=============+==============+===========+========================+
| Sub-Type | Sub-TLV Name | Reference | Comment |
+=============+==============+===========+========================+
| 0 | Reserved | [RFC7759] | |
+-------------+--------------+-----------+------------------------+
| 1-99 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
| 100-104 | EQ | EQ | EQ |
+-------------+--------------+-----------+------------------------+
| 105-199 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
| 200-202 | EQ | EQ | EQ |
+-------------+--------------+-----------+------------------------+
| 203-299 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
| 300 | EQ | EQ | EQ |
+-------------+--------------+-----------+------------------------+
| 301-399 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
| 400 | EQ | EQ | EQ |
+-------------+--------------+-----------+------------------------+
| 401-31739 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
| 31740-31743 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for sub- |
| | Use | | TLVs that require an |
| | | | error message if not |
| | | | recognized. This |
| | | | document, Section 3.1] |
+-------------+--------------+-----------+------------------------+
| 31744-64507 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
| 64508-64511 | Reserved for | This | Not to be assigned. |
| | Experimental | document | This range is for sub- |
| | Use | | TLVs that can be |
| | | | silently dropped if |
| | | | not recognized. |
+-------------+--------------+-----------+------------------------+
| 64512-65535 | Unassigned | | |
+-------------+--------------+-----------+------------------------+
Table 22: Sub-TLVs for TLV Type 27 Assignments
7. References π
7.1. Normative References π
- [IANA-LSP-PING]: IANA, "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters",
https://www.iana.org/assignments/mpls-lsp-ping-parameters. - [IANA-MT]: IANA, "Message Types",
https://www.iana.org/assignments/mpls-lsp-ping-parameters/. - [IANA-RC]: IANA, "Return Codes",
https://www.iana.org/assignments/mpls-lsp-ping-parameters/. - [IANA-RM]: IANA, "Reply Modes",
https://www.iana.org/assignments/mpls-lsp-ping-parameters/. - [IANA-Sub-1-16-21]: IANA, "Sub-TLVs for TLV Types 1, 16, and 21",
https://www.iana.org/assignments/mpls-lsp-ping-parameters/. - [IANA-Sub-11]: IANA, "Sub-TLVs for TLV Type 11",
https://www.iana.org/assignments/mpls-lsp-ping-parameters/. - [IANA-Sub-20]: IANA, "Sub-TLVs for TLV Type 20",
https://www.iana.org/assignments/mpls-lsp-ping-parameters/. - [IANA-Sub-23]: IANA, "Sub-TLVs for TLV Type 23",
https://www.iana.org/assignments/mpls-lsp-ping-parameters/. - [IANA-Sub-27]: IANA, "Sub-TLVs for TLV Type 27",
https://www.iana.org/assignments/mpls-lsp-ping-parameters/. - [IANA-Sub-6]: IANA, "Sub-TLVs for TLV Type 6",
https://www.iana.org/assignments/mpls-lsp-ping-parameters/. - [IANA-TLV-reg]: IANA, "TLVs",
https://www.iana.org/assignments/mpls-lsp-ping-parameters/. - [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. - [RFC8029]: Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., Aldrin, S., and M. Chen, "Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures", RFC 8029, DOI 10.17487/RFC8029, March 2017,
https://www.rfc-editor.org/info/rfc8029. - [RFC8126]: Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017,
https://www.rfc-editor.org/info/rfc8126. - [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. - [RFC8611]: Akiya, N., Swallow, G., Litkowski, S., Decraene, B., Drake, J., and M. Chen, "Label Switched Path (LSP) Ping and Traceroute Multipath Support for Link Aggregation Group (LAG) Interfaces", RFC 8611, DOI 10.17487/RFC8611, June 2019,
https://www.rfc-editor.org/info/rfc8611.
7.2. Informative References πβ¨
Okay bestie, these are the extra-credit reads π€ You don't need them to build the thing, but they give you the full backstory.
- IANA-Sub-9:
[IANA-Sub-9]IANA, "Sub-TLVs for TLV Type 9",https://www.iana.org/assignments/mpls-lsp-ping-parameters/. [lsp-ping-Namespace]IANA, "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters",https://www.iana.org/assignments/mpls-lsp-ping-parameters/.[RFC7110]Chen, M., Cao, W., Ning, S., Jounay, F., and S. Delord, "Return Path Specified Label Switched Path (LSP) Ping", RFC 7110, DOI 10.17487/RFC7110, January 2014,https://www.rfc-editor.org/info/rfc7110.[RFC7555]Swallow, G., Lim, V., and S. Aldrin, "Proxy MPLS Echo Request", RFC 7555, DOI 10.17487/RFC7555, June 2015,https://www.rfc-editor.org/info/rfc7555.[RFC7743]Luo, J., Ed., Jin, L., Ed., Nadeau, T., Ed., and G. Swallow, Ed., "Relayed Echo Reply Mechanism for Label Switched Path (LSP) Ping", RFC 7743, DOI 10.17487/RFC7743, January 2016,https://www.rfc-editor.org/info/rfc7743.[RFC7759]Bellagamba, E., Mirsky, G., Andersson, L., Skoldstrom, P., Ward, D., and J. Drake, "Configuration of Proactive Operations, Administration, and Maintenance (OAM) Functions for MPLS-Based Transport Networks Using Label Switched Path (LSP) Ping", RFC 7759, DOI 10.17487/RFC7759, February 2016,https://www.rfc-editor.org/info/rfc7759.[RFC8287]Kumar, N., Ed., Pignataro, C., Ed., Swallow, G., Akiya, N., Kini, S., and M. Chen, "Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data Planes", RFC 8287, DOI 10.17487/RFC8287, December 2017,https://www.rfc-editor.org/info/rfc8287.
Acknowledgements π
The authors wanted to give a huge shoutout to Adrian Farrel, who left super useful comments and agreed to be the Document Shepherd π«Ά
The authors also owe a big thank you to Michelle Cotton and Amanda Baber, who were so patient while we figured out how our registries could and should be updated π
The authors thank Donald Eastlake 3rd and Tom Petch for their careful and detailed review πβ¨
Authors' Addresses π
Loa Andersson Bronze Dragon Consulting
Email: loa@pi.nu
Mach(Guoyi) Chen Huawei Technologies
Email: mach.chen@huawei.com
Carlos Pignataro Cisco Systems
Email: cpignata@cisco.com
Tarek Saad Juniper Networks
Email: tsaad@juniper.net
π¦ where this page comes from
- ietf: rfc9041 2021-07
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms