From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrien Mazarguil Subject: [PATCH v2 1/2] net/mlx4: fix inadequate default in RSS converter Date: Mon, 21 May 2018 17:50:09 +0200 Message-ID: <20180521154829.6297-1-adrien.mazarguil@6wind.com> References: <20180515154853.6361-1-adrien.mazarguil@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: Shahaf Shuler Return-path: Received: from mail-wr0-f194.google.com (mail-wr0-f194.google.com [209.85.128.194]) by dpdk.org (Postfix) with ESMTP id 866031B1E6 for ; Mon, 21 May 2018 17:50:25 +0200 (CEST) Received: by mail-wr0-f194.google.com with SMTP id i12-v6so3334179wrc.4 for ; Mon, 21 May 2018 08:50:25 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180515154853.6361-1-adrien.mazarguil@6wind.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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") Signed-off-by: Adrien Mazarguil -- This is a rework of "net/mlx4: fix useless default in RSS converter" [1]. Not a candidate for stable anymore since DPDK 18.02 does not include the flow API RSS rework. [1] http://dpdk.org/ml/archives/dev/2018-May/100285.html --- drivers/net/mlx4/mlx4_flow.c | 6 +++--- drivers/net/mlx4/mlx4_flow.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c index 202779f7d..ebc9eeb8b 100644 --- a/drivers/net/mlx4/mlx4_flow.c +++ b/drivers/net/mlx4/mlx4_flow.c @@ -114,7 +114,7 @@ struct mlx4_drop { * 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. @@ -160,7 +160,7 @@ mlx4_conv_rss_types(struct priv *priv, uint64_t types) 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]) { @@ -1384,7 +1384,7 @@ mlx4_flow_internal(struct priv *priv, struct rte_flow_error *error) 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, diff --git a/drivers/net/mlx4/mlx4_flow.h b/drivers/net/mlx4/mlx4_flow.h index d1f1611eb..2e82903bd 100644 --- a/drivers/net/mlx4/mlx4_flow.h +++ b/drivers/net/mlx4/mlx4_flow.h @@ -48,7 +48,7 @@ struct rte_flow { /* 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); -- 2.11.0