Subject: Re: ip_flow.c
To: Charles M. Hannum <root@ihack.net>
From: Dennis Ferguson <dennis@juniper.net>
List: tech-net
Date: 01/31/1999 22:52:05
>>> Or on the other hand, how many people (besides Perry) would actually
>>> enable checksumming on hosts doing gatewaying for packets being forwarded
>>> given the pros and cons as discussed to date ?
>>
>> It's also needed for debugging. One might find circumstances that
>> cause it to be important...
> 
> This just keeps getting funnier.  Are you people going to boycott IPv6
> because it doesn't give you option?  I wasn't even suggesting that.

I haven't noticed IPv6 being used for a whole lot of anything.  I have
a number of times seen equipment which corrupted packets, however, and I
think it was a lot easier to discover the boxes that were doing this by
observing the checksum error counters in the boxes' neighbours incrementing
from time to time than it would have been if all the corrupted packets had
been forwarded through another 10 routers and off the network to an end
user who couldn't do anything about it.

I also dispute your implication that it is common for `hardware' routers
to not check the header checksum.  The one example that was given was a
research project that was never sold to anyone.  I can't seem to get a
packet with an incorrect checksum through the Cisco routers I have access
to, which all by itself would put routers don't check in the `rare' category.
As for hardware the box we build does forwarding entirely with custom
hardware (which probably makes it closer to a `hardware implementation' than
anything in the prior two sentences) but still manages to check the header
checksum as well.

> At any rate, I will add an option to disable the checksum checking in
> the fast forwarding path.  End of story.

Sounds appropriate.  Note that the way ip_flow.c gets its performance
in general used to be an extremely common way for router manufacturers to
build products to make them look better when benchmarked, but it is done
less often now since people who used the equipment found that it made
the benchmarks look good at the expense of its real life performance in
many situations.  You're not making it worse.

Dennis Ferguson