git: 8ef9c7dbd706 - main - fixup! IB/mlx5: Enabled VLAN stripping capability

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Wed, 16 Sep 2026 14:12:41 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=8ef9c7dbd706148bc38b820159c3a6c0324ec041

commit 8ef9c7dbd706148bc38b820159c3a6c0324ec041
Author:     Ariel Ehrenberg <aehrenberg@nvidia.com>
AuthorDate: 2026-07-28 12:02:37 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-09-16 14:12:06 +0000

    fixup! IB/mlx5: Enabled VLAN stripping capability
    
    Fix is based on upstream Linux commit 2978975ce7f1 ("RDMA/mlx5: Process
    create QP flags in one place").
    
    Add IB_QP_CREATE_SCATTER_FCS and IB_QP_CREATE_CVLAN_STRIPPING to the
    create_kernel_qp() allowlist, so a kernel RAW_PACKET QP using these flags
    is no longer rejected with -EINVAL even though create_qp_common() supports
    them.  The flags arrived in 358e42ea66e2 and e4cc4fa7cca9, neither of
    which updated this mask; upstream only fixed that later, as part of a much
    larger refactor that is not worth importing, so the minimal equivalent is
    done here.
    
    Sponsored by:   NVidia networking
    MFC after:      1 month
---
 sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c b/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
index 4997f29488e1..afa4ca5456d8 100644
--- a/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
+++ b/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
@@ -929,6 +929,8 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev,
 	if (init_attr->create_flags & ~(IB_QP_CREATE_SIGNATURE_EN |
 					IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK |
 					IB_QP_CREATE_IPOIB_UD_LSO |
+					IB_QP_CREATE_SCATTER_FCS |
+					IB_QP_CREATE_CVLAN_STRIPPING |
 					MLX5_IB_QP_CREATE_SQPN_QP1 |
 					MLX5_IB_QP_CREATE_WC_TEST))
 		return -EINVAL;