Network Working Group | S. Venaas |
Internet-Draft | Cisco Systems, Inc. |
Updates: 3973, 5015, 6754, 7761, 8364 | A. Retana |
(if approved) | Huawei R&D USA |
Intended status: Standards Track | May 28, 2019 |
Expires: November 29, 2019 |
PIM reserved bits and type space extension
draft-ietf-pim-reserved-bits-01
The currently defined 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, 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 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, RFC6754 and RFC8364, by specifying the use of the currently Reserved bits for each PIM message.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents 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 November 29, 2019.
Copyright (c) 2019 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.
The currently defined PIM version 2 messages share a common message header format defined in the PIM Sparse Mode [RFC7761] and Dense Mode [RFC3973] specifications. The common header definition contains eight reserved bits. The message types defined in these documents all use this common header. However, several messages already make use of one or more bits, including the Bootstrap [RFC5059], DF-Election [RFC5015], and PIM Flooding Mechanism (PFM) [RFC8364] messages. 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 in the common PIM header [RFC7761] [RFC3973] as PIM message type flag bits, or simply flag bits, and it specifies that they are to be separately used on a per message type basis. It creates a registry containing the the per message type usage. For a particular message type, the usage of the flag bits can be defined in the document defining the message type, or a new document that updates that document.
The PIM message types as defined in the PIM Sparse Mode [RFC7761] and Dense Mode [RFC3973] specifications 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 and 15 in order to extend the PIM type space. The registration procedure for the extended type space is the same as for the existing type space, and the existing PIM message type registry is updated to include the extended type space.
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.
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 | Flags Bits | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The common PIM header is defined in section 4.9 of [RFC7761] and section 4.7.1 of [RFC3973]. This document updates the definition of the Reserved field and refers to that field as PIM message type flag bits, or simply flag bits. The new common header format is as below.
The Flags Bits field is defined in Section 4. All other fields remain unchanged.
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. Currently for the message types 0 (Hello), 1 (Register), 2 (Register Stop), 3 (Join/Prune), 5 (Assert), 6 (Graft), 7 (Graft-Ack), 8 (Candidate RP Advertisement), 9 (State Refresh) and 11 (ECMP Redirect), all flag bits are Reserved.
When defining flag bits it is helpful to have a well defined way of referring to a particular bit. The most significant of the flag bits, the bit immediately following the type field is referred to as bit 7. The least significant, the bit right in front of the 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PIM message type 4 (Bootstrap) [RFC5059] defines flag bit 7 as No-Forward. The usage of the bit is defined in that document. The remaining flag bits are Reserved.
PIM message type 10 (DF Election) [RFC5015] specifies that the four most significant flag bits (bits 4-7) are to be used as a sub-type. The remaining flag bits are currently Reserved.
PIM message type 12 (PFM) [RFC8364] defines flag bit 7 as No-Forward. The usage of the bit is defined in that document. The remaining flag bits are Reserved.
This type and the flag bit usage is defined in Section 5.
This type and the flag bit usage is defined in Section 5.
This type and the flag bit usage is defined in Section 5.
The type space defined by the existing PIM specifications is almost exhausted. This document defines types 13, 14 and 15 (Type Space Extension) allowing for 48 additional types by for each of the three types, using the four most significant flag bits (bits 4-7) as a new field to store the extended type. These types are referred to as types 13.0 to 13.15, 14.0 to 14.15 and 15.0 to 15.15 where the last number denotes the value stored in the new field. The remaining four flag bits (bits 0-3) are Reserved to be used by each extended type. The specification of a new PIM extended type MUST indicate whether the bits should be treated differently. The common header for the new types is shown in the diagram below. The "Type" field is set to 13, 14 or 15, and the extended type field "SubType" denotes the value after the dot.
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| Rsvd | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This document clarifies the use of the flag bits in the common PIM 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].
This document updates the PIM Message Types registry and also creates a PIM Message Type Flag Bits registry that shows which flag bits are defined for use by each of the PIM message types.
The following changes should be made to the existing PIM Message Types registry. For types 4 (Bootstrap) and 8 (Candidate RP Advertisement) a reference to RFC5059 should be added. For the currently unassigned types 13 and 14, and the reserved type 15, the name should be changed to "Type Space Extension", and reference this document. In addition, right underneath each of the rows for types 13, 14 and 15, there should be a new row where it says "13.0-13.15 Unassigned", "14.0-14.15 Unassigned" and "15.0-15.15 Unassigned", respectively.
A new registry called "PIM Message Type Flag Bits" should be created in the pim-paremeters section with registration procedure "IETF Review" as defined in [RFC8126] with this document as a reference. The initial content of the registry should be as below.
Type bit(s) Name Reference -------------------------------------------------------------- 0 0-7 Reserved [RFC3973][RFC7761] 1 0-7 Reserved [RFC3973][RFC7761] 2 0-7 Reserved [RFC3973][RFC7761] 3 0-7 Reserved [RFC3973][RFC7761] 4 0-6 Reserved [RFC3973][RFC7761] 4 7 No-Forward [RFC5059] 5 0-7 Reserved [RFC3973][RFC7761] 6 0-7 Reserved [RFC3973][RFC7761] 7 0-7 Reserved [RFC3973][RFC7761] 8 0-7 Reserved [RFC3973][RFC7761] 9 0-7 Reserved [RFC3973][RFC7761] 10 0-3 Reserved [RFC3973][RFC7761] 10 4-7 Sub-type [RFC5015] 11 0-7 Reserved [RFC6754] 12 0-6 Reserved [RFC3973][RFC7761] 12 7 No-Forward [RFC8364] 13 0-3 N/A (used by 13.0-13.15) [this document] 13 4-7 Extended type [this document] 13.0-13.15 0-3 Reserved [this document] 14 0-3 N/A (used by 14.0-14.15) [this document] 14 4-7 Extended type [this document] 14.0-14.15 0-3 Reserved [this document] 15 0-3 N/A (used by 15.0-15.15) [this document] 15 4-7 Extended type [this document] 15.0-15.15 0-3 Reserved [this document]
[RFC6166] | Venaas, S., "A Registry for PIM Message Types", RFC 6166, DOI 10.17487/RFC6166, April 2011. |