From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 48BD5A053A;
	Tue,  4 Aug 2020 10:13:48 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 3170C1C020;
	Tue,  4 Aug 2020 10:13:48 +0200 (CEST)
Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])
 by dpdk.org (Postfix) with ESMTP id 45D941BFFA
 for <dev@dpdk.org>; Tue,  4 Aug 2020 10:13:46 +0200 (CEST)
Received: from Internal Mail-Server by MTLPINE1 (envelope-from
 orika@mellanox.com) with SMTP; 4 Aug 2020 11:13:44 +0300
Received: from pegasus04.mtr.labs.mlnx. (pegasus04.mtr.labs.mlnx
 [10.210.16.126])
 by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 0748DirF029161;
 Tue, 4 Aug 2020 11:13:44 +0300
From: Ori Kam <orika@mellanox.com>
To: thomas@monjalon.net, arybchenko@solarflare.com, david.marchand@redhat.com, 
 John McNamara <john.mcnamara@intel.com>,
 Marko Kovacevic <marko.kovacevic@intel.com>
Cc: orika@mellanox.com, dev@dpdk.org
Date: Tue,  4 Aug 2020 08:13:31 +0000
Message-Id: <1596528811-138806-1-git-send-email-orika@mellanox.com>
X-Mailer: git-send-email 1.8.3.1
In-Reply-To: <1596464905-43867-1-git-send-email-orika@mellanox.com>
References: <1596464905-43867-1-git-send-email-orika@mellanox.com>
Subject: [dpdk-dev] [PATCH v2] doc: update RSS action with best effort
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

Using the rte_flow action RSS types field,
may result in undefined outcome.

For example selecting both UDP and TCP,
selecting TCP RSS type but the pattern is targeting UDP traffic.
another option is that the PMD doesn't support all requested types.

Until now, it wasn't clear what will happen in such cases.
This commit clarify this issue by stating that the PMD
will work in the best-effort mode.

Signed-off-by: Ori Kam <orika@mellanox.com>
---
v2:
 * Based on ML, update that using only unsupported hash type
   may cause the flow to be rejected by PMD.
---
 doc/guides/prog_guide/rte_flow.rst | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst
index 3e5cd1e..d730b66 100644
--- a/doc/guides/prog_guide/rte_flow.rst
+++ b/doc/guides/prog_guide/rte_flow.rst
@@ -1735,6 +1735,17 @@ unspecified "best-effort" settings from the underlying PMD, which depending
 on the flow rule, may result in anything ranging from empty (single queue)
 to all-inclusive RSS.
 
+Best effort will be used, in case there is a conflict inside the rule.
+The conflict can be the result of:
+
+- Conflicting RSS types, for example setting both UDP and TCP.
+
+- Conflicting between RSS types and the requested pattern to match,
+  for example matching on UDP and hashing RSS on TCP.
+
+If requested RSS hash type is not supported,
+and no supported hash type is requested then the PMD may reject the flow.
+
 Note: RSS hash result is stored in the ``hash.rss`` mbuf field which
 overlaps ``hash.fdir.lo``. Since `Action: MARK`_ sets the ``hash.fdir.hi``
 field only, both can be requested simultaneously.
-- 
1.8.3.1