|
@@ -917,7 +917,9 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
|
|
if (dev->features & NETIF_F_RXHASH)
|
|
if (dev->features & NETIF_F_RXHASH)
|
|
skb_set_hash(gro_skb,
|
|
skb_set_hash(gro_skb,
|
|
be32_to_cpu(cqe->immed_rss_invalid),
|
|
be32_to_cpu(cqe->immed_rss_invalid),
|
|
- PKT_HASH_TYPE_L3);
|
|
|
|
|
|
+ (ip_summed == CHECKSUM_UNNECESSARY) ?
|
|
|
|
+ PKT_HASH_TYPE_L4 :
|
|
|
|
+ PKT_HASH_TYPE_L3);
|
|
|
|
|
|
skb_record_rx_queue(gro_skb, cq->ring);
|
|
skb_record_rx_queue(gro_skb, cq->ring);
|
|
skb_mark_napi_id(gro_skb, &cq->napi);
|
|
skb_mark_napi_id(gro_skb, &cq->napi);
|
|
@@ -963,7 +965,9 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
|
|
if (dev->features & NETIF_F_RXHASH)
|
|
if (dev->features & NETIF_F_RXHASH)
|
|
skb_set_hash(skb,
|
|
skb_set_hash(skb,
|
|
be32_to_cpu(cqe->immed_rss_invalid),
|
|
be32_to_cpu(cqe->immed_rss_invalid),
|
|
- PKT_HASH_TYPE_L3);
|
|
|
|
|
|
+ (ip_summed == CHECKSUM_UNNECESSARY) ?
|
|
|
|
+ PKT_HASH_TYPE_L4 :
|
|
|
|
+ PKT_HASH_TYPE_L3);
|
|
|
|
|
|
if ((be32_to_cpu(cqe->vlan_my_qpn) &
|
|
if ((be32_to_cpu(cqe->vlan_my_qpn) &
|
|
MLX4_CQE_VLAN_PRESENT_MASK) &&
|
|
MLX4_CQE_VLAN_PRESENT_MASK) &&
|