Subject: Re: Bootstrap initial delay

From: "Hal Sandick" <[email-masked]>
Date: Tue, 01 Aug 2000 09:39:36 -0400

Benoit,

Sorry for not responding to you sooner.  Attached is section 4.1 from
draft-ietf-pim-ipv6-03.txt.

       4.1  PIM Header Checksum

        The checksum field in the PIM [PIM-SM, PIM-DM] header covers the
entire
        PIM message (excluding the data portion in the Register 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.

Does this answer your question?

regards,

Hal and Brian

Benoit HILT wrote:

> Hello,
>
> I'm working on KAME PIM-SM IPv6 testing.
> In the Bootstrap mechanim, the Bootstrap initial delay is not
> implemented.
> The source code is the same of your source code.
> Because the use of CRC32 for IPv6 adresses conversion is specified in
> the spec (draft-ietf-pim-v2-sm-01 page 34) for RP only, my question is :
>
> In the function bootstrap_initial_delay (rp.c), can I use a CRC-32
> function
> to convert IPv6 adresses in 32-bits longs ?
>
> Thank for your help.
>
> B.HILT

---

From: JINMEI Tatuya / 神明達哉<[email-masked]>
Date: Fri, 11 Aug 2000 13:42:11 +0900

I removed "[email-masked]" from the cc field, since this is not
an implementation specific issue.

>>>>> On Tue, 01 Aug 2000 09:39:36 -0400, 
>>>>> "Hal Sandick" <[email-masked]> said:

>        4.1  PIM Header Checksum
...(snip).

> Does this answer your question?

I don't think so. The problem is about how to calculate bootstrap
parameters. draft-ietf-pim-sm-v2-new-00.txt specifies (part of) it as
follows:

          if ( bestPriority == myPriority) {
              AddrDelay = log_2(bestAddr - myAddr) / 16
          } else {
              AddrDelay = 2 - (myAddr / 2^31)
          }
[page 68]

However, this is not suitable for IPv6, since IPv6 addresses are
128bits in length.

The specification clearly states how the RP hash should be calculated
in IPv6:

     For IPv6 addresses, we recommend using the equivalent IPv4 address
     for an IPv4-compatible address, and the CRC-32 checksum [7] of all
     other IPv6 addresses.

Benoit's question is thus whether or not the same approach can/should
be applied for bootstrap parameters, I think.

					JINMEI, Tatuya
					Communication Platform Lab.
					Corporate R&D Center, Toshiba Corp.
					[email-masked]

---

From: "Brian Haberman" <[email-masked]>
Date: Fri, 11 Aug 2000 08:02:35 -0400

We (the authors of the PIM for IPv6 draft) will be revising that
document based on the new spec.  We will have to look at these
rules and determine how they apply to IPv6.

Brian

-- 
Brian Haberman
Nortel Networks
[email-masked]

---

From: Benoit HILT <[email-masked]>
Date: Mon, 21 Aug 2000 15:41:14 +0200

Hello,

sorry for long answer delay, now I'm back from holidays.
I confirm to you that Tatuya's interpretation is correct.
For the hash function all details for taking in part IPv6 are given.
What happens with the IPv6 adresses to calculate the bootstrap initial delay.
The specification didn't say it.

Sincerely

B.HILT