From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f195.google.com (mail-wr0-f195.google.com [209.85.128.195]) by dpdk.org (Postfix) with ESMTP id 24E027D09 for ; Thu, 19 Apr 2018 12:07:42 +0200 (CEST) Received: by mail-wr0-f195.google.com with SMTP id w3-v6so12428567wrg.2 for ; Thu, 19 Apr 2018 03:07:42 -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=3N1uHcHQoYeS2gT1HmrrHBOmt49BrFzr9zrOnk9IuE0=; b=LE1dYSTFEegPPC1I0jb2Jhat1XolTdNqDDMZKuoYxMKwjRM33Iqw6peMSz9Mc9l+Ax 9VKJYn2WhPWzQGsQVOkJY+y3SQh1oyHwmVX75qt/5x2+vj1AWB/6X4WZwB3admtxy7rw 3lvK7TrcqHlM27j9D30BS8WtWkikcSsPo9z4wIDI9yWNQZnPS9JjztBskbkjdEMtqbJ5 0VuZjCcGSbi6SlNwWqE5CR9WmRI7c920nc0V4mIxIFKmtg4AMYv7it8Znjjs+N9BtdFP AMxgNpg3H9+Qi/VnOI7dxhaZdc8hHsVu6w8EAku3nzTKwJWUt/cvczpEFYfP4ml/K6qV shzg== 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=3N1uHcHQoYeS2gT1HmrrHBOmt49BrFzr9zrOnk9IuE0=; b=WWbWrFXG7AmdtBU3zudtYW7bfgdb+uZGOGoVY84O2gtldj7aOfdkRENU5RvW+BfFuk D+2Xv7dSiJV/Y3GJS8zXxiw4gTRLvyZ+uCvJXoujen8wrRx5RzgPGzDh3gNneRVGDNaW VrKy93/+DAyF1q1OQkEtHAHf1Kg2O9NqzSPUt6s8eOyh/PawNS7STNqZ5aw8z3dKIg9N In29VOuwZ1S0pkC6As7qPnwFCVVztkxWneiv5rzSUqZVUhQcYl4gL0RrLmJXVh8VAR9o NV8QjLxR/a6bBpW6jRaMA548HJhg+kKgPnuMhcBCzDV8tF24aWPzKYx0mfcFj2qwqmBn UAfw== X-Gm-Message-State: ALQs6tCwaPKbU6gzdx/HVntHKJJMur+SHAgKJA5LsucdXKNRtZ1b51aB 5OTrXgE3S64dRbOpL34OISGNrL+c X-Google-Smtp-Source: AIpwx49M64J7M3wkFDYqbEoUyx8MQGwfHa1YteI0BVIyPdy7pONNtZkZUFQ/WUvy6q8v/uGS4idOmA== X-Received: by 10.28.148.82 with SMTP id w79mr4409011wmd.64.1524132461935; Thu, 19 Apr 2018 03:07:41 -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 a129sm8734449wme.3.2018.04.19.03.07.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Apr 2018 03:07:41 -0700 (PDT) Date: Thu, 19 Apr 2018 12:07:27 +0200 From: Adrien Mazarguil To: dev@dpdk.org Cc: stable@dpdk.org, Shahaf Shuler Message-ID: <20180419100204.5728-3-adrien.mazarguil@6wind.com> References: <20180416150058.2620-1-adrien.mazarguil@6wind.com> <20180419100204.5728-1-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180419100204.5728-1-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-stable] [PATCH v6 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: Thu, 19 Apr 2018 10:07:42 -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 Acked-by: Nelio Laranjeiro 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 2b4bf7094..67fd568bc 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