Subject: Re: [magma] Checksum verification for IGMPv1 messages

From: Erik Nordmark <[email-masked]>
Date: Sun, 16 Mar 2003 19:38:19 +0100 (CET)

> However, RFC 1112 (IGMPv1) says:
> <cite RFC 1112>
>          The checksum is the 16-bit one's complement of the one's
>          complement sum of the 8-octet IGMP message.
> </cite RFC 1112>

Oops. But 1112 also allows for longer than 8 octet messages by saying:
	To be valid, the Query message
        must be at least 8 octets long, have a correct IGMP
        checksum and have an IP destination address of 224.0.0.1.

>  (a) over the whole IGMP message as specified in the IGMPv2 and v3
>      specs?
>  (b) only over the first 8 octets as specified in the IGMPv1 spec?
>  (c) by using both lengths and accept the message if either checksum
>      is valid (e.g., as a compromise, and an IGMPv1 backward-compatible
>      solution)?

Are the implementations that do something other than (a)?
That is what all other protocols over IP do AFAIK (which is to checksum
to the end where the end is indicated by the IP length field).

  Erik

_______________________________________________
magma mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/magma

---

From: Pavlin Radoslavov <[email-masked]>
Date: Wed, 19 Mar 2003 14:34:55 -0800

> Are the implementations that do something other than (a)?

I checked {Free,Net,Open}BSD and linux-2.4.20 kernels, and all of
them do (a).
I guess that, after all, (a) is the easiest thing to do. For (b) or
(c) you would need some additional context, and things can easily
become messy.
The fact that there appears to be small ambiguity in the text
probably can be ignored.
Though, if there are existing implementations that indeed send
IGMPv1 packets that are longer than 8 bytes, and the extra bytes
have some random value rather than zero, AND the checksum of those
packets are over the first 8 bytes only, this may change the whole
argument. So far noone has given an example of such implementation,
hence I agree that (a) is the reasonable thing to do.

Thanks,
Pavlin

---

From: Pavlin Radoslavov <[email-masked]>
Date: Wed, 19 Mar 2003 14:34:55 -0800

Thanks,
Pavlin