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
--- /dev/null
+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
+