Subject: Updated PIM over IPv6 draft

From: "Brian Haberman" <[email-masked]>
Date: Mon, 06 Mar 2000 11:26:33 -0500

All,
     I have updated the PIM over IPv6 draft and
submitted it to the I-D editor.  The major change
in this revision is how the PIM header checksum
is calculated.  Please direct comments to either
the authors or the mailing list.

Thanks,
Brian

--
Brian Haberman
Nortel Networks
[email-masked]

        PIM Working Group                                            B. Haberman
        Internet Draft                                                H. Sandick
        draft-ietf-pim-ipv6-03.txt                               Nortel Networks
        November 1999                                                    G. Kump
        Expires May 2000                                                     IBM

                       Protocol Independent Multicast Routing 
                      in the Internet Protocol Version 6 (IPv6) 

     Status of this Memo 
         
        This document is an Internet-Draft and is in full conformance with all 
        provisions of Section 10 of RFC2026.  
         
        Internet-Drafts are working documents of the Internet Engineering Task 
        Force (IETF), its areas, and its working groups. Note that other groups 
        may also distribute working documents as Internet-Drafts. 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."  
         
        The list of current Internet-Drafts can be accessed at 
        http://www.ietf.org/ietf/1id-abstracts.txt. 
          
        The list of Internet-Draft Shadow Directories can be accessed at 
        http://www.ietf.org/shadow.html. 

     Abstract 
         
         This document outlines recommendations in the use of the Protocol 
         Independent Multicast routing protocol to support Internet Protocol 
         version 6.  It describes the changes needed in order to handle the 
         differences between IPv6 and IPv4 and conform to the logic introduced 
         by other routing protocols enabled for IPv6. 

     1. Terminology 
         
        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
        "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this 
        document are to be interpreted as described in [RFC 2119]. 

     2. Introduction 
         
        This document describes protocol clarifications within the Protocol 
        Independent Multicast routing protocol [PIM-SM, PIM-DM] for efficiently 
        routing to multicast groups communicating with the Internet Protocol 
        version 6 (IPv6) [RFC 2460].  This document will only describe 
        recommendations for making PIM conform to practices implemented by 
        other IPv6 routing protocols.  The existing PIM drafts should be 
        referenced for actual protocol operation. 

     Haberman, Sandick, Kump                                              1 
      
      

     Internet Draft               PIM for IPv6                November 1999 
         
     3. Definitions and Assumptions 
         
         - Link Local Address: A local-use, non-routable unicast IPv6 address 
           [RFC 2373] 
         - All-PIM-Routers multicast address: A permanently assigned link-
           scoped IPv6 multicast address for the PIM protocol [RFC 2375] 
      
        It is assumed that a router running PIM for IPv6 will have a network 
        unique, domain-wide reachable IPv6 address that will be used for 
        multiple hop messages. 

     4. Protocol Impact 
         
        The following will outline changes to the values used in the PIM 
        protocol messages in order to utilize standard IPv6 protocol features.  
        All messages will be affected by the change to the checksum field in 
        the PIM header.  For most messages, other changes involve the addresses 
        used in the IPv6 and PIM headers. 

       4.1  PIM Header Checksum 
         
        The checksum field in the PIM [RFC 2375] header covers the entire PIM 
        message.  When running PIM over IPv6, it must use the standard checksum 
        calculation for IPv6 applications: the 16-bit one's complement of the 
        one's complement sum of the entire contents of the packet, starting 
        with the PIM packet header, and prepending a "pseudo-header" of IPv6 
        header fields, as specified in [RFC 2460, section 8.1]. The "Upper-
        Layer Packet Length" in the pseudo-header is set to the length of the 
        PIM message.  The Next Header value used in the pseudo-header is 103. 
        If the packet's length is not an integral number of 16-bit words, the 
        packet is padded with a byte of zero before performing the checksum 
        calculation. Before computing the checksum, the checksum field in the 
        PIM packet header is set to 0. 

       4.2  Hello Message 

        When sending a Hello Message, a PIM router must use a different set of 
        IPv6 addresses in the IPv6 header.  The IPv6 destination address must 
        be the All-PIM-Routers multicast address.  The IPv6 source address must 
        be the IPv6 link local address of the interface on which the message is 
        being forwarded.  The link local address in the source address field 
        will be used to determine neighbor adjacency and for Designated Router 
        (DR) election. 

       4.3  Register Message 
         
        The Register Message is addressed to the domain-wide reachable IPv6 
        address of the Rendezvous Point (RP).  The source address of the 
        message is the domain-wide reachable IPv6 address of the DR.  The DR 
        sending the Register Message obtains the domain-wide reachable IPv6 
        address of the RP from the local RP-set information. 

       4.4  Register-Stop Message 

     Haberman, Sandick, Kump                                              2 
         
      

     Internet Draft               PIM for IPv6                November 1999 
         
        The Register-Stop Message is addressed in the same manner as the 
        Register Message.  The RP addresses the message to the domain-wide 
        reachable IPv6 address of the DR.  The source address is the domain-
        wide reachable address of the RP.  The RP obtains the domain-wide 
        reachable address of the DR from the source address field of the 
        Register Message received from the DR. 

       4.5  Join/Prune, Graft, and Graft-Ack Messages 
         
        In the transmission of a Join/Prune, Graft, or Graft-Ack Message, a 
        router sets the IPv6 destination address to the All-PIM-Routers 
        multicast address.  The IPv6 source address is set to the link local 
        address of the interface on which the message is forwarded.  The 
        Upstream Neighbor Address field is set to the link local address of the 
        next hop router, which is obtained from the RPF lookup.  If a link 
        local address cannot be obtained for the upstream neighbor, the 
        Upstream Neighbor Address field is set to a known IPv6 address for that 
        neighbor. 
         
       4.6  Bootstrap Message 
         
        When sending a Bootstrap Message, a PIM router sets the IPv6 
        destination address field to the All-PIM-Routers multicast address.  
        The source address is set to the link local address of the interface on 
        which the message is forwarded.  The Bootstrap Router (BSR) Address is 
        set to the domain-wide reachable IPv6 address of the BSR. 

       4.7  Assert Message 
         
        The Assert Message has an IPv6 destination address of the All-PIM-
        Routers multicast address and an IPv6 source address of the link local 
        address of the interface forwarding the message.  The link local 
        address in the IPv6 source address field is used to resolve ties in the 
        assert process.  Downstream routers save the winning assert router's 
        link local address to resolve any future RPF requirements. 

       4.8  Candidate-RP-Advertisement Message 

        The Candidate-RP-Advertisement Message uses the domain-wide reachable 
        IPv6 address of the BSR as the IPv6 destination address.  The source 
        address is a domain-wide reachable IPv6 address unique to the candidate 
        RP.  The RP Address field is set to a domain-wide reachable IPv6 
        address of the candidate RP.  Each candidate RP router creates this 
        message and unicasts it to the BSR. 

     5. IPv6 Address Scoping 
         
        With the introduction of scoped addresses in IPv6, new issues arise in 
        the distribution of scoped routes and the forwarding of packets 
        containing scoped addresses.  With regards to the PIM protocol, the 
        main scoping issue involves the bootstrap mechanism.  The bootstrap 
        mechanism is a centralized function, e.g. there is one bootstrap server 
        per PIM domain.  If the PIM-SM domain is not a subset of the scoped 
        address domain then the bootstrap mechanism, in its current form, 
        cannot support scoped RP addresses and scoped group addresses.  
       
     Haberman, Sandick, Kump                                              3 
         
      

     Internet Draft               PIM for IPv6                November 1999 
         
        Therefore, in order for the bootstrap mechanism to function properly, 
        the PIM domain must be a subset of the scoped address domain or all 
        multiple hop messages must use globally reachable IPv6 addresses. 

     6. Security Considerations 
         
        This document does not introduce any protocol changes that require 
        additional security considerations above and beyond those described in 
        the PIM protocol specifications. 

     7. References 
         
        [RFC 2119] S. Bradner, "Key words for use in RFCs to Indicate     
                   Requirement Levels", RFC 2119, BCP14, March 1999. 
         
        [PIM-SM]   L. Wei, et. al, "Protocol Independent Multicast-Sparse 
                   Mode (PIM-SM): Protocol Specification", 
                   draft-ietf-pim-v2-sm-00.txt, October 1999. 
         
        [PIM-DM]   L. Wei, et. al, "Protocol Independent Multicast Version 2 
                   Dense Mode Specification", draft-ietf-pim-v2-dm-03.txt, 
                   June 1999. 
         
        [RFC 2460] R. Hinden and S. Deering, "Internet Protocol, Version 6 
                   (IPv6) Specification", RFC 2460, December 1998. 
      
        [RFC 2373] R. Hinden and S. Deering, "IP Version 6 Addressing 
                   Architecture", RFC 2373, July 1998. 
         
        [RFC 2375] R. Hinden and S. Deering, "IPv6 Multicast Address 
                   Assignments", RFC 2375, July 1998. 

       
     Haberman, Sandick, Kump                                              4 
         


     Authors' Addresses 
         
        Brian Haberman 
        Hal Sandick 
        Nortel Networks 
        4309 Emperor Blvd. 
        Suite 200 
        Durham, NC  27703 
         
        1-919-992-4439 
        1-919-992-9046 
         
        Email : [email-masked] 
        Email : [email-masked] 

        Garry Kump 
        IBM Corporation 
        800 Park Office Drive 
        Research Triangle Park, NC  27709 
         
        1-919-254-2395 
        Email: [email-masked] 

     Haberman, Sandick, Kump                                              5

---

From: Pavlin Ivanov Radoslavov <[email-masked]>
Date: Mon, 06 Mar 2000 16:50:57 -0800

>         The checksum field in the PIM [RFC 2375] header covers the
                                        ~~~~~~~~~~

Isn't this suppose to be a reference to RFC 2362 (the PIM-SM RFC)
and to the PIM-DM spec?

Also, the PIM-SM spec says that the data portion in the Register
messages is excluded from the checksum (without distinguishing
between IPv4 and IPv6). Does this draft overwrites this rule by
saying that the PIM Register checksum for IPv6 should include the
data portion?

Thanks,
Pavlin

---

From: "Brian Haberman" <[email-masked]>
Date: Tue, 07 Mar 2000 08:43:19 -0500

Pavlin,

> >         The checksum field in the PIM [RFC 2375] header covers the

Yes, it should be the PIM specs.

> saying that the PIM Register checksum for IPv6 should include the

No, the only change to the checksum field is to include the pseudo-IP
header.

Thanks,
Brian