Skip to content

Commit

Permalink
doc: fix RSS flow description in hns3 guide
Browse files Browse the repository at this point in the history
[ 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: 63a0f65 ("doc: add more description in hns3 guide")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Jie Hai <haijie1@huawei.com>
  • Loading branch information
LiHuiSong1 authored and kevintraynor committed Nov 23, 2023
1 parent 326b4f1 commit 3840836
Showing 1 changed file with 28 additions and 14 deletions.
42 changes: 28 additions & 14 deletions doc/guides/nics/hns3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -212,36 +212,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
----------
Expand Down

0 comments on commit 3840836

Please sign in to comment.