The incorrect variable for the number of groups was used, so in the case of values not power of 2 the incorrect result was produced.
Fixes: f7598a62d11 (table: support selector table) Cc: sta...@dpdk.org Signed-off-by: Yogesh Jangra <yogesh.jan...@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitre...@intel.com> --- lib/table/rte_swx_table_selector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/table/rte_swx_table_selector.c b/lib/table/rte_swx_table_selector.c index ad99f18453..18e021fe6f 100644 --- a/lib/table/rte_swx_table_selector.c +++ b/lib/table/rte_swx_table_selector.c @@ -232,7 +232,7 @@ table_params_copy(struct table *t, struct rte_swx_table_selector_params *params) t->params.n_members_per_group_max = rte_align32pow2(params->n_members_per_group_max); for (i = 0; i < 32; i++) - if (params->n_members_per_group_max == 1U << i) + if (t->params.n_members_per_group_max == 1U << i) t->n_members_per_group_max_log2 = i; /* t->params.selector_mask */ -- 2.25.1