From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by dpdk.org (Postfix) with ESMTP id 50A101D06A for ; Fri, 6 Apr 2018 15:22:50 +0200 (CEST) Received: by mail-wm0-f68.google.com with SMTP id r191so3489185wmg.4 for ; Fri, 06 Apr 2018 06:22:50 -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=p3g7exBIseOWrRFC3dtjPG8ca/ncfasinGww8MYLTYnSkIOq0H/crcv4l0jvCXtbn/ tMA/6s9fRPC3HOyI0AgC1EsQ4CQek4qMfRBHoN33vtKrxd8bv4KtkleCfaMvoWZvl1AJ qFEav1ZcmrCVRhiE2wP2gSSpkjN/8O5eOD0mH7/x8lC8M6MEH3J6dPwu0N5D4fTgIZpb Tq5ZU/OOu8kbCyBL3T0rGDI4LdSSjPBblivvpDqLi6ql/AYNnWZXiFrCgaW55FxPvqRz rA4T5dBtm5Fb0TMxAQNgY3+g5Hk7TtW9j4WJDBiHc+1jcVVVAh1HxnFMjmzprKJz8Lxo wdyw== 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=X0t3QfhVXQ0VajqTXdxoRPDTdwsehfhDhI9TR0FW5XLn1dPaUnvFnxl9hA5QDVtu5o 4f0ifP0T6bnAHfADM/xY1sBLzgh4pLP3vFbQCCu97PHRg4p4UaC59QEbz+fcLiDfymWX TmnTUfcFtNSJMVdyzlHA2Gghx05nZqiFxSBIkCWkmwAFHJtvUBDlhqukKMiadhcD1M1q ha2tBS6jCCemia96OJyUUIw56k4rpdVjNNAqyqn/YxEDU0xmXuk6KVCNdCiuOTOA8Gr0 vDgKWWKDt9vu2t8SwV5wILMWl6lfF6GxokURKkxYIfLoRpYfLtlAX9KP7O57WGoHxe+R zUug== X-Gm-Message-State: ALQs6tBj00ewC/Hd7lXz0kjwIi5+lKZhpgsEXMMyY/b6L3OAOPOVuFrp RUzfmokurni/evrlCWaIkgpV7YU2 X-Google-Smtp-Source: AIpwx48s+AuqmUKCbDgL7XMgpt/gi0iQD8g4gbucFyK93zi4YyHj9kdSqFGNWmyR1/7uPBCD9njP7A== X-Received: by 10.28.230.156 with SMTP id e28mr9158012wmi.28.1523020970080; Fri, 06 Apr 2018 06:22:50 -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 a63sm12862364wrc.22.2018.04.06.06.22.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Apr 2018 06:22:49 -0700 (PDT) Date: Fri, 6 Apr 2018 15:22:36 +0200 From: Adrien Mazarguil To: dev@dpdk.org Cc: stable@dpdk.org, Shahaf Shuler Message-ID: <20180406131243.19037-3-adrien.mazarguil@6wind.com> References: <20180404144805.11966-1-adrien.mazarguil@6wind.com> <20180406131243.19037-1-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180406131243.19037-1-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-stable] [PATCH v3 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: Fri, 06 Apr 2018 13:22:50 -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