From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f195.google.com (mail-wr0-f195.google.com [209.85.128.195]) by dpdk.org (Postfix) with ESMTP id E52ABAAE9 for ; Mon, 16 Apr 2018 18:22:04 +0200 (CEST) Received: by mail-wr0-f195.google.com with SMTP id z73so27706700wrb.0 for ; Mon, 16 Apr 2018 09:22:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=i/j+pUckCfvT+8jAASohEi/ljGDqMyt4fI/I3HlOGIU=; b=xkGTkqyQSAWtpJ7uy/rqceyGzhUKrGjbhUViQ+WRpPhgxvzZ6+HHR1S6qXk49EUv8X BDHZ1DNoPbaFjoszkUSLm9j2bdtk5X+sUXKATVf57r7SeuFdy8LyeAbDeIrK0efp10dJ Nipo8qiQOXzIzywLZqw1O9RjZaPsLgN7t6Tpul13gxsZYAD/G1XPqBC4tCklBXaVExnR NZAtqM73FFbBm7NxshGJwjTOfpsl3g2tK3Qad7aJhIlHzPXeriIEI5+nBKwXFikS2zVI ZgR/NJkPU4dXHLl/e+Yd7KhK/f7AH7N+K7VRSoT6hwcU2oz5a5Rd04tJ0pOeSsB+9vWC LGLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=i/j+pUckCfvT+8jAASohEi/ljGDqMyt4fI/I3HlOGIU=; b=FA8qRwkLz5d6SGLcxivwmkAiX1KqWbz2h73oeofRbiQHXy9brW7+rq0T2rzNCy5PlO 8ue+ShFvxM48OyUzuFTZs9Izt0EymJFKmDPXzndafoPhxezYVbmz/zRdUi2ns7qz1f70 FfNpeUrNJxkfCtpAw8Ty9pUpS4Z77rPMigQc7MRYSlxciAfsn+/pSkumy4r5EslIRlhP SvQL4reN4udja9hdFXW3h+DTdQCFBH7ZRzIXHc3Oq64pYgKcN4ydevw5xeQKsnfoY8Ct ZRGGqkFLAz4n+XVDcbGvDdsBmSxePbzdFfjHHm2Q/B1PI4mQdaGQ9tF90A2iemjw8uZg yHjA== X-Gm-Message-State: ALQs6tCDd8k17Mj41JtKDz9FcdGXFNAwJ9/EiywEBwvRGoJFOk9+kPZw wzm8UcARbHRM9wsqso0SDLjcgCL3 X-Google-Smtp-Source: AIpwx4/dI5VMft9fkH/JHqOeyr320Eu7I7jzZ4eEGn8X2e649Phw5EgbpQs/GpzN2PlkWN5pZscs9Q== X-Received: by 10.223.145.35 with SMTP id j32mr11355988wrj.106.1523895724584; Mon, 16 Apr 2018 09:22:04 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id d17sm12687213wrc.45.2018.04.16.09.22.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 Apr 2018 09:22:04 -0700 (PDT) Date: Mon, 16 Apr 2018 18:21:50 +0200 From: Adrien Mazarguil To: dev@dpdk.org Cc: stable@dpdk.org, Shahaf Shuler Message-ID: <20180416150058.2620-3-adrien.mazarguil@6wind.com> References: <20180410161132.8776-1-adrien.mazarguil@6wind.com> <20180416150058.2620-1-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180416150058.2620-1-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH v5 02/11] net/mlx4: fix ignored RSS hash types X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Apr 2018 16:22:05 -0000 When an unsupported hash type is part of a RSS configuration structure, it is silently ignored instead of triggering an error. This may lead applications to assume that such types are accepted, while they are in fact not part of the resulting flow rules. Fixes: 078b8b452e6b ("net/mlx4: add RSS flow rule action support") Cc: stable@dpdk.org Signed-off-by: Adrien Mazarguil Cc: Shahaf Shuler --- drivers/net/mlx4/mlx4_flow.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c index 2b4bf7094..67fd568bc 100644 --- a/drivers/net/mlx4/mlx4_flow.c +++ b/drivers/net/mlx4/mlx4_flow.c @@ -706,6 +706,7 @@ mlx4_flow_prepare(struct priv *priv, const struct rte_flow_action_queue *queue; const struct rte_flow_action_rss *rss; const struct rte_eth_rss_conf *rss_conf; + uint64_t fields; unsigned int i; case RTE_FLOW_ACTION_TYPE_VOID: @@ -780,10 +781,15 @@ mlx4_flow_prepare(struct priv *priv, " of the context size"; goto exit_action_not_supported; } + rte_errno = 0; + fields = mlx4_conv_rss_hf(priv, rss_conf->rss_hf); + if (fields == (uint64_t)-1 && rte_errno) { + msg = "unsupported RSS hash type requested"; + goto exit_action_not_supported; + } flow->rss = mlx4_rss_get - (priv, - mlx4_conv_rss_hf(priv, rss_conf->rss_hf), - rss_conf->rss_key, rss->num, rss->queue); + (priv, fields, rss_conf->rss_key, rss->num, + rss->queue); if (!flow->rss) { msg = "either invalid parameters or not enough" " resources for additional multi-queue" -- 2.11.0