[v2,3/3] doc/hns3: fix the usage description for RSS flow

Message ID 20231120111404.37924-4-lihuisong@huawei.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series doc/hns3: update the features for hns3 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/github-robot: build success github build: passed
ci/intel-Testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-compile-arm64-testing success Testing PASS

Commit Message

lihuisong (C) Nov. 20, 2023, 11:14 a.m. UTC
  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>
---
 doc/guides/nics/hns3.rst | 42 ++++++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 14 deletions(-)
  

Comments

Jie Hai Nov. 20, 2023, 11:42 a.m. UTC | #1
Acked-by: Jie Hai <haijie1@huawei.com<mailto:haijie1@huawei.com>>



________________________________

Hai Jie
Email:haijie1@huawei.com<mailto:haijie1@huawei.com>

发件人: lihuisong (C)<lihuisong@huawei.com<mailto:lihuisong@huawei.com>>
收件人: dev<dev@dpdk.org<mailto:dev@dpdk.org>>;ferruh.yigit<ferruh.yigit@amd.com<mailto:ferruh.yigit@amd.com>>;haijie<haijie1@huawei.com<mailto:haijie1@huawei.com>>;Zhuangyuzeng (Yisen)<yisen.zhuang@huawei.com<mailto:yisen.zhuang@huawei.com>>;humin (Q)<humin29@huawei.com<mailto:humin29@huawei.com>>
抄送: liuyonglong<liuyonglong@huawei.com<mailto:liuyonglong@huawei.com>>;lihuisong (C)<lihuisong@huawei.com<mailto:lihuisong@huawei.com>>
主题: [PATCH v2 3/3] doc/hns3: fix the usage description for RSS flow
时间: 2023-11-20 19:13:59

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>
---
 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 11d0c04884..e260b301a8 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
  

Patch

diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index 11d0c04884..e260b301a8 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
 ----------