IGMP checksum question

Koen Vermeulen <[email protected]> Wed, 04 Aug 2004 13:02:27 +0200
Newsgroups gmane.ietf.idmr
Message-ID <[email protected]>
Hello,

In RFC3376 (IGMPv3) is stated that the IGMP checksum is calculated over 
the whole IGMP
packet, which is the total length of the IP payload. Using the full 
length of the IP payload makes
sense according to me because there exists no length field in the IGMP 
header.

During testing I however saw some tools which have a different way of 
calculating the checksum.
I recently saw a tool which sometimes pads the IP packet to 64 bytes 
(don't ask me why this is
done) and instead of calculating the checksum over the full IP payload, 
it only calculates this checksum
over the length of the IGMP information inside the IP packet.

I initially thought this was a bug of the tool, but when I was sending 
these packets to the ethereal
tool, I could see that ethereal interpreted this checksum as correct.

Is there anyone who is also having some experience with this kind of 
problem and knows which
approached is followed in the 'world'?

Thanks,
Koen