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 33644AAE9 for ; Mon, 16 Apr 2018 18:22:04 +0200 (CEST) Received: by mail-wr0-f195.google.com with SMTP id w3so11074559wrg.2 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=KGfhRftoe9DVgRd5AjtAYCGTRVF9kbCFr3Aqc3zk8srtJqjqqTtAMpCIJjGxm/gOGv tYPoYogigzn7KC7r57viwoiItcOMA0C5DQKeDEwFSyJSUkAZHag0OlWSY3xYNG1m+GJC l61sz/UodDn5cGsllhRtKQqkBiDoe0PHN45yZmuJ+22yG5rvwZwyW+9l4n1WUW2INoWH M0CCpfU0r2iz0TN86keOvRxOccJPtv7S7fn8N00Xsp9XtGRikwccl1cOuTCMRhQU7SSi GdCMQq0EgbzABPnJHf5hzz4aAHB24cWYYiqBsUAEcP10ZoNeAkGEz6QnqpiXYsjKvLwh PFYg== X-Gm-Message-State: ALQs6tCmphGCPcKQ8kKoDFWWCLJ/bHGow0UcfT2D3m+aXSDzP/xq8CoR SvyAPwZrYi+Tw4p1BMR+xxrwkw== 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-stable] [PATCH v5 02/11] net/mlx4: fix ignored RSS hash types X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches 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