From: Shahzad Ali <[email-masked]>
Date: Mon, 30 Nov 1998 23:07:23 -0500 (EST)

Hi,

> > 1)  Does a NULL register packet consist of three headers?
> >  I mean is it outer-IP + PIM-header + Reserved Word + Inner-IP?
> >  The inner-IP will be an IP packet with zero data len and source and
> >  destination equal to the (S,G) entry for which the NULL register is being
> >  sent for. 
> > 
> 
> yes, that is correct.

Thanks.  This is what I interpret it to mean as well.  Just wanted to
confirm.

> 
> > 2) In register packets (NULL or Regular), is the pim checksome done on the 
> >  PIM-header + Reserved word OR PIM-header alone 
> >  OR PIM-Header + reserved word + Inner IP-header?
> 
> well, that's been a topic of disgussion lately.  according to the spec 
> pim, the checksum should only be done over the ip header, however,
> cisco and gated do a checksum over the entire packet, inner-ip
> included.  

Is there an effort to clear this up with either cisco and gated or the
spec? Dont you think there is a problem for consistent implementations
of PIM. 

> rfc2362 states:
> 
>         Checksum
>              The checksum is the 16-bit one's complement of the one's
>              complement sum of the entire PIM message, (excluding the
>                                    ^^^^^^^^^^^^^^^^^^
>              data portion in the Register message).  
> 
> 
> so that would mean the pim header and the reserved word, but not the
> inner ip packet.

Correct.  However, the spec says at a different place (message format for
PIM register packets) that the checksum is done "only on the PIM-header,
excluding the data packet portion", which could be taken to mean just the
pim header and not the reserved word.  IMHO, this could be clarified a
little bit more in the spec somewhere. 

> rfc2362 says:
> 
>    The BSR also uses its Bootstrap-timer to periodically send Bootstrap
>    messages.  In particular, when the Bootstrap-timer expires, the BSR
>    originates a Bootstrap message on each of its PIM interfaces. 
> 
> 
> this makes no mention of wether there are c-rp's or not.  so the
> implicitly provides for null advertisements.

Yes, that seems like the correct behaviour and the spec "implicitly"
states that too.  I just thought this should be specified clearly
somewhere.

Thank You Rusty for your answers.  The reason I have brought these issues
up is to draw attention towards the inconsistencies between the spec and
its most common implementations (Cisco and gated). If we are not going to
use the spec as our blue print for implementation, does it mean that we
change the spec or, even worse, not comply to it?  Interoperability in
that case would be easier. I am not implying that all implementations
have to be exacly the same but at least they have to comply to the spec. 
For example, creating a (*,G) state for PIM-DM does not hurt an
implementation that does not create a (*,G) state and is thus still
compliant.  However, the checksum for register packets, for one,  stops
spec-compliant implementations to interoperate with the most common
implementations and hinders new development.  I feel that there needs to
be a definite compliance to the spec in these terms to allow other to
implement and interoperate PIM-SM. 

Thanks.

- Shahzad Ali

ECE Grad University of Delaware.
Software Engineer, Torrent Networking Tech. Corp.