Blob Blame History Raw
From: Maxim Mikityanskiy <maximmi@nvidia.com>
Date: Wed, 9 Feb 2022 15:32:35 +0200
Subject: net/mlx5e: Use page-sized fragments with XDP multi buffer
Patch-mainline: v5.18-rc1
Git-commit: d51f4a4cca6f629927b1871af0c6f5ce7a9022e9
References: jsc#PED-1549

The implementation of XDP in mlx5e assumes that the frame size is equal
to the page size. Force this limitation in the non-linear mode for XDP
multi buffer.

Signed-off-by: Maxim Mikityanskiy <maximmi@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
 drivers/net/ethernet/mellanox/mlx5/core/en/params.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/net/ethernet/mellanox/mlx5/core/en/params.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/params.c
@@ -444,7 +444,7 @@ static int mlx5e_build_rq_frags_info(str
 
 	max_mtu = mlx5e_max_nonlinear_mtu(first_frag_size_max, frag_size_max,
 					  params->xdp_prog);
-	if (byte_count > max_mtu) {
+	if (byte_count > max_mtu || params->xdp_prog) {
 		frag_size_max = PAGE_SIZE;
 		first_frag_size_max = SKB_WITH_OVERHEAD(frag_size_max - headroom);