On Thu, Nov 13, 2003 at 11:15:30AM +0000, Jamie Lokier wrote: > 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? > > > 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. > Do you happen to know who is responsible for this "de-mangling" (calculation of the partial IP header checksum and substraction from the hardware-comptuted value)? Is the *driver* responsible or is the kernel? Thanks /npat -- Morality is always the product of terror; its chains and strait-waistcoats are fashioned by those who dare not trust others, because they dare not trust themselves, to walk in liberty. -- Aldous Huxley - : 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