Browse Source

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>
Mark Rustad 9 years ago
parent
commit
d469251bfd
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

+ 1 - 1
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 */