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 66FC31BAA5 for ; Tue, 10 Apr 2018 18:34:20 +0200 (CEST) Received: by mail-wm0-f65.google.com with SMTP id o23so22296979wmf.0 for ; Tue, 10 Apr 2018 09:34: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=IqAYd8nYUviEc/ly09AdpV8lp0ZaBqeFIw0ViTFDQzLeN4FxN/Lup3tKznF9Hjb8/Y 84nGBQxNIzjGRIK0aCgaa1l7I/h7132/9EC2nbncWpdgmu6O0dUSobPos/dN7HCRJ3DB lYzy+sRoFzPuYNjW9P0Sx86ko+u1gn0G6MVaXr9Bs1Kj3GECStoXoR3vNPWqWtyGV4Db 3jwEZDaO4SZXDBhkjLElqAdj5jlJR64ytXZJSwlL37Usx2amA7OY0wcWObyns8guxI6Y KgXBOtgLqtcy1ucOrBwo6D9FGU2X1vDGcoThuismBI2EqxU9sCLEFg1+8ob+fcpycyDZ yHWA== 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=U8dXo/kplJ5NACt9A8v6ePgXSa2vpUVbvIgnTPGYLO7Zcn9Q8IQYaoQ2tuIeqMW8zC q0fkepq7faSLPe52FOYE9dSFf86qsf3xW6hWdaPuw9EMmjtM0HGNt9citaTsAwM2Wdvp DOkiqY8kJ/v6rWrSM7txHabILA7VFYRwh2mOZ5u3eleC5ruOBz1Fteb42YDZFRj7vQtY uGHcLSqg9DGfpnT1+dyfRnW9LO+7AteLN1yrMd1X46jQ8O0gZTEwSjueOmbN5JSO5jA0 I5UiL5U/F1e5BiBkuAmLj2lzqKbBHsJ2GSh7z+4usQI32NDYTenjD+MygMSD8P8M+qRo LURQ== X-Gm-Message-State: ALQs6tAaeOmdxrp7xtua7zqqdWfNhrkiN3c7QTysIpkS7kyi8V5uFbX4 Fy+o7aN9X6AnlR5K2Nru/Waq1wok X-Google-Smtp-Source: AIpwx487LXOyE27YDQvib0i8dsdWwaPlMFvjFekUza5tUJVfK3SUM+z2y9XIiZiWyl7jFJ3T/whBeQ== X-Received: by 10.28.92.211 with SMTP id q202mr129898wmb.131.1523378060130; Tue, 10 Apr 2018 09:34:20 -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 b97sm1026772wrd.34.2018.04.10.09.34.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Apr 2018 09:34:19 -0700 (PDT) Date: Tue, 10 Apr 2018 18:34:06 +0200 From: Adrien Mazarguil To: dev@dpdk.org Cc: stable@dpdk.org, Shahaf Shuler Message-ID: <20180410161132.8776-3-adrien.mazarguil@6wind.com> References: <20180406131243.19037-1-adrien.mazarguil@6wind.com> <20180410161132.8776-1-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180410161132.8776-1-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH v4 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: Tue, 10 Apr 2018 16:34: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