Network Working Group
Internet Engineering Task Force (IETF) S. Venaas
Internet-Draft
Request for Comments: 8736 Cisco Systems, Inc.
Obsoletes: 6166 (if approved) A. Retana
Updates: 3973, 5015, 5059, 6754, 7761, 8364 Futurewei Technologies, Inc.
8364 (if approved) September 19, 2019
Intended status:
Category: Standards Track
Expires: March 22, February 2020
ISSN: 2070-1721
PIM Message Type Space Extension and Reserved Bits
draft-ietf-pim-reserved-bits-04
Abstract
The PIM version 2 messages share a common message header format. The
common header definition contains eight reserved bits. This document
specifies how these bits may be used by individual message types, types and
creates a registry containing the per-message-type usage. This
document also extends the PIM type space by defining three new
message types. For each of the new types, four of the previously
reserved bits are used to form an extended type range.
This document Updates RFC updates RFCs 7761 and RFC 3973 by defining the use of the
currently Reserved field in the PIM common header. This document
further updates RFC RFCs 7761 and RFC 3973, along with RFC RFCs 5015, RFC 5059,
RFC 6754 6754,
and RFC 8364, by specifying the use of the currently
Reserved reserved bits for
each PIM message.
This document obsoletes RFC 6166.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list It represents the consensus of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid the IETF community. It has
received public review and has been approved for a maximum publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of six months this document, any errata,
and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 22, 2020.
https://www.rfc-editor.org/info/rfc8736.
Copyright Notice
Copyright (c) 2019 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions used Used in this document . . . . . . . . . . . . . . 3 This Document
3. PIM header common format . . . . . . . . . . . . . . . . . . 3 Header Common Format
4. Flag Bit definitions . . . . . . . . . . . . . . . . . . . . 3 Definitions
4.1. Flag Bits for Type 4 (Bootstrap) . . . . . . . . . . . . 4
4.2. Flag Bits for Type 10 (DF Election) . . . . . . . . . . . 4
4.3. Flag Bits for Type 12 (PFM) . . . . . . . . . . . . . . . 4
4.4. Flag Bits for Types 13, 14 14, and 15 (Type Space Extension) 4
5. PIM Type Space Extension . . . . . . . . . . . . . . . . . . 4
6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
8.1. Normative References . . . . . . . . . . . . . . . . . . 6
8.2. Informative References . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
The PIM version 2 messages share a common message header format
defined in the PIM Sparse Mode [RFC7761] specification. specification [RFC7761]. The common
header definition contains eight Reserved reserved bits. While all message
types use this common header, there is no document formally
specifying that these bits are to be used per message type.
This document refers to the bits specified as Reserved "reserved" in the
common PIM header [RFC7761] as PIM "PIM message type Flag Bits, or simply Flag
Bits, Bits" or,
simply, "Flag Bits", and it specifies that they are to be separately
used on a per-
message-type per-message-type basis. It creates a registry containing
the per-
message-type per-message-type usage.
This document Updates updates [RFC7761] and [RFC3973] by defining the use of
the currently Reserved field in the PIM common header. This document
further updates [RFC7761] and [RFC3973], along with [RFC5015],
[RFC5059], [RFC6754] [RFC6754], and [RFC8364], by specifying the use of the
currently Reserved reserved bits for each PIM message.
The currently defined PIM message types are in the range from 0 to
15. That type space is almost exhausted. Message type 15 was
reserved by [RFC6166] for type space extension. In Section 5, this
document specifies the use of the Flag Bits for message types 13, 14 14,
and 15 in order to extend the PIM type space. This document
Obsoletes
obsoletes [RFC6166].
2. Conventions used Used in this document 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.
3. PIM header common format Header Common Format
The common PIM header is defined in section Section 4.9 of [RFC7761]. This
document updates the definition of the Reserved field and refers to
that field as PIM "PIM message type Flag Bits, or simply Flag Bits. Bits" or, simply, "Flag Bits".
The new common header format is as 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 | Flag Bits | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: New Common Header
The Flag Bits field is defined in Section 4. All other fields remain
unchanged.
4. Flag Bit definitions Definitions
Unless otherwise specified, all the Flag Bits 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 defining Flag Bits, flag bits, it is helpful to have a well-defined way of
referring to a particular bit. The most significant of the Flag
Bits, flag
bits, the bit immediately following the type field Type field, is referred to as
bit 7. The least significant, the bit right in front of the checksum
field Checksum
field, is referred to as bit 0. This is shown in the diagram 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 |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 flag bit 7 as No-
Forward. The usage of the bit is defined in that document. The
remaining Flag Bits flag bits are Reserved. reserved.
4.2. Flag Bits for Type 10 (DF Election)
PIM message type 10 (DF Election) [RFC5015] specifies that the four
most significant Flag Bits flag bits (bits 4-7) are to be used as a Subtype. subtype.
The usage of those bits is defined in that document. The remaining
Flag Bits
flag bits are Reserved. reserved.
4.3. Flag Bits for Type 12 (PFM)
PIM message type 12 (PFM) (PIM Flooding Mechanism) [RFC8364] defines Flag Bit flag
bit 7 as No-Forward. The usage of the bit is defined in that
document. The remaining Flag
Bits flag bits are Reserved. reserved.
4.4. Flag Bits for Types 13, 14 14, and 15 (Type Space Extension)
These types and the corresponding Flag Bits flag bits are defined in Section 5.
5. PIM Type Space Extension
This document defines types 13, 14 14, and 15, such that each of these
types has 16 subtypes, providing a total of 48 subtypes available for
future PIM extensions. This is achieved by defining a new SubType Subtype
field (see Figure 3) using the four most significant Flag Bits flag bits (bits
4-7). The notation type.subtype is used to reference these new
extended types. The remaining four Flag Bits flag bits (bits 0-3) are Reserved reserved
to be used by each extended type (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| |Subtype| FB | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Sub-Types Subtypes
6. Security Considerations
This document clarifies the use of the Flag Bits flag bits in the common PIM
header
header, and it extends the PIM type space. As such, there is no
impact on security or changes to the considerations in [RFC7761] and
[RFC3973].
7. IANA Considerations
This document updates the PIM "PIM Message Types Types" registry to indicate
which Flag Bits flag bits are defined for use by each of the PIM message types.
The Registry should registry now reference references this document instead of [RFC6166]. document. The Registration Policy registration policy
remains IETF Review [RFC8126]. Assignments into this registry MUST
define any non-default usage (see Section 4) of the Flag Bits flag bits in
addition to defining the Type. type.
The updated PIM "PIM Message Types Types" registry is shown below.
+------------+---------------+---------------+--------------------+
| 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 Mechanism | 0-6: Reserved | [RFC8364] |
| | Mechanism +---------------+--------------------+
| | | 7: No-Forward | [RFC8364] |
+------------+---------------+---------------+--------------------+
| 13.0-15.15 | Unassigned | 0-3: | RFC 8736 |
| | | Unassigned [this document] | |
+------------+---------------+---------------+--------------------+
Table 1: Updated PIM Message Types Registry
The Unassigned unassigned types above, as explained in Section 5, use the
extended type notation of type.subtype. Each extended type only has
4 Flag Bits flag bits available. New extended message types should be assigned
conscutively,
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 Jose, CA 95134
USA
United States of America
Email: stig@cisco.com
Alvaro Retana
Futurewei Technologies, Inc.
2330 Central Expressway
Santa Clara Clara, CA 95050
USA
United States of America
Email: alvaro.retana@futurewei.com