[dpdk-dev] [PATCH] net/mlx5: set RSS key len 0 to indicate default RSS

Yongseok Koh yskoh at mellanox.com
Wed Oct 3 20:56:23 CEST 2018


> On Oct 3, 2018, at 10:37 AM, Ophir Munk <ophirmu at mellanox.com> wrote:
> 
> Applications which add an RSS flow must supply an RSS key table and an
> RSS key length. If an application needs to add the default RSS flow it
> should not care about the exact RSS default key table and its length.
> By setting key length to 0 - the PMD will know that it should use the
> default RSS key table and length.
> 
> Signed-off-by: Ophir Munk <ophirmu at mellanox.com>
> ---
> drivers/net/mlx5/mlx5_flow.c | 7 ++++---

Please rebase the code on top of the latest dpdk-next-net-mlx.
Actually, it is better to rebase on top of PR#878.

Thanks,
Yongseok

> 1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index 3f548a9..18eacf5 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -2062,7 +2062,8 @@ struct mlx5_flow_tunnel_info {
> 					  RTE_FLOW_ERROR_TYPE_ACTION_CONF,
> 					  &rss->level,
> 					  "tunnel RSS is not supported");
> -	if (rss->key_len < MLX5_RSS_HASH_KEY_LEN)
> +	/* key_len 0 means using default RSS key */
> +	if (rss->key_len > 0 && rss->key_len < MLX5_RSS_HASH_KEY_LEN)
> 		return rte_flow_error_set(error, ENOTSUP,
> 					  RTE_FLOW_ERROR_TYPE_ACTION_CONF,
> 					  &rss->key_len,
> @@ -2106,7 +2107,7 @@ struct mlx5_flow_tunnel_info {
> 		memcpy((*flow->queue), rss->queue,
> 		       rss->queue_num * sizeof(uint16_t));
> 	flow->rss.queue_num = rss->queue_num;
> -	memcpy(flow->key, rss->key, MLX5_RSS_HASH_KEY_LEN);
> +	memcpy(flow->key, rss->key, rss->key_len);
> 	flow->rss.types = rss->types;
> 	flow->rss.level = rss->level;
> 	flow->fate |= MLX5_FLOW_FATE_RSS;
> @@ -2948,7 +2949,7 @@ struct mlx5_flow_tunnel_info {
> 					     flow->rss.queue_num);
> 			if (!hrxq)
> 				hrxq = mlx5_hrxq_new(dev, flow->key,
> -						     MLX5_RSS_HASH_KEY_LEN,
> +						     flow->rss.key_len,
> 						     verbs->hash_fields,
> 						     (*flow->queue),
> 						     flow->rss.queue_num,
> -- 
> 1.8.3.1
> 



More information about the dev mailing list