]> git.proxmox.com Git - pve-kernel-jessie.git/commitdiff
ixgbe: Correct handling of any outer UDP checksum setting
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 31 May 2016 04:52:01 +0000 (06:52 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 31 May 2016 04:52:01 +0000 (06:52 +0200)
include patch from upstream kernel.

Makefile
ixgbe-Correct-handling-of-any-outer-UDP-checksum-setting.patch [new file with mode: 0644]

index 6c83f7c4ed19a1b8fbf2ec865a55d634c9ae1eb9..7fe3ac41a1a94b5d6d356a40ab85910398ad69d0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -281,6 +281,7 @@ igb.ko igb: .compile_mark ${IGBSRC}
 ixgbe.ko ixgbe: .compile_mark ${IXGBESRC}
        rm -rf ${IXGBEDIR}
        tar xf ${IXGBESRC}
+       cd ${IXGBEDIR}/src; patch -p6 <../../ixgbe-Correct-handling-of-any-outer-UDP-checksum-setting.patch
        [ ! -e /lib/modules/${KVNAME}/build ] || rm /lib/modules/${KVNAME}/build
        cd ${IXGBEDIR}/src; make CFLAGS_EXTRA="-DIXGBE_NO_LRO" BUILD_KERNEL=${KVNAME} KSRC=${TOP}/${KERNEL_SRC}
        cp ${IXGBEDIR}/src/ixgbe.ko ixgbe.ko
diff --git a/ixgbe-Correct-handling-of-any-outer-UDP-checksum-setting.patch b/ixgbe-Correct-handling-of-any-outer-UDP-checksum-setting.patch
new file mode 100644 (file)
index 0000000..d30f647
--- /dev/null
@@ -0,0 +1,31 @@
+From d469251bfd06d15289c9dd5dd60b8ebf65785b03 Mon Sep 17 00:00:00 2001
+From: Mark Rustad <mark.d.rustad@intel.com>
+Date: Fri, 4 Dec 2015 11:26:43 -0800
+Subject: ixgbe: Correct handling of any outer UDP checksum setting
+
+If an outer UDP checksum is set, pass the skb up with CHECKSUM_NONE
+so that the stack will check the checksum. Do not increment an
+error counter, because we don't know that there is an actual error.
+
+Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
+Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
+---
+ drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+index ea9537d..a12f93d 100644
+--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
++++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+@@ -1483,7 +1483,7 @@ static inline void ixgbe_rx_checksum(struct ixgbe_ring *ring,
+                       return;
+               if (ixgbe_test_staterr(rx_desc, IXGBE_RXDADV_ERR_OUTERIPER)) {
+-                      ring->rx_stats.csum_err++;
++                      skb->ip_summed = CHECKSUM_NONE;
+                       return;
+               }
+               /* If we checked the outer header let the stack know */
+-- 
+cgit v0.12
+