From 0ff8cc564dd8483dfcf233063ea9144df37d9ebd Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Mon, 20 Nov 2023 19:14:04 +0800
Subject: [PATCH 407/410] doc: fix RSS flow description in hns3 guide

[ upstream commit 9036f9fef8ed7002ba45d78ef1e5c604dfc9948a ]

The hns3 driver supports for creating rule base on input tuple, hash
key, queues and hash algorithm. But hash key, queues and hash algorithm
are the global configuration for hardware which will affect other rules.
The rule just setting input tuple is completely independent.

Fixes: 63a0f65c9572 ("doc: add more description in hns3 guide")
Cc: stable@dpdk.org

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Jie Hai <haijie1@huawei.com>
---
 doc/guides/nics/hns3.rst | 42 ++++++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 14 deletions(-)

diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index d55c0930a2..5ac64495a6 100644
--- a/doc/guides/nics/hns3.rst
+++ b/doc/guides/nics/hns3.rst
@@ -239,36 +239,50 @@ Generic flow API
 
 - ``RSS Flow``
 
-  RSS Flow supports to set hash input set, hash function, enable hash
-  and configure queues.
-  For example:
-  Configure queues as queue 0, 1, 2, 3.
+  RSS Flow supports for creating rule base on input tuple, hash key, queues
+  and hash algorithm. But hash key, queues and hash algorithm are the global
+  configuration for hardware which will affect other rules.
+  The rule just setting input tuple is completely independent.
+
+  Run ``testpmd``:
 
   .. code-block:: console
 
-    testpmd> flow create 0 ingress pattern end actions rss types end \
-      queues 0 1 2 3 end / end
+    dpdk-testpmd -a 0000:7d:00.0 -l 10-18 -- -i --rxq=8 --txq=8
+
+  All IP packets can be distributed to 8 queues.
 
-  Enable hash and set input set for IPv4-TCP.
+  Set IPv4-TCP packet is distributed to 8 queues based on L3/L4 SRC only.
 
   .. code-block:: console
 
-    testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end \
-      actions rss types ipv4-tcp l3-src-only end queues end / end
+    testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions \
+             rss types ipv4-tcp l4-src-only l3-src-only end queues end / end
 
-  Set symmetric hash enable for flow type IPv4-TCP.
+  Disable IPv4 packet RSS hash.
 
   .. code-block:: console
 
-    testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end \
-      actions rss types ipv4-tcp end queues end func symmetric_toeplitz / end
+    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss \
+             types none end queues end / end
 
-  Set hash function as simple xor.
+  Set hash function as symmetric Toeplitz.
 
   .. code-block:: console
 
     testpmd> flow create 0 ingress pattern end actions rss types end \
-      queues end func simple_xor / end
+             queues end func symmetric_toeplitz / end
+
+  In this case, all packets that enabled RSS are hashed using symmetric
+  Toeplitz algorithm.
+
+  Flush all RSS rules
+
+  .. code-block:: console
+
+    testpmd> flow flush 0
+
+  The RSS configurations of hardwre is back to the one ethdev ops set.
 
 Statistics
 ----------
-- 
2.33.0

