← Back to team overview

kernel-packages team mailing list archive

[Bug 1409123] Re: "hw csum failure" in encapsulated network topolgies

 

** Also affects: linux (Ubuntu Vivid)
   Importance: Medium
     Assignee: Jay Vosburgh (jvosburgh)
       Status: Triaged

** Also affects: linux (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Utopic)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-utopic (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: linux-lts-utopic (Ubuntu Vivid)
       Status: New => Invalid

** Changed in: linux-lts-utopic (Ubuntu Utopic)
       Status: New => Invalid

** Description changed:

  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>  [<ffffffff8172f026>] dump_stack+0x46/0x58
  [ 4297.765235]  [<ffffffff8162ba52>] netdev_rx_csum_fault+0x42/0x50
  [ 4297.765238]  [<ffffffff8161c1a0>] ? skb_push+0x40/0x40
  [ 4297.765240]  [<ffffffff8162325c>] __skb_checksum_complete+0xbc/0xd0
  [ 4297.765243]  [<ffffffff8168c602>] tcp_v4_rcv+0x2e2/0x950
  [ 4297.765246]  [<ffffffff81666ca0>] ? ip_rcv_finish+0x360/0x360
  [ 4297.765248]  [<ffffffff81660224>] ? nf_hook_slow+0x74/0x130
  [ 4297.765250]  [<ffffffff81666ca0>] ? ip_rcv_finish+0x360/0x360
  [ 4297.765253]  [<ffffffff81666d4c>] ip_local_deliver_finish+0xac/0x220
  [ 4297.765255]  [<ffffffff81667058>] ip_local_deliver+0x48/0x80
  [ 4297.765257]  [<ffffffff816669c1>] ip_rcv_finish+0x81/0x360
  [ 4297.765259]  [<ffffffff81667332>] ip_rcv+0x2a2/0x3f0
  [ 4297.765261]  [<ffffffff8162e932>] __netif_receive_skb_core+0x562/0x7a0
  [ 4297.765263]  [<ffffffff8162eb88>] __netif_receive_skb+0x18/0x60
  [ 4297.765265]  [<ffffffff8162f8f6>] process_backlog+0xa6/0x150
  
  The backtrace may vary, stacks descending into conntrack have also been
  observed:
  
  Call Trace:
-  <IRQ>  [<ffffffff8171a324>] dump_stack+0x45/0x56
-  [<ffffffff8161bfba>] netdev_rx_csum_fault+0x3a/0x40
-  [<ffffffff81614782>] __skb_checksum_complete_head+0x62/0x70
-  [<ffffffff816147a1>] __skb_checksum_complete+0x11/0x20
-  [<ffffffff816a3eac>] nf_ip_checksum+0xcc/0x100
-  [<ffffffffa04df33b>] udp_error+0xdb/0x1f0 [nf_conntrack]
-  [<ffffffffa04d926e>] nf_conntrack_in+0xee/0xb40 [nf_conntrack]
-  [<ffffffffa0307653>] ? do_execute_actions+0x2e3/0xab0 [openvswitch]
-  [<ffffffffa0307e4b>] ? ovs_execute_actions+0x2b/0x30 [openvswitch]
-  [<ffffffff81654540>] ? inet_del_offload+0x40/0x40
-  [<ffffffffa03b52e2>] ipv4_conntrack_in+0x22/0x30 [nf_conntrack_ipv4]
-  [<ffffffff8164e0aa>] nf_iterate+0x9a/0xb0
-  [<ffffffff81654540>] ? inet_del_offload+0x40/0x40
-  [<ffffffff8164e134>] nf_hook_slow+0x74/0x130
-  [<ffffffff81654540>] ? inet_del_offload+0x40/0x40
-  [<ffffffff81654f68>] ip_rcv+0x2f8/0x3d0
+  <IRQ>  [<ffffffff8171a324>] dump_stack+0x45/0x56
+  [<ffffffff8161bfba>] netdev_rx_csum_fault+0x3a/0x40
+  [<ffffffff81614782>] __skb_checksum_complete_head+0x62/0x70
+  [<ffffffff816147a1>] __skb_checksum_complete+0x11/0x20
+  [<ffffffff816a3eac>] nf_ip_checksum+0xcc/0x100
+  [<ffffffffa04df33b>] udp_error+0xdb/0x1f0 [nf_conntrack]
+  [<ffffffffa04d926e>] nf_conntrack_in+0xee/0xb40 [nf_conntrack]
+  [<ffffffffa0307653>] ? do_execute_actions+0x2e3/0xab0 [openvswitch]
+  [<ffffffffa0307e4b>] ? ovs_execute_actions+0x2b/0x30 [openvswitch]
+  [<ffffffff81654540>] ? inet_del_offload+0x40/0x40
+  [<ffffffffa03b52e2>] ipv4_conntrack_in+0x22/0x30 [nf_conntrack_ipv4]
+  [<ffffffff8164e0aa>] nf_iterate+0x9a/0xb0
+  [<ffffffff81654540>] ? inet_del_offload+0x40/0x40
+  [<ffffffff8164e134>] nf_hook_slow+0x74/0x130
+  [<ffffffff81654540>] ? inet_del_offload+0x40/0x40
+  [<ffffffff81654f68>] ip_rcv+0x2f8/0x3d0
  
  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 17e96834fd35997ca7cdfbf15413bcd5a36ad448 
- Author: Govindarajulu Varadarajan <_govind@xxxxxxx> 
- Date: Thu Dec 18 15:58:42 2014 +0530 
+ commit 17e96834fd35997ca7cdfbf15413bcd5a36ad448
+ Author: Govindarajulu Varadarajan <_govind@xxxxxxx>
+ Date: Thu Dec 18 15:58:42 2014 +0530
  
  enic: fix rx skb checksum
  
- commit 2c26d34bbcc0b3f30385d5587aa232289e2eed8e 
- Author: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> 
- Date: Fri Dec 19 15:32:00 2014 -0800 
+ commit 2c26d34bbcc0b3f30385d5587aa232289e2eed8e
+ Author: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx>
+ Date: Fri Dec 19 15:32:00 2014 -0800
  
  net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding
+ 
+ 
+ ===
+ break-fix: - 17e96834fd35997ca7cdfbf15413bcd5a36ad448
+ break-fix: - 2c26d34bbcc0b3f30385d5587aa232289e2eed8e

** Tags added: kernel-bug-break-fix

** Changed in: linux (Ubuntu Trusty)
     Assignee: (unassigned) => Jay Vosburgh (jvosburgh)

** Changed in: linux (Ubuntu Trusty)
   Importance: Undecided => Medium

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1409123

Title:
  "hw csum failure" in encapsulated network topolgies

Status in linux package in Ubuntu:
  Triaged
Status in linux-lts-utopic package in Ubuntu:
  Invalid
Status in linux source package in Trusty:
  New
Status in linux-lts-utopic source package in Trusty:
  New
Status in linux source package in Utopic:
  New
Status in linux-lts-utopic source package in Utopic:
  Invalid
Status in linux source package in Vivid:
  Triaged
Status in linux-lts-utopic source package in Vivid:
  Invalid

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>  [<ffffffff8172f026>] dump_stack+0x46/0x58
  [ 4297.765235]  [<ffffffff8162ba52>] netdev_rx_csum_fault+0x42/0x50
  [ 4297.765238]  [<ffffffff8161c1a0>] ? skb_push+0x40/0x40
  [ 4297.765240]  [<ffffffff8162325c>] __skb_checksum_complete+0xbc/0xd0
  [ 4297.765243]  [<ffffffff8168c602>] tcp_v4_rcv+0x2e2/0x950
  [ 4297.765246]  [<ffffffff81666ca0>] ? ip_rcv_finish+0x360/0x360
  [ 4297.765248]  [<ffffffff81660224>] ? nf_hook_slow+0x74/0x130
  [ 4297.765250]  [<ffffffff81666ca0>] ? ip_rcv_finish+0x360/0x360
  [ 4297.765253]  [<ffffffff81666d4c>] ip_local_deliver_finish+0xac/0x220
  [ 4297.765255]  [<ffffffff81667058>] ip_local_deliver+0x48/0x80
  [ 4297.765257]  [<ffffffff816669c1>] ip_rcv_finish+0x81/0x360
  [ 4297.765259]  [<ffffffff81667332>] ip_rcv+0x2a2/0x3f0
  [ 4297.765261]  [<ffffffff8162e932>] __netif_receive_skb_core+0x562/0x7a0
  [ 4297.765263]  [<ffffffff8162eb88>] __netif_receive_skb+0x18/0x60
  [ 4297.765265]  [<ffffffff8162f8f6>] process_backlog+0xa6/0x150

  The backtrace may vary, stacks descending into conntrack have also
  been observed:

  Call Trace:
   <IRQ>  [<ffffffff8171a324>] dump_stack+0x45/0x56
   [<ffffffff8161bfba>] netdev_rx_csum_fault+0x3a/0x40
   [<ffffffff81614782>] __skb_checksum_complete_head+0x62/0x70
   [<ffffffff816147a1>] __skb_checksum_complete+0x11/0x20
   [<ffffffff816a3eac>] nf_ip_checksum+0xcc/0x100
   [<ffffffffa04df33b>] udp_error+0xdb/0x1f0 [nf_conntrack]
   [<ffffffffa04d926e>] nf_conntrack_in+0xee/0xb40 [nf_conntrack]
   [<ffffffffa0307653>] ? do_execute_actions+0x2e3/0xab0 [openvswitch]
   [<ffffffffa0307e4b>] ? ovs_execute_actions+0x2b/0x30 [openvswitch]
   [<ffffffff81654540>] ? inet_del_offload+0x40/0x40
   [<ffffffffa03b52e2>] ipv4_conntrack_in+0x22/0x30 [nf_conntrack_ipv4]
   [<ffffffff8164e0aa>] nf_iterate+0x9a/0xb0
   [<ffffffff81654540>] ? inet_del_offload+0x40/0x40
   [<ffffffff8164e134>] nf_hook_slow+0x74/0x130
   [<ffffffff81654540>] ? inet_del_offload+0x40/0x40
   [<ffffffff81654f68>] ip_rcv+0x2f8/0x3d0

  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 17e96834fd35997ca7cdfbf15413bcd5a36ad448
  Author: Govindarajulu Varadarajan <_govind@xxxxxxx>
  Date: Thu Dec 18 15:58:42 2014 +0530

  enic: fix rx skb checksum

  commit 2c26d34bbcc0b3f30385d5587aa232289e2eed8e
  Author: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx>
  Date: Fri Dec 19 15:32:00 2014 -0800

  net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding

  
  ===
  break-fix: - 17e96834fd35997ca7cdfbf15413bcd5a36ad448
  break-fix: - 2c26d34bbcc0b3f30385d5587aa232289e2eed8e

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1409123/+subscriptions


References