> Presumably you mean "TCP checksums"; the checksum includes the TCP
> payload as well as the header.
Yup.
> ...except that most big-endian machines require strict alignment of
> integral data types bigger than one byte, so it's probably more likely ...
My lack of experience on non-Intel is showing, red face glowing.
> I've done a similar patch, that checksums the header+body of both TCP
Outstanding, thanks for the patch !
> segments and UDP datagrams; however:
>
> 1) it doesn't check whether the IP datagram containing the TCP
> segment or UDP datagram is fragmented - currently, if it is,
> the checksum couldn't be computed, as we currently don't
> reassemble fragmented IP datagrams, so we'd have to punt on
> those;
I didn't even consider that case.
> which apparently conflicts with this clause of the GPL ...
I'm not a GPL (or BSD for that mater) lawyer ... Shakespeare was right.
> My patch also handles IPv6 as well as IPv4, and the BSD checksum code
What I don't know about IPv6 exceeds what I don't now about big endian
machines !
I had been following the mailing list for a while, but dropped off about a month
ago. I checked out the current code today and didn't see any checksum
code so I thought I had done something new. Sorry to pollute the list with a
poor clone of what had already been done.
Skip