RFC 8736
PIM Message Type Space Extension and Reserved Bits
RFC 8736: PIM Message Type Space Extension and Reserved Bits π¦
okay bestie, this one is RFC 8736 β¨ from the Internet Engineering Task Force (IETF) stream. It's a Standards Track doc, published February 2020, with ISSN 2070-1721. The authors are S. Venaas of Cisco Systems, Inc. and A. Retana of Futurewei Technologies, Inc. π It obsoletes RFC 6166 and updates RFCs 3973, 5015, 5059, 6754, 7761, and 8364. Main character energy, fr fr π
Abstract πΈ
okay so PIM version 2 messages all share the same common header format, and that header has eight reserved bits. This doc explains how each message type may use those bits, and it creates a registry for the per-message-type usage. It also stretches the PIM type space by adding three new message types. For each of the new types, four of the previously reserved bits get used to form an extended type range π§
This doc updates RFCs 7761 and 3973 by defining how the currently Reserved field in the PIM common header gets used. It also updates those two plus RFCs 5015, 5059, 6754, and 8364 by specifying how the currently reserved bits are used for each PIM message π«Ά
This doc obsoletes RFC 6166. Bye, old friend π
Status of This Memo
ngl this part is a bit formal, but here's the tea. This is an Internet Standards Track document β¨
It's a product of the IETF, and it reflects the consensus of the IETF community. It went through public review and got approved for publication by the Internet Engineering Steering Group (IESG). If you want more on Internet Standards, check out Section 2 of RFC 7841 π
Info about this doc's current status, any errata, and how to send feedback lives at https://www.rfc-editor.org/info/rfc8736 π¦
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they stand on the publication date. Please read these carefully, because they spell out your rights and restrictions for this doc. Code Components pulled out of this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Simplified BSD License π
Table of Contents π
1. Introduction
2. Conventions Used in This Document
3. PIM Header Common Format
4. Flag Bit Definitions
4.1. Flag Bits for Type 4 (Bootstrap)
4.2. Flag Bits for Type 10 (DF Election)
4.3. Flag Bits for Type 12 (PFM)
4.4. Flag Bits for Types 13, 14, and 15 (Type Space Extension)
5. PIM Type Space Extension
6. Security Considerations
7. IANA Considerations
8. References
8.1. Normative References
8.2. Informative References
Authors' Addresses
1. Introduction β¨
okay so every PIM version 2 message shares a common header format, and that format is defined in the PIM Sparse Mode spec [RFC7761]. The common header has eight reserved bits. Every message type uses this header, but there's no doc that formally says those bits should be used per message type π
This doc calls the bits marked "reserved" in the common PIM header [RFC7761] "PIM message type Flag Bits," or just "Flag Bits." It says they get used separately on a per-message-type basis, and it creates a registry for that per-type usage π
This doc updates [RFC7761] and [RFC3973] by defining how the currently Reserved field in the PIM common header gets used. It also updates [RFC7761] and [RFC3973], along with [RFC5015], [RFC5059], [RFC6754], and [RFC8364], by specifying how the currently reserved bits get used for each PIM message π
The currently defined PIM message types sit in the range 0 to 15, and that type space is almost exhausted π Message type 15 was reserved by [RFC6166] for type space extension. In Section 5, this doc specifies how the Flag Bits get used for message types 13, 14, and 15 so the PIM type space can grow. This doc obsoletes [RFC6166] π¦
2. Conventions Used in This Document π§
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. So capitals = official meaning, lowercase = just vibes π
3. PIM Header Common Format πΈ
The common PIM header is defined in Section 4.9 of [RFC7761]. This doc updates the definition of the Reserved field and refers to that field as "PIM message type Flag Bits," or simply "Flag Bits." Here's the new common header format π
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM Ver| Type | Flag Bits | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: New Common Header
The Flag Bits field is defined in Section 4. Everything else stays the same π«Ά
4. Flag Bit Definitions π
Unless otherwise specified, all the flag bits for each PIM type are Reserved [RFC8126]. They MUST be set to zero on transmission, and they MUST be ignored upon receipt. The specification of a new PIM type MUST indicate whether the bits should be treated differently π¨
When you're defining flag bits, it helps to have a clear way to point at a specific bit. The most significant flag bit, the one right after the Type field, is called bit 7 π The least significant one, right in front of the Checksum field, is called bit 0. Here's the diagram β¨
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM Ver| Type |7 6 5 4 3 2 1 0| Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Flag Bits
4.1. Flag Bits for Type 4 (Bootstrap) π
PIM message type 4 (Bootstrap) [RFC5059] defines flag bit 7 as No-Forward. How that bit gets used is defined in that doc. The remaining flag bits are reserved π
4.2. Flag Bits for Type 10 (DF Election) πΈ
PIM message type 10 (DF Election) [RFC5015] says the four most significant flag bits (bits 4-7) are used as a subtype. How those bits get used is defined in that doc. The remaining flag bits are reserved π¦
4.3. Flag Bits for Type 12 (PFM) β
PIM message type 12 (PIM Flooding Mechanism) [RFC8364] defines flag bit 7 as No-Forward. How that bit gets used is defined in that doc. The remaining flag bits are reserved β¨
4.4. Flag Bits for Types 13, 14, and 15 (Type Space Extension) π§
These types and their flag bits are defined in Section 5 π
5. PIM Type Space Extension π
This doc defines types 13, 14, and 15 so that each of these types has 16 subtypes. That's 48 subtypes total, ready for future PIM extensions π₯ It works by defining a new Subtype field (see Figure 3) using the four most significant flag bits (bits 4-7). The notation type.subtype is used to reference these new extended types. The remaining four flag bits (bits 0-3) are reserved for each extended type to use (abbreviated as FB below) π«Ά
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM Ver| Type |Subtype| FB | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Subtypes
6. Security Considerations π
π¨ Security note, bestie: pay attention here.
This doc clarifies how the flag bits in the common PIM header get used, and it extends the PIM type space. Because of that, there's no impact on security and no changes to the considerations in [RFC7761] and [RFC3973] π
7. IANA Considerations β¨
okay so this doc updates the "PIM Message Types" registry ποΈ so it's crystal clear which flag bits each PIM message type actually uses. the registry now points back to this document π and the registration policy is still IETF Review [RFC8126].
Assignments into this registry MUST define any non-default usage (see Section 4) of the flag bits in addition to the type. that's the key rule, bestie π«Ά
here's the updated "PIM Message Types" registry, served fresh π
+------------+---------------+---------------+--------------------+
| Type | Name | Flag Bits | Reference |
+============+===============+===============+====================+
| 0 | Hello | 0-7: Reserved | [RFC3973][RFC7761] |
+------------+---------------+---------------+--------------------+
| 1 | Register | 0-7: Reserved | [RFC7761] |
+------------+---------------+---------------+--------------------+
| 2 | Register Stop | 0-7: Reserved | [RFC7761] |
+------------+---------------+---------------+--------------------+
| 3 | Join/Prune | 0-7: Reserved | [RFC3973][RFC7761] |
+------------+---------------+---------------+--------------------+
| 4 | Bootstrap | 0-6: Reserved | [RFC5059][RFC7761] |
| | +---------------+--------------------+
| | | 7: No-Forward | [RFC5059] |
+------------+---------------+---------------+--------------------+
| 5 | Assert | 0-7: Reserved | [RFC3973][RFC7761] |
+------------+---------------+---------------+--------------------+
| 6 | Graft | 0-7: Reserved | [RFC3973] |
+------------+---------------+---------------+--------------------+
| 7 | Graft-Ack | 0-7: Reserved | [RFC3973] |
+------------+---------------+---------------+--------------------+
| 8 | Candidate RP | 0-7: Reserved | [RFC7761] |
| | Advertisement | | |
+------------+---------------+---------------+--------------------+
| 9 | State Refresh | 0-7: Reserved | [RFC3973] |
+------------+---------------+---------------+--------------------+
| 10 | DF Election | 0-3: Reserved | [RFC5015] |
| | +---------------+--------------------+
| | | 4-7: Subtype | [RFC5015] |
+------------+---------------+---------------+--------------------+
| 11 | ECMP Redirect | 0-7: Reserved | [RFC6754] |
+------------+---------------+---------------+--------------------+
| 12 | PIM Flooding | 0-6: Reserved | [RFC8364] |
| | Mechanism +---------------+--------------------+
| | | 7: No-Forward | [RFC8364] |
+------------+---------------+---------------+--------------------+
| 13.0-15.15 | Unassigned | 0-3: | RFC 8736 |
| | | Unassigned | |
+------------+---------------+---------------+--------------------+
Table 1: Updated PIM Message Types Registry
the unassigned types up there use the extended type notation of type.subtype (more on that in Section 5 π¦). each extended type only gets 4 flag bits, so it's a lil cozy π§. new extended message types should be assigned consecutively, starting with 13.0, then 13.1, etc. πΈ
8. References π
8.1. Normative References
[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>.
[RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I.,
Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent
Multicast - Sparse Mode (PIM-SM): Protocol Specification
(Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March
2016, <https://www.rfc-editor.org/info/rfc7761>.
[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>.
8.2. Informative References
[RFC3973] Adams, A., Nicholas, J., and W. Siadak, "Protocol
Independent Multicast - Dense Mode (PIM-DM): Protocol
Specification (Revised)", RFC 3973, DOI 10.17487/RFC3973,
January 2005, <https://www.rfc-editor.org/info/rfc3973>.
[RFC5015] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano,
"Bidirectional Protocol Independent Multicast (BIDIR-
PIM)", RFC 5015, DOI 10.17487/RFC5015, October 2007,
<https://www.rfc-editor.org/info/rfc5015>.
[RFC5059] Bhaskar, N., Gall, A., Lingard, J., and S. Venaas,
"Bootstrap Router (BSR) Mechanism for Protocol Independent
Multicast (PIM)", RFC 5059, DOI 10.17487/RFC5059, January
2008, <https://www.rfc-editor.org/info/rfc5059>.
[RFC6166] Venaas, S., "A Registry for PIM Message Types", RFC 6166,
DOI 10.17487/RFC6166, April 2011,
<https://www.rfc-editor.org/info/rfc6166>.
[RFC6754] Cai, Y., Wei, L., Ou, H., Arya, V., and S. Jethwani,
"Protocol Independent Multicast Equal-Cost Multipath
(ECMP) Redirect", RFC 6754, DOI 10.17487/RFC6754, October
2012, <https://www.rfc-editor.org/info/rfc6754>.
[RFC8364] Wijnands, IJ., Venaas, S., Brig, M., and A. Jonasson, "PIM
Flooding Mechanism (PFM) and Source Discovery (SD)",
RFC 8364, DOI 10.17487/RFC8364, March 2018,
<https://www.rfc-editor.org/info/rfc8364>.
Authors' Addresses π¦
Stig Venaas
Cisco Systems, Inc.
Tasman Drive
San Jose, CA 95134
United States of America
Email: stig@cisco.com
Alvaro Retana
Futurewei Technologies, Inc.
2330 Central Expressway
Santa Clara, CA 95050
United States of America
Email: alvaro.retana@futurewei.com
that's the whole doc, bestie ππ we did it πβ¨
π¦ where this page comes from
- ietf: rfc8736 2020-02
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms