mlx4: Set skb->csum_level for encapsulated checksum
authorTom Herbert <therbert@google.com>
Thu, 28 Aug 2014 04:27:53 +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/mellanox/mlx4/en_rx.c

index 9c909d2..b7da466 100644 (file)
@@ -769,7 +769,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
                                        gro_skb->ip_summed = CHECKSUM_UNNECESSARY;
 
                                        if (l2_tunnel)
-                                               gro_skb->encapsulation = 1;
+                                               gro_skb->csum_level = 1;
                                        if ((cqe->vlan_my_qpn &
                                            cpu_to_be32(MLX4_CQE_VLAN_PRESENT_MASK)) &&
                                            (dev->features & NETIF_F_HW_VLAN_CTAG_RX)) {
@@ -823,8 +823,8 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
                skb->protocol = eth_type_trans(skb, dev);
                skb_record_rx_queue(skb, cq->ring);
 
-               if (l2_tunnel)
-                       skb->encapsulation = 1;
+               if (l2_tunnel && ip_summed == CHECKSUM_UNNECESSARY)
+                       skb->csum_level = 1;
 
                if (dev->features & NETIF_F_RXHASH)
                        skb_set_hash(skb,