Subject: PIM SM hash value for IPv6 RP

From: JINMEI Tatuya / 神明達哉 <[email-masked]>
Date: Thu, 17 Jun 1999 17:27:01 +0900

I have a question about hash value calculation for PIM sparse mode.

In section 3.7 of RFC 2362, there is a paragraph about hash value
calculation for IPv6 addresses:

        For address families other than IPv4, a 32-bit digest to be used
        as C_i must first be derived from the actual RP address. Such a
        digest method must be used consistently throughout the PIM
        domain. 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.

I guess that the above should be applied not only for C_i but for G
and M, right? And if so, we should calculate the CRC checksum after
masking G by M, right? That is, IMO, the hash value for an IPv6
address should be:

   Value(G,M,C(i))=
   (1103515245 * ((1103515245 * crc((G&M))+12345) XOR crc(C(i))) + 12345) mod 2^31

Whether this is correct or not, the specification seems to me a bit
ambiguous on this point. I hope it would be more specific in the next
version.

Thanks,

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