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.