netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Florian Weimer <fw@deneb.enyo.de>
To: John Heffner <jheffner@psc.edu>
Cc: netdev@oss.sgi.com
Subject: Re: A case AGAINST checksum offload
Date: Sun, 14 Nov 2004 21:01:14 +0100	[thread overview]
Message-ID: <87mzxkxks5.fsf@deneb.enyo.de> (raw)
In-Reply-To: <Pine.LNX.4.58.0411121644150.8989@dexter.psc.edu> (John Heffner's message of "Fri, 12 Nov 2004 18:46:11 -0500 (EST)")

* John Heffner:

> Currently with many common Ethernet devices in Linux, hardware TCP
> checksumming is enabled by default.  This seems fairly dangerous to me.
> Most link layer checksums are much stronger than the TCP/UDP checksum;
> most bit errors are caught by these.  However, one of the primary purposes
> of the TCP/UDP checksum is to detect errors occurring outside the
> protection of the link layer checksums -- errors when data is reassembled
> or copied across busses inside hosts and routers.

The IP checksum is quite bad at catching those, though.  Broken memory
banks or busses tend to introduce bit errors in distances which are
multiples of 16 bits (something like 64 or 256).  Because of the way
the IP checksum works, two such errors in the same packet cancel out
and go undetected.

I was once on the receiving end of such packets, and I can tell you
it's not a fun thing to debug. 8-(

  parent reply	other threads:[~2004-11-14 20:01 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-12 23:46 A case AGAINST checksum offload John Heffner
2004-11-12 23:49 ` David S. Miller
2004-11-13  0:36   ` John Heffner
2004-11-13  0:29     ` David S. Miller
2004-11-12 23:53 ` Dave Hansen
2004-11-12 23:56   ` John Heffner
2004-11-13 11:32     ` Francois Romieu
2004-11-14 20:01 ` Florian Weimer [this message]
2004-11-14 22:19   ` Pekka Pietikainen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mzxkxks5.fsf@deneb.enyo.de \
    --to=fw@deneb.enyo.de \
    --cc=jheffner@psc.edu \
    --cc=netdev@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).