[V1,1/2] test_plans/pmdrss_hash: replace legacy filter with rte flow

Message ID 1629782165-17789-2-git-send-email-yux.jiang@intel.com (mailing list archive)
State Superseded
Headers
Series pmdrss_hash: replace legacy filter with rte_flow |

Commit Message

Yu Jiang Aug. 24, 2021, 5:16 a.m. UTC
  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(-)
  

Patch

diff --git a/test_plans/pmdrss_hash_test_plan.rst b/test_plans/pmdrss_hash_test_plan.rst
index c0430a0..879af58 100644
--- a/test_plans/pmdrss_hash_test_plan.rst
+++ b/test_plans/pmdrss_hash_test_plan.rst
@@ -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