Re: RFC 1812, section 4.2.2.5

Fred Baker <fred@cisco.com> Fri, 15 September 1995 03:22 UTC

Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa00510; 14 Sep 95 23:22 EDT
Received: from CNRI.Reston.VA.US by IETF.CNRI.Reston.VA.US id aa00506; 14 Sep 95 23:22 EDT
Received: from venera.isi.edu by CNRI.Reston.VA.US id aa00784; 14 Sep 95 23:23 EDT
Received: from stilton.cisco.com by venera.isi.edu (5.65c/5.61+local-22) id <AA13341>; Thu, 14 Sep 1995 20:06:09 -0700
Received: from [171.69.128.114] (fred-mac-fr.cisco.com [171.69.128.114]) by stilton.cisco.com (8.6.8+c/8.6.5) with SMTP id UAA17906; Thu, 14 Sep 1995 20:05:31 -0700
X-Sender: fred@stilton.cisco.com
Message-Id: <v02130500ac7e9ade669a@[171.69.128.114]>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Thu, 14 Sep 1995 20:04:33 -0700
To: Craig Partridge <craig@aland.bbn.com>
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: Fred Baker <fred@cisco.com>
Subject: Re: RFC 1812, section 4.2.2.5
Cc: rreq@isi.edu

At 5:25 PM 9/14/95, Craig Partridge wrote:
>Just checking an interpretation.  Section 4.2.2.5 on Header Checksum
>says "a router MUST verify the IP checksum of any packet that is received"
>but goes on to say "a router MAY use incremental IP header checksum updating
>when the only change to the IP header is the time to live."
>
>As I read the text there are two possible interpretations:
>
>    1.  You must verify the IP checksum even if you use incremental checksum
>    updating.
>
>    2.  You can skip verifying the IP checksum if you use incremental checksum
>    updating and the only field being changed is the ttl.
>
>I read various related documents and sections of 1812, and I think either
>interpretation is valid, though there are hints that interpretation (1) may
>have been intended.  I'm obviously very interested in doing (2),

It seems to me that it says

  - when you verify the checksum, you must add up all five words and
    verify that the result is a negetive zero

  - when you bump the TTL, you need not recalculate the entire checksum;
    you may bump the existing (checked) checksum by the negative of the
    amount you change the TTL.

which is to say, interpretation 1. My recollection was that there was major
debate here, with my current employer among those whose implementations
were of version 2 ("the end system is going to check it, and routing has
developed a spanning tree, so why should the router check it?") and that
interpretation lost.

Does anyone have other recollections or opinions?

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
So Bill Gates has paid Mick and the boys 12 million dollars to use "Start Me
Up" to sell Windows 95.

For those who don't know the song, it's the one that goes "You make a grown
man cry...".

Food for thought