[V1,1/2] test_plans/pmdrss_hash: replace legacy filter with rte flow
Commit Message
According to dpdk commit 81db321da("ethdev: remove legacy HASH filter type support"),
Modify pmdrss_hash test plan and script:
1, remove cases dynamic_rss_bond_config&simple_symmetric which are not support.
2, pmdrss_hash: replace legacy HASH filter with rte_flow.
Signed-off-by: Yu Jiang <yux.jiang@intel.com>
---
test_plans/pmdrss_hash_test_plan.rst | 80 +++++++++++++++++-------------------
1 file changed, 37 insertions(+), 43 deletions(-)
@@ -95,9 +95,19 @@ Testpmd configuration - 16 RX/TX queues per port
testpmd command: set verbose 8
-#. set hash functions, can choose symmetric or not, choose port and packet type::
-
- testpmd command: set_hash_global_config 0 toeplitz ipv4-other enable
+#. set hash functions, can choose symmetric or not, choose port, rss type and packet type::
+ Toeplitz hash function: toeplitz
+ testpmd command:
+ flow create <port_id> ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end queues end func toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end func toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / end actions rss types ipv4-frag end queues end func toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end func toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end func toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / end actions rss types ipv6-other end queues end func toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / sctp / end actions rss types ipv6-sctp end queues end func toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / udp / end actions rss types ipv6-udp end queues end func toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / tcp / end actions rss types ipv6-tcp end queues end func toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / end actions rss types ipv6-frag end queues end func toeplitz queues end / end
#. start packet receive::
@@ -128,9 +138,18 @@ Test Case: test_toeplitz_symmetric
===================================
The same with the above steps, pay attention to "set hash function", should use::
-
- set_hash_global_config 0 toeplitz ipv4-other enable
- set_sym_hash_ena_per_port 0 enable
+ Symmetric Toeplitz hash function: symmetric_toeplitz
+ testpmd command:
+ flow create <port_id> ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end queues end func symmetric_toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end func symmetric_toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / end actions rss types ipv4-frag end queues end func symmetric_toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end func symmetric_toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end func symmetric_toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / end actions rss types ipv6-other end queues end func symmetric_toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / sctp / end actions rss types ipv6-sctp end queues end func symmetric_toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / udp / end actions rss types ipv6-udp end queues end func symmetric_toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / tcp / end actions rss types ipv6-tcp end queues end func symmetric_toeplitz queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / end actions rss types ipv6-frag end queues end func symmetric_toeplitz queues end / end
And send packets with the same flow in different direction::
@@ -143,41 +162,16 @@ Test Case: test_simple
=======================
The same as the above test case "test_toeplitz". Just pay attention to set the hash function to "simple xor"
+simple XOR hash function: simple_xor
+ testpmd command:
+ flow create <port_id> ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end queues end func simple_xor queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end func simple_xor queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / end actions rss types ipv4-frag end queues end func simple_xor queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end func simple_xor queues end / end
+ flow create <port_id> ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end func simple_xor queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / end actions rss types ipv6-other end queues end func simple_xor queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / sctp / end actions rss types ipv6-sctp end queues end func simple_xor queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / udp / end actions rss types ipv6-udp end queues end func simple_xor queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / tcp / end actions rss types ipv6-tcp end queues end func simple_xor queues end / end
+ flow create <port_id> ingress pattern eth / ipv6 / end actions rss types ipv6-frag end queues end func simple_xor queues end / end
-Test Case: test_simple_symmetric
-=================================
-
-The same as the above test case "test_toeplitz_symmetric". Just pay attention to set the hash function to "simple xor"
-
-Test Case: test_dynamic_rss_bond_config
-========================================
-This case test bond slaves will auto sync rss hash config, it only support by fortville.
-
-#. set up testpmd with fortville NICs::
-
- ./testpmd -c f -n 4 -- -i
-
-#. create bond device with mode 3::
-
- create bonded device 3 0
-
-#. add slave to bond device::
-
- add bonding slave 0 2
- add bonding slave 1 2
-
-#. get default hash algorithm on slave::
-
- get_hash_global_config 0
- get_hash_global_config 1
-
-#. set hash algorithm on slave 0::
-
- set_hash_global_config 0 simple_xor ipv4-other enable
-
-#. get hash algorithm on slave 0 and 1::
-
- get_hash_global_config 0
- get_hash_global_config 1
-
-#. check slave 0 and 1 use same hash algorithm