Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: john heasley <heas@netbsd.org>
List: source-changes
Date: 02/12/2005 23:25:29
Module Name:	src
Committed By:	heas
Date:		Sat Feb 12 23:25:29 UTC 2005

Modified Files:
	src/sys/netinet: ip_output.c
	src/sys/sys: mbuf.h

Log Message:
For controllers (eg: hme & gem) that can only perform linear hardware checksums
(from an offset to the end of the packet), the pseudo-header checksum must be
calculated by software.  So, provide it in the TCP/UDP header when
M_CSUM_NO_PSEUDOHDR is set in the interface's if_csum_flags_tx.

The start offset, the end of the IP header, is also provided in the high 16
bits of pkthdr.csum_data.  Such that the driver need not examine the packet
at all.

XXX At the request of Jonathan Stone, note that sharing of if_csum_flags_tx &
    pkthdr.csum_flags for checksum quirks should be re-evaluated.


To generate a diff of this commit:
cvs rdiff -r1.141 -r1.142 src/sys/netinet/ip_output.c
cvs rdiff -r1.100 -r1.101 src/sys/sys/mbuf.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.