Sync some bugfix from upstreaming about testpmd and doc, modifies are as follow: - support set RSS hash algorithm - ethdev: add new API to get RSS hash algorithm by name - doc: fix description of RSS features - doc: fix RSS flow description in hns3 guide - doc: update features in hns3 guide - doc: fix hns3 build option about max queue number - app/testpmd: check port and queue Rx/Tx offloads - app/testpmd: fix Tx offload command - app/testpmd: allow offload config for all ports - app/testpmd: fix tunnel TSO configuration - app/testpmd: add explicit check for tunnel TSO - app/testpmd: fix tunnel TSO capability check - app/testpmd: remove useless check in TSO command Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> (cherry picked from commit 7868d4e3ae469277d4b47241e84c77f53e09423b)
94 lines
3.1 KiB
Diff
94 lines
3.1 KiB
Diff
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
|
|
|