From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f193.google.com (mail-wr0-f193.google.com [209.85.128.193]) by dpdk.org (Postfix) with ESMTP id 33A5D5F16 for ; Fri, 23 Mar 2018 13:58:20 +0100 (CET) Received: by mail-wr0-f193.google.com with SMTP id d10so12040171wrf.3 for ; Fri, 23 Mar 2018 05:58:20 -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=hm46OSpCw/gEBJh2VFnN1qG4BjOj1UonvsTiUpJ0OMA=; b=hioMWCVoB84LhFUDZGWNHN11d+YaUoJ++s/LN++ENdCvlWbAsTanJd8hilXnhIT1o5 RavVGulu3IA8ugcF7H3fWYKgSHYkE1quzCCNaRLuhERZzytJRgdwYlr58ZBL2hzAEVeM 3ixq5Tt18m95ACccwGvXWMjgEX0rP8W361ykto+/oBM1ZKMKmDwXh2Njt3VjUMYI9ph+ iWNVovmKd9+hZaNEbCI6r77fR+mYAQ2VduAM7Tbv+G2Tpw1Ffn5z4NUnj4/1WYb6fHmU A5pbLHavUnz1SzFiaIYDOKGAmNOSRl8OGGWEdle/l1CLHxPlGhA3oKVh4INdz2bAVqEF vC+g== 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=hm46OSpCw/gEBJh2VFnN1qG4BjOj1UonvsTiUpJ0OMA=; b=je0xqhe5/ZaAjwjarBibKi2kPun8Zvh2mB+Q32rE+Muj4jpCMsPv+hMtFHP/phZEyY HYznUR6SosT8BfKfGYZZVrwJvAVNo/LH4oAiv/d2+DPLJcsirlf0IwiAnHj6GhGTX1uR o6RHE3UPd7Dj2q6wi0Nlq6QlNokfWaRypAeiU2T3BIskhdV8rD5O1CWaSNJvHy6YiL+0 X7zRLyW95r2WZ0KeZO71Bih1zhqOClMMmEurAbgwqlFAYb6oluBVWg9jhV2O8W3xaRyk vX4w36FwdywkggQqnNhjlT0XNFION4VsiBNmpa+dpafazm7L/6kJFis8X7idH4p0G86/ EesA== X-Gm-Message-State: AElRT7HM94hFTdgj+Jp3CtfDRm4gTomOx90ItzzlTudKjLaeYY6ezJl9 5NzSSOPO7fajkSWpVI1f8bjiww== X-Google-Smtp-Source: AG47ELsuiIdNm21SuX05axvHIrzSukTFS3nlSsYPOZxE56Y2Yyn3XsSMS82m94uNQT7Fga7QI/EeNg== X-Received: by 10.223.178.228 with SMTP id g91mr22834966wrd.157.1521809899852; Fri, 23 Mar 2018 05:58:19 -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 l73sm2850734wma.10.2018.03.23.05.58.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 23 Mar 2018 05:58:19 -0700 (PDT) Date: Fri, 23 Mar 2018 13:58:05 +0100 From: Adrien Mazarguil To: dev@dpdk.org Cc: stable@dpdk.org, Shahaf Shuler Message-ID: <20180323124725.15806-3-adrien.mazarguil@6wind.com> References: <20180323124725.15806-1-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180323124725.15806-1-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-stable] [PATCH v1 2/9] 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: Fri, 23 Mar 2018 12:58:21 -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 a3b4480b4..4d26df326 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