IP Checksum Offload

IP Checksum Offload

Post by Bob » Fri, 08 Jul 2005 01:54:16


I am trying to understand IP checksum offload. I got into this while trying
to track down a networking problem. I noticed many "IP checksum
errors" (using iptraf). I think that sent me down the wrong path because I
am starting to believe this is normal since iptraf looks at the packets
before the checksum is actually generated. (I got that idea from an
ethereal FAQ.)

But this leaves me with a question -- why do I not *always* get IP checksum
errors? I can run a network test for hours without one checksum error, but
if I crank up the network activity I start to see them.

Could it be that checksum offload is only invoked when the network load gets
to a certain rate? This might make sense since I have read that although
checksum offload gives a performance boost it does so at the expense of
less effective checking (since the checksum is generated later in the
process). Might the driver turn it on and off as load changes?

I have a Dell Precision 360 with a gigabit ethernet on the motherboard
(Intel using the e1000 driver).

SuSE 9.3 with SMP kernel (for hyperthread support).

Here is output from "ethtool -k eth0"

# ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: on

Thanks for any info or leads!



1. Need some help with IP/TCP Checksum Offload

Hi All,

 I am trying to offload checksum calculation to my hardware. What i am doing in my driver (kernel 2.4.6) is :

 dev->features = NETIF_F_IP_CHECKSUM;

 Then, in my start_xmit( ) routine, i am parsing for the right headers & when i get the IP/TCP header, i print out the checksum & it is already the right checksum. When does the OS/Protocol offload this task? Am i missing something here?

thanx for your help
Enterprise Connectivity Solutions, AMD
(408) 749-3324 (Work)
* Knowledge becomes wisdom only after it has been put to practical use.  *

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

2. can't send mail (receive works fine)

3. seeking how to use TCP Checksum Off-load in my network driver

4. Drivers for Dialogic ?

5. 2 Questions: bnx2 checksum offload and push/ack in realtime feed

6. Unix - Frequently Asked Questions (Contents) [Frequent posting]

7. seeking to use TCP Checksum Off-load in my network driver

8. NEWBIE: email from Windows using Linux

9. TCP receive checksum offloading

10. Checksum offloading / Wake On LAN

11. TCP/IP offload support on Linux

12. Tcp/ip offload card driver

13. IP Masq + Checksum Errors - Possible solution?