The selection flags for the RX hash define how the received packets will be distributed between multiple queues. When creating a new TIR, the queue_num is set to 1 if non of the selection flags is set.
Applied the same to the RSS desc before checking if it matches a cached TIR object to save creating a new object every time. Fixes: fabf8a37241c ("net/mlx5: fix shared RSS action release") Cc: sta...@dpdk.org Signed-off-by: Lior Margalit <lmarga...@nvidia.com> Acked-by: Matan Azrad <ma...@nvidia.com> --- drivers/net/mlx5/mlx5_flow_dv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index fe922b6fbe..4aac69028f 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -10985,6 +10985,8 @@ flow_dv_hrxq_prepare(struct rte_eth_dev *dev, rss_desc->hash_fields = dev_flow->hash_fields; rss_desc->tunnel = !!(dh->layers & MLX5_FLOW_LAYER_TUNNEL); rss_desc->shared_rss = 0; + if (rss_desc->hash_fields == 0) + rss_desc->queue_num = 1; *hrxq_idx = mlx5_hrxq_get(dev, rss_desc); if (!*hrxq_idx) return NULL; -- 2.25.1