Nick Patavalis wrote: > What part of an *incoming* frame carrying a TCP packet is really > checksumed by the hardware?? If all of it does (minus the ethernet > header), as seems to be suggested in the driver comments, then how > can this checksum be anything meaningfull since it is neither an IP > nor a TCP checksum? The checksum of the whole packet minus the ethernet header is quite useful. It is easy to use this to verify the TCP checksum: calculate the checksum of most parts of the IP header (not the source or destination addres) in software (fast), subtract that from the hardware-calculated whole packet checksum, and add other fields of the TCP pseudo header. This is better than hardware which calculates the exact TCP checksum, including TCP pseudo header, because that limits the hardware to IP protocols which the hardware understands; typically only TCP and UDP. -- Jamie - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html