* eth0: hw csum failure
@ 2011-12-05 12:51 Pavel Mateja
2011-12-05 16:17 ` Stephen Hemminger
2011-12-05 16:18 ` Stephen Hemminger
0 siblings, 2 replies; 6+ messages in thread
From: Pavel Mateja @ 2011-12-05 12:51 UTC (permalink / raw)
To: netdev
Hi,
I'm trying new kernel and I got my dmesg flooded with traces:
[ 78.068024] eth0: hw csum failure.
[ 78.068030] Pid: 0, comm: kworker/0:0 Not tainted 3.1.0-rc3+ #13
[ 78.068033] Call Trace:
[ 78.068035] <IRQ> [<ffffffff81225bc6>] ? netdev_rx_csum_fault+0x29/0x31
[ 78.068048] [<ffffffff8121fb86>] ? __skb_checksum_complete_head+0x41/0x53
[ 78.068058] [<ffffffffa02da598>] ? br_multicast_rcv+0x7e8/0xca1 [bridge]
[ 78.068063] [<ffffffff8118b424>] ? swiotlb_map_sg_attrs+0xe8/0x10e
[ 78.068077] [<ffffffffa0051547>] ? ahci_qc_prep+0x59/0x108 [libahci]
[ 78.068083] [<ffffffffa0050e15>] ? ahci_qc_issue+0x11/0xdb [libahci]
[ 78.068093] [<ffffffffa0021bd2>] ? ata_qc_issue+0x28b/0x2c5 [libata]
[ 78.068099] [<ffffffff8102ec2c>] ? select_task_rq_fair+0x369/0x610
[ 78.068108] [<ffffffffa0024fb2>] ? ata_qc_set_pc_nbytes+0x1b/0x1b [libata]
[ 78.068114] [<ffffffffa02d4fb8>] ? br_handle_frame_finish+0x90/0x1fe [bridge]
[ 78.068121] [<ffffffffa02d52cc>] ? br_handle_frame+0x1a6/0x1be [bridge]
[ 78.068127] [<ffffffffa02d5126>] ? br_handle_frame_finish+0x1fe/0x1fe [bridge]
[ 78.068132] [<ffffffff81223181>] ? __netif_receive_skb+0x162/0x2a8
[ 78.068136] [<ffffffff812264eb>] ? netif_receive_skb+0x63/0x69
[ 78.068140] [<ffffffff8122691a>] ? napi_gro_receive+0x1d/0x2b
[ 78.068143] [<ffffffff81226567>] ? napi_skb_finish+0x1c/0x31
[ 78.068151] [<ffffffffa00c4c9f>] ? sky2_poll+0x781/0x99c [sky2]
[ 78.068155] [<ffffffff812269ea>] ? net_rx_action+0x61/0x14f
[ 78.068161] [<ffffffff81039e2b>] ? __do_softirq+0xb5/0x16f
[ 78.068166] [<ffffffff812ce2ac>] ? call_softirq+0x1c/0x30
[ 78.068170] [<ffffffff8100375b>] ? do_softirq+0x2e/0x63
[ 78.068174] [<ffffffff8103a087>] ? irq_exit+0x3c/0x9a
[ 78.068177] [<ffffffff810034a1>] ? do_IRQ+0x82/0x98
[ 78.068182] [<ffffffff812c792b>] ? common_interrupt+0x6b/0x6b
[ 78.068184] <EOI> [<ffffffff81008056>] ? mwait_idle+0x7f/0xa5
[ 78.068192] [<ffffffff81008049>] ? mwait_idle+0x72/0xa5
[ 78.068195] [<ffffffff8100123b>] ? cpu_idle+0xa0/0xda
[ 78.068199] [<ffffffff812c7654>] ? _raw_spin_unlock_irqrestore+0x5/0xf
[ 78.068205] [<ffffffff812bb779>] ? start_secondary+0x1c9/0x1cf
If i did git bisect right it was caused by commit
4b275d7efa1c4412f0d572fcd7f78ed0919370b3
bridge: Pseudo-header required for the checksum of ICMPv6
Problem disappears when I turn off HW checksum via ethtool.
Can anybody help?
--
Pavel Mateja
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: eth0: hw csum failure
2011-12-05 12:51 Pavel Mateja
@ 2011-12-05 16:17 ` Stephen Hemminger
2011-12-05 16:18 ` Stephen Hemminger
1 sibling, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2011-12-05 16:17 UTC (permalink / raw)
To: Pavel Mateja; +Cc: netdev
> If i did git bisect right it was caused by commit
> 4b275d7efa1c4412f0d572fcd7f78ed0919370b3
> bridge: Pseudo-header required for the checksum of ICMPv6
>
> Problem disappears when I turn off HW checksum via ethtool.
>
> Can anybody help?
Fixed in 3.1 (and queued for 3.0 stable).
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>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: eth0: hw csum failure
2011-12-05 12:51 Pavel Mateja
2011-12-05 16:17 ` Stephen Hemminger
@ 2011-12-05 16:18 ` Stephen Hemminger
1 sibling, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2011-12-05 16:18 UTC (permalink / raw)
To: Pavel Mateja; +Cc: netdev
I meant fixed in 3.2-rc4 and queued for 3.1 stable.
^ permalink raw reply [flat|nested] 6+ messages in thread
* eth0: hw csum failure
@ 2013-11-23 0:44 Andreas Schwab
2013-11-23 21:17 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 6+ messages in thread
From: Andreas Schwab @ 2013-11-23 0:44 UTC (permalink / raw)
To: linuxppc-dev
I get a lot of "eth0: hw csum failure" with 3.13-rc1 on my G5.
eth0: hw csum failure
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.13.0-rc1 #1
Call Trace:
[c00000000ffef1d0] [c00000000000f97c] .show_stack+0x60/0x14c (unreliable)
[c00000000ffef2a0] [c00000000069fad8] .dump_stack+0x80/0xa0
[c00000000ffef320] [c000000000552bc0] .netdev_rx_csum_fault+0x4c/0x58
[c00000000ffef3a0] [c000000000546f88] .__skb_checksum_complete_head+0x54/0x78
[c00000000ffef420] [c0000000005f1118] .nf_ip_checksum+0xf4/0x100
[c00000000ffef4b0] [c00000000058e520] .udp_error+0x198/0x210
[c00000000ffef560] [c000000000587694] .nf_conntrack_in+0x14c/0xa20
[c00000000ffef690] [c0000000005f195c] .ipv4_conntrack_in+0x24/0x38
[c00000000ffef700] [c00000000058343c] .nf_iterate+0x64/0xb4
[c00000000ffef7c0] [c00000000058353c] .nf_hook_slow+0xb0/0x188
[c00000000ffef890] [c00000000059ea9c] .ip_rcv+0x390/0x3f0
[c00000000ffef930] [c000000000551578] .__netif_receive_skb_core+0x8c4/0x964
[c00000000ffefa30] [c000000000551c38] .netif_receive_skb+0xb0/0x130
[c00000000ffefae0] [c000000000552740] .napi_gro_receive+0x50/0xc0
[c00000000ffefb60] [c000000000447754] .gem_poll+0x10f0/0x1328
[c00000000ffefcc0] [c000000000552418] .net_rx_action+0xd8/0x240
[c00000000ffefd90] [c00000000004dfc4] .__do_softirq+0x158/0x2c0
[c00000000ffefea0] [c00000000004e448] .irq_exit+0x6c/0xc4
[c00000000ffeff10] [c00000000000ce14] .__do_irq+0xec/0xf8
[c00000000ffeff90] [c000000000019474] .call_do_irq+0x14/0x24
[c0000001f615ba30] [c00000000000cea0] .do_IRQ+0x80/0xc0
[c0000001f615bac0] [c0000000000024b8] hardware_interrupt_common+0x138/0x180
--- Exception: 501 at .arch_cpu_idle+0x78/0x124
LR = .arch_cpu_idle+0x78/0x124
[c0000001f615bdb0] [c0000000000a3af4] .rcu_idle_enter+0x98/0xb8 (unreliable)
[c0000001f615be30] [c00000000009a978] .cpu_startup_entry+0x110/0x1a0
[c0000001f615bee0] [c00000000001f14c] .start_secondary+0x288/0x290
[c0000001f615bf90] [c0000000000087fc] .start_secondary_prolog+0x10/0x14
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: eth0: hw csum failure
2013-11-23 0:44 eth0: hw csum failure Andreas Schwab
@ 2013-11-23 21:17 ` Benjamin Herrenschmidt
0 siblings, 0 replies; 6+ messages in thread
From: Benjamin Herrenschmidt @ 2013-11-23 21:17 UTC (permalink / raw)
To: Andreas Schwab; +Cc: linuxppc-dev
On Sat, 2013-11-23 at 01:44 +0100, Andreas Schwab wrote:
> I get a lot of "eth0: hw csum failure" with 3.13-rc1 on my G5.
Alex Graf already reported that, we're looking into it.
Cheers,
Ben.
> eth0: hw csum failure
> CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.13.0-rc1 #1
> Call Trace:
> [c00000000ffef1d0] [c00000000000f97c] .show_stack+0x60/0x14c (unreliable)
> [c00000000ffef2a0] [c00000000069fad8] .dump_stack+0x80/0xa0
> [c00000000ffef320] [c000000000552bc0] .netdev_rx_csum_fault+0x4c/0x58
> [c00000000ffef3a0] [c000000000546f88] .__skb_checksum_complete_head+0x54/0x78
> [c00000000ffef420] [c0000000005f1118] .nf_ip_checksum+0xf4/0x100
> [c00000000ffef4b0] [c00000000058e520] .udp_error+0x198/0x210
> [c00000000ffef560] [c000000000587694] .nf_conntrack_in+0x14c/0xa20
> [c00000000ffef690] [c0000000005f195c] .ipv4_conntrack_in+0x24/0x38
> [c00000000ffef700] [c00000000058343c] .nf_iterate+0x64/0xb4
> [c00000000ffef7c0] [c00000000058353c] .nf_hook_slow+0xb0/0x188
> [c00000000ffef890] [c00000000059ea9c] .ip_rcv+0x390/0x3f0
> [c00000000ffef930] [c000000000551578] .__netif_receive_skb_core+0x8c4/0x964
> [c00000000ffefa30] [c000000000551c38] .netif_receive_skb+0xb0/0x130
> [c00000000ffefae0] [c000000000552740] .napi_gro_receive+0x50/0xc0
> [c00000000ffefb60] [c000000000447754] .gem_poll+0x10f0/0x1328
> [c00000000ffefcc0] [c000000000552418] .net_rx_action+0xd8/0x240
> [c00000000ffefd90] [c00000000004dfc4] .__do_softirq+0x158/0x2c0
> [c00000000ffefea0] [c00000000004e448] .irq_exit+0x6c/0xc4
> [c00000000ffeff10] [c00000000000ce14] .__do_irq+0xec/0xf8
> [c00000000ffeff90] [c000000000019474] .call_do_irq+0x14/0x24
> [c0000001f615ba30] [c00000000000cea0] .do_IRQ+0x80/0xc0
> [c0000001f615bac0] [c0000000000024b8] hardware_interrupt_common+0x138/0x180
> --- Exception: 501 at .arch_cpu_idle+0x78/0x124
> LR = .arch_cpu_idle+0x78/0x124
> [c0000001f615bdb0] [c0000000000a3af4] .rcu_idle_enter+0x98/0xb8 (unreliable)
> [c0000001f615be30] [c00000000009a978] .cpu_startup_entry+0x110/0x1a0
> [c0000001f615bee0] [c00000000001f14c] .start_secondary+0x288/0x290
> [c0000001f615bf90] [c0000000000087fc] .start_secondary_prolog+0x10/0x14
>
> Andreas.
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* eth0: hw csum failure
@ 2018-06-14 19:43 Mathieu Malaterre
0 siblings, 0 replies; 6+ messages in thread
From: Mathieu Malaterre @ 2018-06-14 19:43 UTC (permalink / raw)
To: kernelnewbies
I am trying to understand the following stacktrace in dmesg:
[ 34.023281] eth0: hw csum failure
[ 34.023438] CPU: 0 PID: 0 Comm: swapper Not tainted 4.17.0+ #2
[ 34.023618] Call Trace:
[ 34.023707] [dffedbd0] [c069ddac]
__skb_checksum_complete+0xf0/0x108 (unreliable)
[ 34.023948] [dffedbf0] [c0777a70] tcp_v4_rcv+0x604/0xe00
[ 34.024118] [dffedc70] [c0731624] ip_local_deliver_finish+0xa8/0x3c4
[ 34.024315] [dffedcb0] [c0732430] ip_local_deliver+0xf0/0x154
[ 34.024493] [dffedcf0] [c07328dc] ip_rcv+0x448/0x774
[ 34.024653] [dffedd50] [c06aeae0] __netif_receive_skb_core+0x5e8/0x1184
[ 34.024857] [dffedde0] [c06bba20] napi_gro_receive+0x160/0x22c
[ 34.025044] [dffede10] [e14b2590] gem_poll+0x7fc/0x1ac0 [sungem]
[ 34.025228] [dffedee0] [c06bacf0] net_rx_action+0x34c/0x618
[ 34.025402] [dffedf60] [c07fd27c] __do_softirq+0x16c/0x5f0
[ 34.025575] [dffedfd0] [c0064c7c] irq_exit+0x110/0x1a8
[ 34.025738] [dffedff0] [c0016170] call_do_irq+0x24/0x3c
[ 34.025903] [c0cf7e80] [c0009a84] do_IRQ+0x98/0x1a0
[ 34.026055] [c0cf7eb0] [c001b474] ret_from_except+0x0/0x14
[ 34.026225] --- interrupt: 501 at arch_cpu_idle+0x30/0x78
LR = arch_cpu_idle+0x30/0x78
[ 34.026510] [c0cf7f70] [c0cf6000] 0xc0cf6000 (unreliable)
[ 34.026682] [c0cf7f80] [c00a3868] do_idle+0xc4/0x158
[ 34.026835] [c0cf7fb0] [c00a3ab0] cpu_startup_entry+0x20/0x28
[ 34.027013] [c0cf7fc0] [c0998820] start_kernel+0x47c/0x490
[ 34.027181] [c0cf7ff0] [00003444] 0x3444
If I decompile the kernel here is what I can find:
$ powerpc-linux-gnu-objdump -dS vmlinux > kernel.s
$ cat kernel.s
...
c077746c <tcp_v4_rcv>:
{
...
tcp_v4_send_reset(NULL, skb);
c0777a58: 7f e4 fb 78 mr r4,r31
c0777a5c: 38 60 00 00 li r3,0
c0777a60: 4b ff b3 01 bl c0772d60 <tcp_v4_send_reset>
c0777a64: 4b ff fc 14 b c0777678 <tcp_v4_rcv+0x20c>
csum = __skb_checksum_complete(skb);
c0777a68: 7f e3 fb 78 mr r3,r31
c0777a6c: 4b f2 62 51 bl c069dcbc <__skb_checksum_complete>
skb->csum_valid = !csum;
c0777a70: 81 5f 00 60 lwz r10,96(r31)
if (skb_checksum_init(skb, IPPROTO_TCP, inet_compute_pseudo))
...
So the call to skb_checksum_init (0xc077746c+0x604) from tcp_v4_rcv is
producing the checksum error. What I fail to understand is how is that
going to help me track down the actual issue ?
Thanks
--
Mathieu
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-06-14 19:43 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-23 0:44 eth0: hw csum failure Andreas Schwab
2013-11-23 21:17 ` Benjamin Herrenschmidt
-- strict thread matches above, loose matches on Subject: below --
2018-06-14 19:43 Mathieu Malaterre
2011-12-05 12:51 Pavel Mateja
2011-12-05 16:17 ` Stephen Hemminger
2011-12-05 16:18 ` Stephen Hemminger
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.