From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by dpdk.org (Postfix) with ESMTP id 684081D074 for ; Fri, 6 Apr 2018 15:22:50 +0200 (CEST) Received: by mail-wm0-f65.google.com with SMTP id u189so3503717wmd.1 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=DmclnuNon5U0DrlRRr+kp83Re8pGRu3+eZbGEDF9ziGBJr8oh8SCvjFiCr5lJmW6Bq /+xe2lMqFirk4c2U8H9S2WmM2yQs/no13xnomTJZpL3Ge3R+6aKGu/TWwiwkOfEB5UG2 WsTIfj0SSUvcbTXbgTnzfJ3xkDwhEoYgHOX5FeNvv0r88S9B7vPzu54hxXf536GTk4q6 ot/H9Iz3HB7y/NsIYBcKOyK7RsdVaa0HCQ0zeMkWECwL4MW5RgXC5PynlQVcaxv8pv6l BZRsxqSjxyE2mP9p/ZbYf8kH+jULat/XFxkd9Kpew4O7J6OUQrJYpO9u7CuXIvvVote+ eitw== X-Gm-Message-State: ALQs6tDOCstGHp5E1Up3X/hsZ+Z5R6idH6RnPFfzm5bize1xcPCurYQf jPFDXJdw95tolMxndcxUnBhg3ffk 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-dev] [PATCH v3 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: 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