diff options
author | Saeed Mahameed | 2019-03-22 03:07:20 +0100 |
---|---|---|
committer | Saeed Mahameed | 2019-04-09 21:33:50 +0200 |
commit | 5d0bb3bac4b9f6c22280b04545626fdfd99edc6b (patch) | |
tree | 91cb443d81aae65d4f1c928e887affaae86a548f /drivers/net/ethernet/mellanox/mlx5/core/en_main.c | |
parent | net/mlx5e: Use fail-safe channels reopen in tx reporter recover (diff) | |
download | kernel-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_main.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 002e2adb3722..4187c43b20ad 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -951,7 +951,11 @@ static int mlx5e_open_rq(struct mlx5e_channel *c, if (params->rx_dim_enabled) __set_bit(MLX5E_RQ_STATE_AM, &c->rq.state); - if (MLX5E_GET_PFLAG(params, MLX5E_PFLAG_RX_NO_CSUM_COMPLETE)) + /* We disable csum_complete when XDP is enabled since + * XDP programs might manipulate packets which will render + * skb->checksum incorrect. + */ + if (MLX5E_GET_PFLAG(params, MLX5E_PFLAG_RX_NO_CSUM_COMPLETE) || c->xdp) __set_bit(MLX5E_RQ_STATE_NO_CSUM_COMPLETE, &c->rq.state); return 0; |