"hw csum failure" in encapsulated network topolgies
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Jay Vosburgh | ||
Precise |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
Medium
|
Jay Vosburgh | ||
Utopic |
Fix Released
|
Undecided
|
Unassigned | ||
Vivid |
Fix Released
|
Medium
|
Jay Vosburgh | ||
linux-lts-trusty (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Precise |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Invalid
|
Undecided
|
Unassigned | ||
Utopic |
Invalid
|
Undecided
|
Unassigned | ||
Vivid |
Invalid
|
Undecided
|
Unassigned | ||
linux-lts-utopic (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Precise |
Invalid
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
Undecided
|
Unassigned | ||
Utopic |
Invalid
|
Undecided
|
Unassigned | ||
Vivid |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Virtualized network topologies that utilize encapsulation (e.g., VXLAN) and bridging may experience kernel errors of the format:
[ 4297.761899] eth0: hw csum failure
[ 4297.765210] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G OE 3.18.0-rc4
-nn+ #22
[ 4297.765212] Hardware name: LENOVO 0829F3U/To be filled by O.E.M., BIOS 90KT15
AUS 07/21/2010
[ 4297.765216] 0000000000000000 ffff88013fc03ba8 ffffffff8172f026 0000000000000
001
[ 4297.765219] ffff88013870e000 ffff88013fc03bc8 ffffffff8162ba52 ffffffff8161c
1a0
[ 4297.765221] ffff8800afdf1000 ffff88013fc03c08 ffffffff8162325c ffff88013870e
000
[ 4297.765223] Call Trace:
[ 4297.765224] <IRQ> [<ffffffff8172f
[ 4297.765235] [<ffffffff8162b
[ 4297.765238] [<ffffffff8161c
[ 4297.765240] [<ffffffff81623
[ 4297.765243] [<ffffffff8168c
[ 4297.765246] [<ffffffff81666
[ 4297.765248] [<ffffffff81660
[ 4297.765250] [<ffffffff81666
[ 4297.765253] [<ffffffff81666
[ 4297.765255] [<ffffffff81667
[ 4297.765257] [<ffffffff81666
[ 4297.765259] [<ffffffff81667
[ 4297.765261] [<ffffffff8162e
[ 4297.765263] [<ffffffff8162e
[ 4297.765265] [<ffffffff8162f
The backtrace may vary, stacks descending into conntrack have also been observed:
Call Trace:
<IRQ> [<ffffffff8171a
[<ffffffff8161
[<ffffffff8161
[<ffffffff8161
[<ffffffff816a
[<ffffffffa04d
[<ffffffffa04d
[<ffffffffa030
[<ffffffffa030
[<ffffffff8165
[<ffffffffa03b
[<ffffffff8164
[<ffffffff8165
[<ffffffff8164
[<ffffffff8165
[<ffffffff8165
The root cause of this is twofold:
First, the kernel handling of forwarded packets that have been encapsulated (e.g., from VXLAN) for devices that support CHECKSUM_COMPLETE checksum offload fails to update the running checksum when decapsulating the packet.
Second, for the enic device itself, the hardware is not correctly computing the checksum for some cases.
Both of these issues are patched in mainline:
commit 17e96834fd35997
Author: Govindarajulu Varadarajan <email address hidden>
Date: Thu Dec 18 15:58:42 2014 +0530
enic: fix rx skb checksum
commit 2c26d34bbcc0b3f
Author: Jay Vosburgh <email address hidden>
Date: Fri Dec 19 15:32:00 2014 -0800
net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding
===
break-fix: - 17e96834fd35997
break-fix: - 2c26d34bbcc0b3f
Changed in linux (Ubuntu): | |
assignee: | nobody → Jay Vosburgh (jvosburgh) |
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
status: | Incomplete → Triaged |
tags: | added: kernel-bug-fixed-upstream kernel-da-key |
Changed in linux-lts-utopic (Ubuntu Vivid): | |
status: | New → Invalid |
Changed in linux-lts-utopic (Ubuntu Utopic): | |
status: | New → Invalid |
description: | updated |
tags: | added: kernel-bug-break-fix |
Changed in linux (Ubuntu Trusty): | |
assignee: | nobody → Jay Vosburgh (jvosburgh) |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Trusty): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Utopic): | |
status: | New → Confirmed |
Changed in linux-lts-utopic (Ubuntu Trusty): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Vivid): | |
status: | Triaged → Confirmed |
Changed in linux-lts-trusty (Ubuntu): | |
status: | New → Invalid |
Changed in linux-lts-utopic (Ubuntu Precise): | |
status: | New → Invalid |
Changed in linux-lts-trusty (Ubuntu Trusty): | |
status: | New → Invalid |
Changed in linux-lts-trusty (Ubuntu Utopic): | |
status: | New → Invalid |
Changed in linux (Ubuntu Precise): | |
status: | New → Confirmed |
Changed in linux-lts-trusty (Ubuntu Precise): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Vivid): | |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu Vivid): | |
status: | Fix Committed → Fix Released |
Changed in linux (Ubuntu Utopic): | |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu Trusty): | |
status: | Confirmed → Fix Committed |
Changed in linux-lts-trusty (Ubuntu Precise): | |
status: | Confirmed → Fix Committed |
Changed in linux-lts-utopic (Ubuntu Trusty): | |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu Precise): | |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu Trusty): | |
status: | Fix Committed → Fix Released |
Changed in linux-lts-trusty (Ubuntu Precise): | |
status: | Fix Committed → Fix Released |
Changed in linux (Ubuntu Utopic): | |
status: | Fix Committed → Fix Released |
Changed in linux-lts-utopic (Ubuntu Trusty): | |
status: | Fix Committed → Fix Released |
Changed in linux (Ubuntu Precise): | |
status: | Fix Committed → Fix Released |
tags: | removed: kernel-bug-break-fix |
This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:
apport-collect 1409123
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.