From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f196.google.com (mail-wr0-f196.google.com [209.85.128.196]) by dpdk.org (Postfix) with ESMTP id 372E25F17 for ; Fri, 23 Mar 2018 13:58:20 +0100 (CET) Received: by mail-wr0-f196.google.com with SMTP id o8so12038610wra.1 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=ig5YxWCATCI7bp23i8DsFaelbxv0z0jTbSmb5gsR9ZQPixP73vmWSZ0x9rjiRSUhTI +BSjh/AOkaqLgWaGyFaoR+7k7bLKfahfLXjIpZfE8zt2/BaxQI4y4R8zdMxBNvJivSXp YqLM0AuvXrxOUjRZCpcBqGLUO0QpRLgnhhJ7ux98Qyen7Hh/1eWWydjg465pZ3BG2V2q iGRvXIjZG2MFzVmQpsi0wvYbkwRQ9gm01Ntv6pJIeqHuWZgv00PERYEbMN84si2qxXjF +QD91GfYwCB6Ou3XBXcvVI+725RutwnLWvwAdkX6mmWEwTt6m5KcpXwCtC8Lnq0AN+gk v4cQ== X-Gm-Message-State: AElRT7E+rSfXmUpwP7TbeQUPUVCB98zOJ5p8SPxQj55UA+JEzWDVU+0c MKYWS64L4yDVEUxOktnVl4CInLog 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-dev] [PATCH v1 2/9] 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: Fri, 23 Mar 2018 12:58:20 -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