mirror of https://gitee.com/openkylin/linux.git
mlx4: Set skb->csum_level for encapsulated checksum
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>
This commit is contained in:
parent
407fa0853c
commit
9ca8600ec1
|
@ -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;
|
gro_skb->ip_summed = CHECKSUM_UNNECESSARY;
|
||||||
|
|
||||||
if (l2_tunnel)
|
if (l2_tunnel)
|
||||||
gro_skb->encapsulation = 1;
|
gro_skb->csum_level = 1;
|
||||||
if ((cqe->vlan_my_qpn &
|
if ((cqe->vlan_my_qpn &
|
||||||
cpu_to_be32(MLX4_CQE_VLAN_PRESENT_MASK)) &&
|
cpu_to_be32(MLX4_CQE_VLAN_PRESENT_MASK)) &&
|
||||||
(dev->features & NETIF_F_HW_VLAN_CTAG_RX)) {
|
(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->protocol = eth_type_trans(skb, dev);
|
||||||
skb_record_rx_queue(skb, cq->ring);
|
skb_record_rx_queue(skb, cq->ring);
|
||||||
|
|
||||||
if (l2_tunnel)
|
if (l2_tunnel && ip_summed == CHECKSUM_UNNECESSARY)
|
||||||
skb->encapsulation = 1;
|
skb->csum_level = 1;
|
||||||
|
|
||||||
if (dev->features & NETIF_F_RXHASH)
|
if (dev->features & NETIF_F_RXHASH)
|
||||||
skb_set_hash(skb,
|
skb_set_hash(skb,
|
||||||
|
|
Loading…
Reference in New Issue