Re: TCP checksum offloading (complete)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux