Below commit documents 0 as a value standing for a default set of RSS hash
types, however the mlx4 PMD doesn't interpret it correctly and still uses
its own internal special value for that (-1).
Also, its function prototype was not updated.
Fixes:
ac8d22de2394 ("ethdev: flatten RSS configuration in flow API")
Fixes:
1d173da83ef2 ("net/mlx4: fix default RSS hash fields")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
* Convert DPDK RSS hash types to their Verbs equivalent.
*
* This function returns the supported (default) set when @p types has
- * special value (uint64_t)-1.
+ * special value 0.
*
* @param priv
* Pointer to private structure.
uint64_t conv = 0;
unsigned int i;
- if (types == (uint64_t)-1)
+ if (!types)
return priv->hw_rss_sup;
for (i = 0; i != RTE_DIM(in); ++i)
if (types & in[i]) {
struct rte_flow_action_rss action_rss = {
.func = RTE_ETH_HASH_FUNCTION_DEFAULT,
.level = 0,
- .types = -1,
+ .types = 0,
.key_len = MLX4_RSS_HASH_KEY_SIZE,
.queue_num = queues,
.key = mlx4_rss_hash_key_default,
/* mlx4_flow.c */
-uint64_t mlx4_conv_rss_types(struct priv *priv, uint64_t rss_hf);
+uint64_t mlx4_conv_rss_types(struct priv *priv, uint64_t types);
uint64_t mlx4_ibv_to_rss_types(uint64_t ibv_rss_types);
int mlx4_flow_sync(struct priv *priv, struct rte_flow_error *error);
void mlx4_flow_clean(struct priv *priv);