From patchwork Thu Sep 2 11:35:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Jiang X-Patchwork-Id: 97782 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 DCE74A0C47; Thu, 2 Sep 2021 13:35:36 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D491F40687; Thu, 2 Sep 2021 13:35:36 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 557F240041 for ; Thu, 2 Sep 2021 13:35:34 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10094"; a="219138848" X-IronPort-AV: E=Sophos;i="5.84,372,1620716400"; d="scan'208";a="219138848" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2021 04:35:30 -0700 X-IronPort-AV: E=Sophos;i="5.84,372,1620716400"; d="scan'208";a="533041718" Received: from unknown (HELO localhost.localdomain) ([10.240.183.163]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 02 Sep 2021 04:35:29 -0700 From: Yu Jiang To: dts@dpdk.org Cc: Yu Jiang Date: Thu, 2 Sep 2021 19:35:03 +0800 Message-Id: <1630582503-23756-3-git-send-email-yux.jiang@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1630582503-23756-1-git-send-email-yux.jiang@intel.com> References: <1630582503-23756-1-git-send-email-yux.jiang@intel.com> Subject: [dts] [PATCH V2 2/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 | 82 +++++++++++++++++------------------- 1 file changed, 38 insertions(+), 44 deletions(-) diff --git a/test_plans/pmdrss_hash_test_plan.rst b/test_plans/pmdrss_hash_test_plan.rst index c0430a0..8675ce3 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:: @@ -142,42 +161,17 @@ And the hash value and queue should be the same for these two flow . Test Case: test_simple ======================= -The same as the above test case "test_toeplitz". Just pay attention to set the hash function to "simple xor" - -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 +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 -#. check slave 0 and 1 use same hash algorithm