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 45BEC7D0A for ; Thu, 19 Apr 2018 12:07:42 +0200 (CEST) Received: by mail-wr0-f195.google.com with SMTP id z73-v6so12451845wrb.0 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=lgebQXBo1YQpRkT3o9awArnEHWu/eMI/ynvMBIJDPKnl1Iv1Qz1339AHZ5P/5SK9pX 739wO9+Ex22CFWWx+/jzB7yyuQ1x2utNLEi5UgHmEMw3S3P/jOpPXUe1m6zdjUxBNumD Q+/C120kp7VkrWLrHXyq8yc7Vsh+2rupwD8h8jeIle0Nn4xrcZ6PpH9Po4NKgSAGuWp7 E0W2CerH6QdZ/nzIQvvsDnlBasWzh+OIJ6ecqHrp2L/eB75FW1ER5kwj3OpIfr/URwZK ak5//RoxetUzldb3y73PW+4rgKrDOH50l08l38cmr4J+HWsIfCWXjDWf6rboWyzldse9 mhKQ== X-Gm-Message-State: ALQs6tB03utCtWwfYRBRfD437DXKiabrzDIBLHs8/lEGZi6ewYDCIYD5 3/RN75zVC3Q5FiCnUBE7fy7+5veI 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-dev] [PATCH v6 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: 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