From patchwork Tue Aug 24 05:16:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Jiang X-Patchwork-Id: 97262 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B0045A0C56; Tue, 24 Aug 2021 07:16:29 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A831A40DF6; Tue, 24 Aug 2021 07:16:29 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 743C74014D for ; Tue, 24 Aug 2021 07:16:27 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10085"; a="196811496" X-IronPort-AV: E=Sophos;i="5.84,346,1620716400"; d="scan'208";a="196811496" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Aug 2021 22:16:27 -0700 X-IronPort-AV: E=Sophos;i="5.84,346,1620716400"; d="scan'208";a="535645088" Received: from unknown (HELO localhost.localdomain) ([10.240.183.163]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 23 Aug 2021 22:16:26 -0700 From: Yu Jiang To: dts@dpdk.org Cc: Yu Jiang Date: Tue, 24 Aug 2021 13:16:04 +0800 Message-Id: <1629782165-17789-2-git-send-email-yux.jiang@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1629782165-17789-1-git-send-email-yux.jiang@intel.com> References: <1629782165-17789-1-git-send-email-yux.jiang@intel.com> Subject: [dts] [PATCH V1 1/2] test_plans/pmdrss_hash: replace legacy filter with rte flow X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" 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 --- test_plans/pmdrss_hash_test_plan.rst | 80 +++++++++++++++++------------------- 1 file changed, 37 insertions(+), 43 deletions(-) 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 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end queues end func toeplitz queues end / end + flow create ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end func toeplitz queues end / end + flow create ingress pattern eth / ipv4 / end actions rss types ipv4-frag end queues end func toeplitz queues end / end + flow create ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end func toeplitz queues end / end + flow create ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end func toeplitz queues end / end + flow create ingress pattern eth / ipv6 / end actions rss types ipv6-other end queues end func toeplitz queues end / end + flow create ingress pattern eth / ipv6 / sctp / end actions rss types ipv6-sctp end queues end func toeplitz queues end / end + flow create ingress pattern eth / ipv6 / udp / end actions rss types ipv6-udp end queues end func toeplitz queues end / end + flow create ingress pattern eth / ipv6 / tcp / end actions rss types ipv6-tcp end queues end func toeplitz queues end / end + flow create 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 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end queues end func symmetric_toeplitz queues end / end + flow create ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end func symmetric_toeplitz queues end / end + flow create ingress pattern eth / ipv4 / end actions rss types ipv4-frag end queues end func symmetric_toeplitz queues end / end + flow create ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end func symmetric_toeplitz queues end / end + flow create ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end func symmetric_toeplitz queues end / end + flow create ingress pattern eth / ipv6 / end actions rss types ipv6-other end queues end func symmetric_toeplitz queues end / end + flow create ingress pattern eth / ipv6 / sctp / end actions rss types ipv6-sctp end queues end func symmetric_toeplitz queues end / end + flow create ingress pattern eth / ipv6 / udp / end actions rss types ipv6-udp end queues end func symmetric_toeplitz queues end / end + flow create ingress pattern eth / ipv6 / tcp / end actions rss types ipv6-tcp end queues end func symmetric_toeplitz queues end / end + flow create 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 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end queues end func simple_xor queues end / end + flow create ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end func simple_xor queues end / end + flow create ingress pattern eth / ipv4 / end actions rss types ipv4-frag end queues end func simple_xor queues end / end + flow create ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end func simple_xor queues end / end + flow create ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end func simple_xor queues end / end + flow create ingress pattern eth / ipv6 / end actions rss types ipv6-other end queues end func simple_xor queues end / end + flow create ingress pattern eth / ipv6 / sctp / end actions rss types ipv6-sctp end queues end func simple_xor queues end / end + flow create ingress pattern eth / ipv6 / udp / end actions rss types ipv6-udp end queues end func simple_xor queues end / end + flow create ingress pattern eth / ipv6 / tcp / end actions rss types ipv6-tcp end queues end func simple_xor queues end / end + flow create 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