Subject: Re: M_CSUM_DATA verus bge
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Jason R Thorpe <email@example.com>
Date: 03/12/2003 15:29:21
On Wed, Mar 12, 2003 at 02:00:52PM -0800, Jonathan Stone wrote:
> I found why by comparison to FreeBSD: quite apart from any hardware
> bugs, when the bge hardware returns an Rx TCP or UDP checksum, that
> value does *not* include the e TCP pseudo-header.
> An obvious fix: allocate a high-order bit in csu_flags to indicate
> this quirk. Modify tcp_input.c and udp_usrreq to check for this
> quirk, and if found, compute the pseudo-header sum in software and
> update the csum_data field to the `normal' value, and strip the quirk flag.
I'd say handle it in the bge driver itself. No need to pollute the rest
of the kernel that knowledge.
-- Jason R. Thorpe <firstname.lastname@example.org>