parser->rss_conf.rss_key_len,
hash_fields,
parser->queues,
- hash_fields ? parser->queues_n : 1);
+ parser->queues_n);
if (flow->frxq[i].hrxq)
continue;
flow->frxq[i].hrxq =
parser->rss_conf.rss_key_len,
hash_fields,
parser->queues,
- hash_fields ? parser->queues_n : 1);
+ parser->queues_n);
if (!flow->frxq[i].hrxq) {
rte_flow_error_set(error, ENOMEM,
RTE_FLOW_ERROR_TYPE_HANDLE,
* @param hash_fields
* Verbs protocol hash field to make the RSS on.
* @param queues
- * Queues entering in hash queue.
+ * Queues entering in hash queue. In case of empty hash_fields only the
+ * first queue index will be taken for the indirection table.
* @param queues_n
* Number of queues.
*
struct mlx5_ind_table_ibv *ind_tbl;
struct ibv_qp *qp;
+ queues_n = hash_fields ? queues_n : 1;
ind_tbl = mlx5_priv_ind_table_ibv_get(priv, queues, queues_n);
if (!ind_tbl)
ind_tbl = mlx5_priv_ind_table_ibv_new(priv, queues, queues_n);
* @param rss_conf
* RSS configuration for the Rx hash queue.
* @param queues
- * Queues entering in hash queue.
+ * Queues entering in hash queue. In case of empty hash_fields only the
+ * first queue index will be taken for the indirection table.
* @param queues_n
* Number of queues.
*
{
struct mlx5_hrxq *hrxq;
+ queues_n = hash_fields ? queues_n : 1;
LIST_FOREACH(hrxq, &priv->hrxqs, next) {
struct mlx5_ind_table_ibv *ind_tbl;