From: Michael Tokarev <mjt@tls.msk.ru>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: netdev@vger.kernel.org
Subject: Re: rare bad TCP checksum with 2.6.19?
Date: Tue, 16 Jan 2007 00:46:08 +0300 [thread overview]
Message-ID: <45ABF620.3070405@tls.msk.ru> (raw)
In-Reply-To: <20070115201001.GA9510@gondor.apana.org.au>
Herbert Xu wrote:
> On Mon, Jan 15, 2007 at 04:34:41PM +0300, Michael Tokarev wrote:
[]
>> So I guess the problem is not related to hw checksumming offloading.
>
> Nope, it just means that 8139too doesn't provide ethtool handlers to
> disable checksum offloading.
>
> So I suggest that you try doing the tcpdump on the receive side as
> that should show the real checksum.
I'm doing the capture on an intermediate host - the whole day today ;)
> BTW, the reason tcpdump only shows some packets with bogus checksums
> is because it cuts packets off at 100 bytes by default so for most
> packets it can't verify the checksum at all. If you run it with
> -s 1600 you should see bogus checksums on every packet with payload.
And I'm capturing with -s 2000. By the way, tcpdump just does not
verify the cheksum of truncated (due to capture size) packets. At
least not the version I'm using (which is 3.9.5).
Herbert, the problem IS real, it's not due to some bad behavior due
to improper capturing or something like that. Yes it's difficult to
come to it, but it is real.
I've saved quite alot of packets today, but it's all quite.. useless
as the thing is difficult to hit. Here's some traces made with the
following filter:
proto TCP and tcp[tcpflags] & (tcp-fin|tcp-push) == (tcp-fin|tcp-push)
(I've choosen FIN+PUSH because this combination is where the problem
is seen most - to be fair, it looks like I haven't seen it with other
flags).
In there, some packets are ok, but some are not. So - again, it seems
like - I was wrong about 100% "hit ratio" -- ie, that the "bad checksum"
is ALWAYS the case with packets where some data goes in FIN packets --
this is incorrect, because the trace shows quite a few examples of right
behavior.
The trace is here: http://www.corpit.ru/mjt/bad-tcp-cksum-dmp.bin
(it contains some data which it sholdn't - but I hope there's nothing
confidential in there ;)
So, after the whole day digging around, I still don't have any more-or-less
clean way to reproduce it. But I've noticied another thing as well: many
different machines here, with different kernels, behave the same way.
So it can't be a hardware problem for example.
And only at VERY rare cases, the thing causes noticeable transfer slowdowns
or stalls. But some networks triggers those rare cases more often than others
(so the only more or less sane conclusion I can come with is that it's
somehow timing-related).
Thanks!
/mjt
next prev parent reply other threads:[~2007-01-15 21:46 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-14 22:59 rare bad TCP checksum with 2.6.19? Michael Tokarev
2007-01-15 9:39 ` Herbert Xu
2007-01-15 13:34 ` Michael Tokarev
2007-01-15 14:25 ` Michael Tokarev
2007-01-15 18:13 ` Eric Dumazet
2007-01-15 19:33 ` Michael Tokarev
2007-01-15 23:36 ` Eric Dumazet
2007-01-15 20:10 ` Herbert Xu
2007-01-15 21:46 ` Michael Tokarev [this message]
2007-01-15 23:35 ` Herbert Xu
2007-01-16 3:27 ` Herbert Xu
2007-01-16 3:38 ` Herbert Xu
2007-01-16 8:08 ` Michael Tokarev
2007-01-16 11:50 ` Herbert Xu
2007-01-16 12:15 ` Patrick McHardy
2007-01-16 14:38 ` Michael Tokarev
2007-01-17 14:12 ` Michael Tokarev
2007-01-19 11:06 ` [PATCH] tcp_output: " Jarek Poplawski
2007-01-19 12:14 ` Patrick McHardy
2007-01-19 13:23 ` Michael Tokarev
2007-01-19 14:32 ` Jarek Poplawski
2007-01-19 13:20 ` Michael Tokarev
2007-01-19 14:08 ` Jarek Poplawski
2007-01-22 7:13 ` Jarek Poplawski
2007-01-22 7:19 ` Michael Tokarev
2007-01-22 8:03 ` Jarek Poplawski
2007-01-19 21:10 ` Herbert Xu
2007-01-22 6:52 ` Jarek Poplawski
2007-01-22 7:45 ` Herbert Xu
2007-01-22 8:48 ` Jarek Poplawski
2007-01-22 13:46 ` Patrick McHardy
2007-01-24 6:08 ` David Miller
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=45ABF620.3070405@tls.msk.ru \
--to=mjt@tls.msk.ru \
--cc=herbert@gondor.apana.org.au \
--cc=netdev@vger.kernel.org \
/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).