When mlx5 port was configured with HW Steering flow engine (devarg dv_flow_en set to 2), PMD did not set RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE in device flags. This caused certain flow API calls, such as rte_flow_query(), to obtain a port-wide lock, which is not needed.
This patch adds missing code for setting this flag. Fixes: d84c3cf7662c ("net/mlx5: introduce hardware steering enable routine") Cc: suanmi...@nvidia.com Cc: sta...@dpdk.org Signed-off-by: Dariusz Sosnowski <dsosnow...@nvidia.com> Acked-by: Suanming Mou <suanmi...@nvidia.com> --- drivers/net/mlx5/linux/mlx5_os.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c index d5ef695e6d..1caece5405 100644 --- a/drivers/net/mlx5/linux/mlx5_os.c +++ b/drivers/net/mlx5/linux/mlx5_os.c @@ -1643,6 +1643,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, "matching is disabled", eth_dev->data->port_id); } + eth_dev->data->dev_flags |= RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE; return eth_dev; #else DRV_LOG(ERR, "DV support is missing for HWS."); -- 2.25.1