OSDN Git Service

net/mlx5e: Use page-sized fragments with XDP multi buffer
authorMaxim Mikityanskiy <maximmi@nvidia.com>
Wed, 9 Feb 2022 13:32:35 +0000 (15:32 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Fri, 18 Mar 2022 20:51:12 +0000 (13:51 -0700)
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>
drivers/net/ethernet/mellanox/mlx5/core/en/params.c

index 822fbb9..9646867 100644 (file)
@@ -444,7 +444,7 @@ static int mlx5e_build_rq_frags_info(struct mlx5_core_dev *mdev,
 
        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);