summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
diff options
context:
space:
mode:
authorSaeed Mahameed2019-03-22 03:07:20 +0100
committerSaeed Mahameed2019-04-09 21:33:50 +0200
commit5d0bb3bac4b9f6c22280b04545626fdfd99edc6b (patch)
tree91cb443d81aae65d4f1c928e887affaae86a548f /drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
parentnet/mlx5e: Use fail-safe channels reopen in tx reporter recover (diff)
downloadkernel-qcow2-linux-5d0bb3bac4b9f6c22280b04545626fdfd99edc6b.tar.gz
kernel-qcow2-linux-5d0bb3bac4b9f6c22280b04545626fdfd99edc6b.tar.xz
kernel-qcow2-linux-5d0bb3bac4b9f6c22280b04545626fdfd99edc6b.zip
net/mlx5e: XDP, Avoid checksum complete when XDP prog is loaded
XDP programs might change packets data contents which will make the reported skb checksum (checksum complete) invalid. When XDP programs are loaded/unloaded set/clear rx RQs MLX5E_RQ_STATE_NO_CSUM_COMPLETE flag. Fixes: 86994156c736 ("net/mlx5e: XDP fast RX drop bpf programs support") Reviewed-by: Tariq Toukan <tariqt@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_rx.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_rx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
index 3dde5c7e0739..91af48344743 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
@@ -752,7 +752,8 @@ static inline void mlx5e_handle_csum(struct net_device *netdev,
return;
}
- if (unlikely(test_bit(MLX5E_RQ_STATE_NO_CSUM_COMPLETE, &rq->state)))
+ /* True when explicitly set via priv flag, or XDP prog is loaded */
+ if (test_bit(MLX5E_RQ_STATE_NO_CSUM_COMPLETE, &rq->state))
goto csum_unnecessary;
/* CQE csum doesn't cover padding octets in short ethernet