i40e: Set skb->csum_level for encapsulated checksum
authorTom Herbert <therbert@google.com>
Thu, 28 Aug 2014 04:27:32 +0000 (21:27 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 30 Aug 2014 03:41:11 +0000 (20:41 -0700)
Set skb->csum_level instead of skb->encapsulation when indicating
CHECKSUM_UNNECESSARY for an encapsulated checksum.

Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/i40e/i40e_txrx.c

index 4bf49d2acb0461f944bb56afceef8f449c33dcc8..b60f16381229cd9db36d7ba80cfa5fc1f2ad0913 100644 (file)
@@ -1241,7 +1241,6 @@ static inline void i40e_rx_checksum(struct i40e_vsi *vsi,
        ipv6_tunnel = (rx_ptype > I40E_RX_PTYPE_GRENAT6_MAC_PAY3) &&
                      (rx_ptype < I40E_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4);
 
-       skb->encapsulation = ipv4_tunnel || ipv6_tunnel;
        skb->ip_summed = CHECKSUM_NONE;
 
        /* Rx csum enabled and ip headers found? */
@@ -1315,6 +1314,7 @@ static inline void i40e_rx_checksum(struct i40e_vsi *vsi,
        }
 
        skb->ip_summed = CHECKSUM_UNNECESSARY;
+       skb->csum_level = ipv4_tunnel || ipv6_tunnel;
 
        return;