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                           June 27, 2018
Expires: December 29, 2018


               PIM reserved bits and type space extension
                   draft-venaas-pim-reserved-bits-01

Abstract

   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.

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 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 December 29, 2018.








Venaas & Retana         Expires December 29, 2018               [Page 1]


Internet-Draft PIM reserved bits and type space extension      June 2018


Copyright Notice

   Copyright (c) 2018 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 in this document . . . . . . . . . . . . . .   3
   3.  PIM header common format  . . . . . . . . . . . . . . . . . .   3
   4.  Flag Bit definitions  . . . . . . . . . . . . . . . . . . . .   3
     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 Type 13 (Type Space Extension)  . . . . . .   4
     4.5.  Flag Bits for Type 14 (Type Space Extension)  . . . . . .   4
     4.6.  Flag Bits for Type 15 (Type Space Extension)  . . . . . .   4
   5.  PIM Type Space Extension  . . . . . . . . . . . . . . . . . .   5
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   7.  IANA considerations . . . . . . . . . . . . . . . . . . . . .   5
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   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.





Venaas & Retana         Expires December 29, 2018               [Page 2]


Internet-Draft PIM reserved bits and type space extension      June 2018


   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.

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.

3.  PIM header common format

   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.

       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 Flags Bits field is defined in Section 4.  All other fields
   remain unchanged.

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.



Venaas & Retana         Expires December 29, 2018               [Page 3]


Internet-Draft PIM reserved bits and type space extension      June 2018


   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            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

4.1.  Flag Bits for Type 4 (Bootstrap)

   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.

4.2.  Flag Bits for Type 10 (DF Election)

   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.

4.3.  Flag Bits for Type 12 (PFM)

   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.

4.4.  Flag Bits for Type 13 (Type Space Extension)

   This type and the flag bit usage is defined in Section 5.

4.5.  Flag Bits for Type 14 (Type Space Extension)

   This type and the flag bit usage is defined in Section 5.

4.6.  Flag Bits for Type 15 (Type Space Extension)

   This type and the flag bit usage is defined in Section 5.





Venaas & Retana         Expires December 29, 2018               [Page 4]


Internet-Draft PIM reserved bits and type space extension      June 2018


5.  PIM Type Space Extension

   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            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

6.  Security Considerations

   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].

7.  IANA considerations

   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




Venaas & Retana         Expires December 29, 2018               [Page 5]


Internet-Draft PIM reserved bits and type space extension      June 2018


   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]

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>.

   [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>.







Venaas & Retana         Expires December 29, 2018               [Page 6]


Internet-Draft PIM reserved bits and type space extension      June 2018


   [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>.

   [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>.

   [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>.

   [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>.

8.2.  Informative References

   [RFC6166]  Venaas, S., "A Registry for PIM Message Types", RFC 6166,
              DOI 10.17487/RFC6166, April 2011,
              <https://www.rfc-editor.org/info/rfc6166>.

Authors' Addresses









Venaas & Retana         Expires December 29, 2018               [Page 7]


Internet-Draft PIM reserved bits and type space extension      June 2018


   Stig Venaas
   Cisco Systems, Inc.
   Tasman Drive
   San Jose  CA 95134
   USA

   Email: stig@cisco.com


   Alvaro Retana
   Huawei R&D USA
   2330 Central Expressway
   Santa Clara  CA 95050
   USA

   Email: alvaro.retana@huawei.com



































Venaas & Retana         Expires December 29, 2018               [Page 8]