linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net,
	linux-kernel@vger.kernel.org
Subject: Re: Regression in skge that started around acb42a3 (so past v3.3-rc1)
Date: Mon, 30 Jan 2012 08:38:43 -0800	[thread overview]
Message-ID: <20120130083843.160ffe5e@nehalam.linuxnetplumber.net> (raw)
In-Reply-To: <20120130155816.GA1400@phenom.dumpdata.com>

On Mon, 30 Jan 2012 10:58:16 -0500
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:

> I hadn't done any git bisection yet, but with acb42a3 I started getting this:
> 
> (and only on i686 - x86_64 does not show these):
> 
> (This is with Xen, the other one is without)
> [   28.602121] eth2: no IPv6 routers present
> [   70.457712] eth2: hw csum failure.
> [   70.458695] Pid: 0, comm: swapper/0 Not tainted 3.3.0-rc1-00287-gacb42a3 #1
> [   70.
> [   70.458695]  [<c140942b>] __skb_checksum_complete+0xb/0x10
> [   70.458695]  [<c148e3b0>] nf_ip_checksum+0x60/0x120
> [   70.458695]  [<c143ee6b>] udp_error+0xbb/0x1f0
> [   70.458695]  [<c103c1e4>] ? check_events+0x8/0xc
> [   70.458695]  [<c103c1db>] ? xen_restore_fl_direct_reloc+0x4/0x4
> [   70.458695]  [<c11497ee>] ? put_cpu_partial+0x9e/0xb0
> [   70.458695]  [<c143edb0>] ? udp_pkt_to_tuple+0x60/0x60
> [   70.458695]  [<c143a2b6>] nf_conntrack_in+0xc6/0x5c0
> [   70.458695]  [<c14751f8>] ? __udp4_lib_rcv+0x428/0x630
> [   70.458695]  [<c1149dd0>] ? kfree+0xf0/0x120
> [   70.458695]  [<c1405b60>] ? skb_release_data+0x90/0xb0
> [   70.458695]  [<c1405b60>] ? skb_release_data+0x90/0xb0
> [   70.458695]  [<c14057d8>] ? __kfree_skb+0x38/0x90
> [   70.458695]  [<c144d510>] ? inet_del_protocol+0x30/0x30
> [   70.458695]  [<c148f41e>] ipv4_conntrack_in+0x1e/0x30
> [   70.458695]  [<c14360d3>] nf_iterate+0x63/0x90
> [   70.458695]  [<c144d510>] ? inet_del_protocol+0x30/0x30
> [   70.458695]  [<c1436292>] nf_hook_slow+0x62/0x140
> [   70.458695]  [<c144d510>] ? inet_del_protocol+0x30/0x30
> [   70.458695]  [<c144dbb5>] ip_rcv+0x235/0x310
> [   70.458695]  [<c144d510>] ? inet_del_protocol+0x30/0x30
> [   70.458695]  [<c1412c36>] __netif_receive_skb+0x1d6/0x550
> [   70.458695]  [<c147c6a9>] ? inet_gro_receive+0x59/0x1f0
> [   70.458695]  [<c1413312>] netif_receive_skb+0x22/0x90
> [   70.458695]  [<c1413487>] napi_skb_finish+0x37/0x50
> [   70.458695]  [<c14139e3>] napi_gro_receive+0xe3/0xf0
> [   70.458695]  [<c12ff4c0>] ? xen_swiotlb_map_sg+0x20/0x20
> [   70.458695]  [<c12ff4d9>] ? xen_swiotlb_unmap_page+0x19/0x20
> [   70.458695]  [<f7983d6c>] skge_poll+0x34c/0x6f4 [skge]
> [   70.458695]  [<c141431a>] net_rx_action+0xfa/0x2a0
> [   70.458695]  [<c107cecf>] __do_softirq+0x9f/0x210
> [   70.458695]  [<c107ce30>] ? irq_exit+0xd0/0xd0
> [   70.458695]  <IRQ>  [<c107ce15>] ? irq_exit+0xb5/0xd0

The skge driver uses hardware receive checksum where it computes the sum
of the packet (but does not check it). This kind of problem happens when some
part of the call chain above it updates the packet but does not update the checksum.
A fix like the following is presumably needed for some part of this path.

commit fa2da8cdae1dd64f78fc915ca1d1a4a93c71e7cb
Author: stephen hemminger <shemminger@vyatta.com>
Date:   Tue Nov 15 08:09:14 2011 +0000

    bridge: correct IPv6 checksum after pull
    
    Bridge multicast snooping of ICMPv6 would incorrectly report a checksum prob
    when used with Ethernet devices like sky2 that use CHECKSUM_COMPLETE.
    When bytes are removed from skb, the computed checksum needs to be adjusted.
    
    Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
    Tested-by: Martin Volf <martin.volf.42@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>



  reply	other threads:[~2012-01-30 16:38 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-30 15:58 Regression in skge that started around acb42a3 (so past v3.3-rc1) Konrad Rzeszutek Wilk
2012-01-30 16:38 ` Stephen Hemminger [this message]
2012-01-30 17:22   ` Eric Dumazet
2012-01-30 17:57   ` Konrad Rzeszutek Wilk
2012-01-30 18:02     ` David Miller
2012-01-30 18:22       ` Konrad Rzeszutek Wilk
2012-02-17 14:10         ` Konrad Rzeszutek Wilk
2012-02-17 15:45           ` Stephen Hemminger
2012-02-17 15:53             ` Stephen Hemminger

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=20120130083843.160ffe5e@nehalam.linuxnetplumber.net \
    --to=shemminger@vyatta.com \
    --cc=davem@davemloft.net \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --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).