Skip to Content.
Sympa Menu

wg-multicast - Re: question about PIM Null-Registers

Subject: All things related to multicast

List archive

Re: question about PIM Null-Registers


Chronological Thread 
  • From: Tom Pusateri <>
  • To:
  • Subject: Re: question about PIM Null-Registers
  • Date: Mon, 19 May 2003 12:59:28 -0700

In message
<>
you write:
>On Mon, May 19, 2003 at 12:19:14PM -0700, Tom Pusateri wrote:
>pusateri> That's the checksum in the PIM header of the register message,
>pusateri> not the dummy ip header following the PIM header.
>pusateri> You're confusing the headers.
>
>No, I'm not.
>
>Yes, the PIM header must be correct (to several definitions of
>"correct", the older one which says the checksum is taken over the
>entire packet, and the newer one which says the checksum is taken over
>the first 8 bytes, i.e. just the PIM header.)
>
>As I recently discovered during interop testing, the Encapsulated IP
>packet's IP Header Checksum must also be correct. The Juniper drops
>Null-Registers (and probably regular Registers) and increments the "Bad
>Checksum" counter under "show pim statistics" if it receives one with a
>bad checksum here.

If it is not a NULL register, the IP header is a real IP header and
we check it. If its a NULL register, then the IP header is a dummy
IP header and according to the spec, only the group and source should be
set.

We use the IP header's header length (ip->ip_hl) to determine if
its a real IP header or a dummy IP header. If the IP header length
is set, we think its real and we check the checksum. If its not
set, we think its a dummy and we don't check the checksum.

A normal register would typically have the ip->ip_hl set and we
check the checksum two ways since there were some bugs in other vendors
code that calculated it over the whole encapsulated packet instead of
just the PIM header according to the spec.

A NULL register would just have a dummy IP header that doesn't
have the header length set so we wouldn't calculate the checksum
when parsing these.

Thanks,
Tom




Archive powered by MHonArc 2.6.16.

Top of Page