[PATCH] net/mlx5: fix device checking for send to kernel action
Jiawei Wang
jiaweiw at nvidia.com
Wed Oct 25 09:48:31 CEST 2023
The previous commit extended the send to kernel support on FDB table.
This action creation failed at MLX5 core kernel module, due to the
VF/SF ports do NOT belong to E-Switch mode.
The failure caused the kernel stuck with the older MLX5 core
kernel version.
This patch adds the checking to avoid creating action at the VF/SF ports
on the FDB table.
Fixes: b2cd39187cd4 ("net/mlx5: extend send to kernel action support")
Signed-off-by: Jiawei Wang <jiaweiw at nvidia.com>
Acked-by: Suanming Mou <suanmingm at nvidia.com>
---
drivers/net/mlx5/mlx5_flow_hw.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 6fcf654e4a..89b6f546ae 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -5957,8 +5957,11 @@ flow_hw_create_send_to_kernel_actions(struct mlx5_priv *priv __rte_unused)
#ifdef HAVE_MLX5DV_DR_ACTION_CREATE_DEST_ROOT_TABLE
int action_flag;
int i;
+ bool is_vf_sf_dev = priv->sh->dev_cap.vf || priv->sh->dev_cap.sf;
for (i = MLX5DR_TABLE_TYPE_NIC_RX; i < MLX5DR_TABLE_TYPE_MAX; i++) {
+ if (is_vf_sf_dev && MLX5DR_TABLE_TYPE_FDB == i)
+ continue;
action_flag = mlx5_hw_act_flag[1][i];
priv->hw_send_to_kernel[i] =
mlx5dr_action_create_dest_root(priv->dr_ctx,
--
2.18.1
More information about the dev
mailing list