From patchwork Tue Jan 3 08:39:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yingya Han X-Patchwork-Id: 121516 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 2D8B0A00C4; Tue, 3 Jan 2023 09:40:00 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 256E540A82; Tue, 3 Jan 2023 09:40:00 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 3AD7D40689 for ; Tue, 3 Jan 2023 09:39:58 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672735198; x=1704271198; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qvgo6qYJu2pQtnfszTTAyKeZoiVKHlxzfIUneOwpMjM=; b=dfS/JNzl+Q9LmUjTnyJDRlh62YWVGiBOspER1Sh9B3UIoyPY8W+g7oEr 0lkOr948HXYPAkttKBAQq7pNVsc91PeDFvIN3XGjSMFhrC+sirirc6y52 q0mvW+hyri8TzliJAFKCsS0mS/QrfG+JPbrtr+w3aKZ+N7+g3bKnne4Yw ce8aywkzca6i5miAC1b/QOJeJPYpYYPbrIIO6Re0C+l2NY6oC2DhOeceq lqLAu51iSRb121sAdYl6sIvm7mTPsoIqhyCo/vKMzZ0/UVYy9GduOp2rD bTrGulkIcIYMtY2QdMOdkJHjH2BfnTWiqexB4Jl5Pz/jRlHjPb96PaGq3 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="322847054" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="322847054" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 00:39:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="654706411" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="654706411" Received: from dpdk-lijuan-icelake4.sh.intel.com ([10.67.119.188]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 00:39:56 -0800 From: Yingya Han To: dts@dpdk.org Cc: Yingya Han Subject: [dts][PATCH V1 1/9]test_plans: add l3fwd_lpm_ipv4_rfc2544 test plan Date: Tue, 3 Jan 2023 08:39:43 +0000 Message-Id: <20230103083951.1553786-2-yingyax.han@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230103083951.1553786-1-yingyax.han@intel.com> References: <20230103083951.1553786-1-yingyax.han@intel.com> MIME-Version: 1.0 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 Signed-off-by: Yingya Han --- .../l3fwd_lpm_ipv4_rfc2544_test_plan.rst | 151 ++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 test_plans/l3fwd_lpm_ipv4_rfc2544_test_plan.rst diff --git a/test_plans/l3fwd_lpm_ipv4_rfc2544_test_plan.rst b/test_plans/l3fwd_lpm_ipv4_rfc2544_test_plan.rst new file mode 100644 index 00000000..29b16b3e --- /dev/null +++ b/test_plans/l3fwd_lpm_ipv4_rfc2544_test_plan.rst @@ -0,0 +1,151 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2022 Intel Corporation + +======================================================== +L3 forwarding rfc2544 test in LPM mode with IPV4 packets +======================================================== + +RFC2544 Zero packet loss test case: Used to determine the DUT throughput as defined in +RFC1242(https://www.ietf.org/rfc/rfc1242.txt). Note RFC6201 +https://www.ietf.org/rfc/rfc6201.txt has updated RFC2544 and RFC1242. Please check the link +for more details. In this case, RFC2544 test uses DPDK l3fwd as test application. + +Prerequisites +============= + +Topology +-------- +It requires at least 1 port connected traffic generator:: + Port0 --- TG0 + +2 ports:: + Port0 --- TG0 + Port1 --- TG1 + +4 ports:: + Port0 --- TG0 + Port1 --- TG1 + Port2 --- TG2 + Port3 --- TG3 + +Hardware +-------- +This suite focus on l3fwd application, so any standard Ethernet Network Adapter is qualified. + +Software +-------- +dpdk: git clone http://dpdk.org/git/dpdk +trex: git clone http://trex-tgn.cisco.com/trex/release/v2.93.tar.gz + + +Test Case +========= +Send a specific number of frames at a specific rate through the DUT and then +count the frames that are transmitted by the DUT. If the count of offered frames is not equal +to the count of received frames, the rate of the offered stream is reduced and the test is rerun. +The throughput is the fastest rate at which the count of test frames transmitted by the DUT is +equal to the number of test frames sent to it by the test equipment. + +The l3fwd application has a number of command line options, here list the key options will be tested:: + + ./dpdk-l3fwd [EAL options] -- -p PORTMASK + [--force-max-simd-bitwidth=max-simd-bitwidth] + --config(port,queue,lcore)[,(port,queue,lcore)] + [--rx-queue-size NPKTS] + [--tx-queue-size NPKTS] + [--parse-ptype] + [-L]|[-E] + ... + Note: + --force-max-simd-bitwidth: This setting is used to determine the vector path for component selection. + And the default is avx2. + --rx-queue-size: Rx queue size in decimal and default is 1024. + --tx-queue-size: Tx queue size in decimal and default is 1024. + --parse-ptype: Optional, set to use software to analyze packet type. + Without this option, hardware will check the packet type. + [-L]|[-E]: L3fwd uses the parameters "-L" and "-E" to correspond to LPM and EM modes respectively. + And the default is LPM mode. + +Common Steps +------------ +1. Bind tested ports to vfio-pci:: + + #./usertools/dpdk-devbind.py -s + 0000:17:00.0 'Device 1592' if=ens5f0 drv=ice unused=vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci 0000:17:00.0 + +2. Configure traffic generator to send traffic + + Routing table for IPv4 packets + - In LPM mode, the LPM table used for packet routing is: + + +-------+-----------------------+ + | # | LPM prefix (IP/length)| + +=======+=======================+ + | 0 | 198.18.0.0/24 | + +-------+-----------------------+ + | 1 | 198.18.1.0/24 | + +-------+-----------------------+ + | 2 | 198.18.2.0/24 | + +-------+-----------------------+ + | 3 | 198.18.3.0/24 | + +-------+-----------------------+ + + The flows need to be configured and started by the traffic generator: + - IPv4 packets + + +------+---------+------------+---------+ + | Flow | Traffic | IPv4 | IPv4 | + | | Gen. | Dst. | Src. | + | | Port | Address | Address | + +======+=========+============+=========+ + | 1 | TG0 | 198.18.1.1 | Any Ip | + +------+---------+------------+---------+ + | 2 | TG1 | 198.18.0.1 | Any Ip | + +------+---------+------------+---------+ + | 3 | TG2 | 198.18.3.1 | Any Ip | + +------+---------+------------+---------+ + | 4 | TG3 | 198.18.2.1 | Any Ip | + +------+---------+------------+---------+ + + Set the packet length : 64 bytes-1518 bytes + The IPV4 Src Address increase with the num 1024. + +3. Test result table + + +-----------+------------+-------------+---------+ + | Fwd_core | Frame Size | Throughput | Rate | + +===========+============+=============+=========+ + | 1C/1T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 1C/1T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + + +Test Case: test_perf_rfc2544_ipv4_lpm +------------------------------------- + +1. Bind PF ports to dpdk driver as common step 1. + +2. Launch l3fwd:: + + /examples/dpdk-l3fwd -l 5-8 -n 8 --force-max-simd-bitwidth=512 \ + -- -p 0x1 --config "(0,0,5),(0,1,6),(0,2,7),(0,3,8)" --rx-queue-size 1024 \ + --tx-queue-size 1024 + +3. Configure traffic generator to send traffic as common step 2. + +4. Record Test results as common step 3. From patchwork Tue Jan 3 08:39:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yingya Han X-Patchwork-Id: 121517 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 61A47A00C2; Tue, 3 Jan 2023 09:40:01 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 596EB41133; Tue, 3 Jan 2023 09:40:01 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 2C0CE40A82 for ; Tue, 3 Jan 2023 09:39:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672735199; x=1704271199; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=F+TJNxxiKNPT7onE1yCrTuNWvJ6536WtcqryikeLnd4=; b=eUf6ulfmDEygO40oXYRBUqoLiK8RwV2L4pWjYOlI+2kLKm6u0X4kyAYk pO+qH6F2rfRfRvbGDpXa5gOHEROIIPQjmYIo0ks7LcHX5pg4z6gfcvQBC MJMjNNzlEEaeoCkx7Da2KTNckA1MOUE22Dtc9H1Np5EpdAr5xPoQI2Tee JEFegJSe2eevGXP7byddew9kmY+syHKLSfrQyfxuKbkdUUazi44tE33pq AL28QYoiNbtk7rq6rAfn3VdX5T2fS3EjV0OWYEwO1dkhheriKwXlUC2L4 zTdfmYRJAF0N9Tc2hjpzWu2kU/LpGsnUZzlIF+MICmNT6bT1neEMHHeAI w==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="322847056" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="322847056" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 00:39:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="654706419" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="654706419" Received: from dpdk-lijuan-icelake4.sh.intel.com ([10.67.119.188]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 00:39:57 -0800 From: Yingya Han To: dts@dpdk.org Cc: Yingya Han Subject: [dts][PATCH V1 2/9]test_plans: add l3fwd_lpm_ipv6 test plan Date: Tue, 3 Jan 2023 08:39:44 +0000 Message-Id: <20230103083951.1553786-3-yingyax.han@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230103083951.1553786-1-yingyax.han@intel.com> References: <20230103083951.1553786-1-yingyax.han@intel.com> MIME-Version: 1.0 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 Signed-off-by: Yingya Han --- test_plans/l3fwd_lpm_ipv6_test_plan.rst | 148 ++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 test_plans/l3fwd_lpm_ipv6_test_plan.rst diff --git a/test_plans/l3fwd_lpm_ipv6_test_plan.rst b/test_plans/l3fwd_lpm_ipv6_test_plan.rst new file mode 100644 index 00000000..287b8718 --- /dev/null +++ b/test_plans/l3fwd_lpm_ipv6_test_plan.rst @@ -0,0 +1,148 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2022 Intel Corporation + +================================================ +L3 forwarding test in LPM mode with IPV6 packets +================================================ + +This document provides the plan for testing the performance of Intel Ethernet Controller. +The Layer-3 Forwarding performance results are produced using ``l3fwd`` application. +For detail test plan, please refer to ``l3fwd_test_plan.rst``. + +Prerequisites +============= + +Topology +-------- +It requires at least 1 port connected traffic generator:: + Port0 --- TG0 + +2 ports:: + Port0 --- TG0 + Port1 --- TG1 + +4 ports:: + Port0 --- TG0 + Port1 --- TG1 + Port2 --- TG2 + Port3 --- TG3 + +Hardware +-------- +This suite focus on l3fwd application, so any standard Ethernet Network Adapter is qualified. + +Software +-------- +dpdk: git clone http://dpdk.org/git/dpdk +trex: git clone http://trex-tgn.cisco.com/trex/release/v2.93.tar.gz + + +Test Case +========= +The test case check the throughput result with lpm mode and ipv6, in the case, +we will send the bi-direction flows with line rate, then we can check the +passthrough rate. + +The l3fwd application has a number of command line options, here list the key options will be tested:: + + ./dpdk-l3fwd [EAL options] -- -p PORTMASK + [--force-max-simd-bitwidth=max-simd-bitwidth] + --config(port,queue,lcore)[,(port,queue,lcore)] + [--rx-queue-size NPKTS] + [--tx-queue-size NPKTS] + [--parse-ptype] + [-L]|[-E] + ... + Note: + --force-max-simd-bitwidth: This setting is used to determine the vector path for component selection. + And the default is avx2. + --rx-queue-size: Rx queue size in decimal and default is 1024. + --tx-queue-size: Tx queue size in decimal and default is 1024. + --parse-ptype: Optional, set to use software to analyze packet type. + Without this option, hardware will check the packet type. + [-L]|[-E]: L3fwd uses the parameters "-L" and "-E" to correspond to LPM and EM modes respectively. + And the default is LPM mode. + +Common Steps +------------ +1. Bind tested ports to vfio-pci:: + + #./usertools/dpdk-devbind.py -s + 0000:17:00.0 'Device 1592' if=ens5f0 drv=ice unused=vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci 0000:17:00.0 + +2. Configure traffic generator to send traffic + + Routing table for IPv6 packets + - In LPM mode, the LPM table used for packet routing is: + + +-------+--------------------------------------------+ + | # | LPM prefix (IP/length) | + +=======+============================================+ + | 0 | 2001:0200:0000:0000:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 1 | 2001:0200:0000:0001:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 2 | 2001:0200:0000:0002:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 3 | 2001:0200:0000:0003:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + + The flows need to be configured and started by the traffic generator: + - IPv6 packets + + +------+---------+-----------------------------------------+---------+ + | Flow | Traffic | | IPv6 | + | | Gen. | IPV6 Dst. Address | Src. | + | | Port | | Address | + +======+=========+=========================================+=========+ + | 1 | TG0 | 2001:0200:0000:0000:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 2 | TG1 | 2001:0200:0000:0001:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 3 | TG2 | 2001:0200:0000:0002:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 4 | TG3 | 2001:0200:0000:0003:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + + Set the packet length : 66 bytes-1518 bytes + The IPV6 Src Address increase with the num 1024. + +3. Test result table + + +-----------+------------+-------------+---------+ + | Fwd_core | Frame Size | Throughput | Rate | + +===========+============+=============+=========+ + | 1C/1T | 66 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 1C/1T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | 66 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | 66 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | 66 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + + +Test Case: test_perf_throughput_ipv6_lpm +---------------------------------------- + +1. Bind PF ports to dpdk driver as common step 1. + +2. Launch l3fwd:: + + /examples/dpdk-l3fwd -l 5-8 -n 8 --force-max-simd-bitwidth=512 \ + -- -p 0x1 --config "(0,0,5),(0,1,6),(0,2,7),(0,3,8)" --rx-queue-size 1024 \ + --tx-queue-size 1024 + +3. Configure traffic generator to send traffic as common step 2. + +4. Record Test results as common step 3. From patchwork Tue Jan 3 08:39:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yingya Han X-Patchwork-Id: 121518 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 7F5CFA00C4; Tue, 3 Jan 2023 09:40:02 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7AE3942B7E; Tue, 3 Jan 2023 09:40:02 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 70BB241133 for ; Tue, 3 Jan 2023 09:40:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672735200; x=1704271200; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ouO5GHJ4kLzamTyWGpPrdCGU0UWb/LH219ZAeYDf/Qo=; b=XCLWUXADQ+ikh3dEnq0fXNqYJ9YRmZHM6EgR8ocXgLcFzrYUjFjIsJP8 zPNT/fbCheRD6RxZKy6d0ZAUwtTpi/ljQE6tAxb5T/XSGCkOLKG2aqzyX 6mUyKANqQ+Bm/vSd2SA/R1RZWyZO39+VILPUMBMs+YAHvppwSJC5plfm3 oKgk8rGHEPdhygwJVb8ENWj+CkX46pAvKUE8zWxVKQ0rSlNkudgHXUGDW BpOfQtunBobsUZWCdcZe8s9C4XUbta+CvHD69jAeZGvgPD6YrIPMzjn49 8FldeKm62aCuh2tbWgb9niE+EMSfIitKOzzTphELWyUapyxDvM4I6zpvK w==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="322847059" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="322847059" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 00:40:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="654706431" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="654706431" Received: from dpdk-lijuan-icelake4.sh.intel.com ([10.67.119.188]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 00:39:58 -0800 From: Yingya Han To: dts@dpdk.org Cc: Yingya Han Subject: [dts][PATCH V1 3/9]test_plans: add testpmd_perf test plan Date: Tue, 3 Jan 2023 08:39:45 +0000 Message-Id: <20230103083951.1553786-4-yingyax.han@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230103083951.1553786-1-yingyax.han@intel.com> References: <20230103083951.1553786-1-yingyax.han@intel.com> MIME-Version: 1.0 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 Signed-off-by: Yingya Han --- test_plans/testpmd_perf_test_plan.rst | 171 ++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 test_plans/testpmd_perf_test_plan.rst diff --git a/test_plans/testpmd_perf_test_plan.rst b/test_plans/testpmd_perf_test_plan.rst new file mode 100644 index 00000000..b0e1a730 --- /dev/null +++ b/test_plans/testpmd_perf_test_plan.rst @@ -0,0 +1,171 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2022 Intel Corporation + +=========================================== +TestPmd rfc2544 test with IPV4/IPV6 packets +=========================================== + +This document provides rfc2544 tests for the userland Ethernet Controller Poll Mode Driver (PMD). +The userland PMD application runs the ``IO forwarding mode`` test which described in the PMD test +plan document with different parameters for the configuration of NIC ports. + +RFC2544 Zero packet loss test case: Used to determine the DUT throughput as defined in +RFC1242(https://www.ietf.org/rfc/rfc1242.txt). Note RFC6201 +https://www.ietf.org/rfc/rfc6201.txt has updated RFC2544 and RFC1242. Please check the link +for more details. In this case, RFC2544 test uses dpdk-testpmd as test application. + +Prerequisites +============= + +Topology +-------- +It requires at least 1 port connected traffic generator:: + Port0 --- TG0 + +2 ports:: + Port0 --- TG0 + Port1 --- TG1 + +4 ports:: + Port0 --- TG0 + Port1 --- TG1 + Port2 --- TG2 + Port3 --- TG3 + +Hardware +-------- +This suite focus on dpdk-testpmd application, so any standard Ethernet Network Adapter is qualified. + +Software +-------- +dpdk: git clone http://dpdk.org/git/dpdk +trex: git clone http://trex-tgn.cisco.com/trex/release/v2.93.tar.gz + + +Test Case +========= +Send a specific number of frames at a specific rate through the DUT and then +count the frames that are transmitted by the DUT. If the count of offered frames is not equal +to the count of received frames, the rate of the offered stream is reduced and the test is rerun. +The throughput is the fastest rate at which the count of test frames transmitted by the DUT is +equal to the number of test frames sent to it by the test equipment. + +Common Steps +------------ +1. Bind tested ports to vfio-pci:: + + #./usertools/dpdk-devbind.py -s + 0000:17:00.0 'Device 1592' if=ens5f0 drv=ice unused=vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci 0000:17:01.0 + +2. Configure traffic generator to send traffic + + Routing table for IPv4 packets: + + +-------+-----------------------+ + | # | IPv4 (IP/length) | + +=======+=======================+ + | 0 | 198.18.0.0/24 | + +-------+-----------------------+ + | 1 | 198.18.1.0/24 | + +-------+-----------------------+ + | 2 | 198.18.2.0/24 | + +-------+-----------------------+ + | 3 | 198.18.3.0/24 | + +-------+-----------------------+ + + Routing table for IPv6 packets: + + +-------+--------------------------------------------+ + | # | IPv6 (IP/length) | + +=======+============================================+ + | 0 | 2001:0200:0000:0000:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 1 | 2001:0200:0000:0001:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 2 | 2001:0200:0000:0002:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 3 | 2001:0200:0000:0003:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + + The flows need to be configured and started by the traffic generator: + - IPv4 packets + + +------+---------+------------+---------+ + | Flow | Traffic | IPv4 | IPv4 | + | | Gen. | Dst. | Src. | + | | Port | Address | Address | + +======+=========+============+=========+ + | 1 | TG0 | 198.18.1.1 | Any Ip | + +------+---------+------------+---------+ + | 2 | TG1 | 198.18.0.1 | Any Ip | + +------+---------+------------+---------+ + | 3 | TG2 | 198.18.3.1 | Any Ip | + +------+---------+------------+---------+ + | 4 | TG3 | 198.18.2.1 | Any Ip | + +------+---------+------------+---------+ + + Set the packet length : 64 bytes-1518 bytes + The IPV4 Src Address increase with the num 1024. + + - IPv6 packets + + +------+---------+-----------------------------------------+---------+ + | Flow | Traffic | | IPv6 | + | | Gen. | IPV6 Dst. Address | Src. | + | | Port | | Address | + +======+=========+=========================================+=========+ + | 1 | TG0 | 2001:0200:0000:0000:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 2 | TG1 | 2001:0200:0000:0001:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 3 | TG2 | 2001:0200:0000:0002:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 4 | TG3 | 2001:0200:0000:0003:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + + Set the packet length : 66 bytes-1518 bytes + The IPV6 Src Address increase with the num 1024. + +3. Test result table + + +-----------+------------+-------------+---------+ + | Fwd_core | Frame Size | Throughput | Rate | + +===========+============+=============+=========+ + | 1C/1T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 1C/1T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + + +Test Case: testpmd rfc2544 performance with IPv4/IPv6 Packets +------------------------------------------------------------- + +1. Bind tested ports to dpdk driver as common step 1. + +2. Start dpdk-testpmd:: + + /app/dpdk-testpmd -l 5,6 -n 8 --force-max-simd-bitwidth=512 \ + -- -i --portmask=0x1 --rxq=1 --txq=1 --txd=1024 --rxd=1024 --forward=io \ + --nb-cores=1 + + Note: + -force-max-simd-bitwidth: This setting is used to determine the vector path for component selection. + And the default is avx2. + +3. Configure traffic generator to send traffic as common step 2. + +4. Record Test results as common step 3. From patchwork Tue Jan 3 08:39:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yingya Han X-Patchwork-Id: 121519 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 9D01DA00C2; Tue, 3 Jan 2023 09:40:04 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 94EC042D22; Tue, 3 Jan 2023 09:40:04 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id DB33242D22 for ; Tue, 3 Jan 2023 09:40:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672735203; x=1704271203; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=xd7tgeImp1Nkw7OlvRArOiC4/qvncIFUccB67HSgfe8=; b=ClvJu/Pl+sDbK3pDHHyxm5x8HpKwD350mOwQu3B5rHJcKpL30DaVzCs6 cIx20XcjCuPQVyBKyV1TB+THEoc1hKRmdCal+QuaVYPC4FpFI0vnnlhLO jy9SnnsS6m2rx3PKOLyOHhnzrgytD8yEy/trhny4hNKbEYRVXx37nNmE+ 6CKEmsGW2At/Uo+C+xLLLJzzRV9UEi91QFkXcfhaEocCYmNgHib8eLDwr GXHHu1dZqVFpG0DvhKIwEbQWysmCSiW09oEuQ0tDfA2FYhSLutuh6HHBJ QjwW4OdaEIIx8AJ/5HBjpCY2ShhZhnRA6Ft3VWZLCt2wY0Ib/yw1qgsUI A==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="322847062" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="322847062" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 00:40:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="654706448" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="654706448" Received: from dpdk-lijuan-icelake4.sh.intel.com ([10.67.119.188]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 00:40:00 -0800 From: Yingya Han To: dts@dpdk.org Cc: Yingya Han Subject: [dts][PATCH V1 4/9]test_plans: add vf_l3fwd_em_kernelpf test plan Date: Tue, 3 Jan 2023 08:39:46 +0000 Message-Id: <20230103083951.1553786-5-yingyax.han@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230103083951.1553786-1-yingyax.han@intel.com> References: <20230103083951.1553786-1-yingyax.han@intel.com> MIME-Version: 1.0 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 Signed-off-by: Yingya Han --- test_plans/vf_l3fwd_em_kernelpf_test_plan.rst | 201 ++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 test_plans/vf_l3fwd_em_kernelpf_test_plan.rst diff --git a/test_plans/vf_l3fwd_em_kernelpf_test_plan.rst b/test_plans/vf_l3fwd_em_kernelpf_test_plan.rst new file mode 100644 index 00000000..2613e8a8 --- /dev/null +++ b/test_plans/vf_l3fwd_em_kernelpf_test_plan.rst @@ -0,0 +1,201 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2022 Intel Corporation + +========================================== +VF L3 forwarding kernel PF test in EM mode +========================================== + +This document provides benchmark test for NIC VFs which are created from +kernel PFs or. These tests use l3fwd as a simple forwarder between NIC vfs. +The goal of this test plan is to have a tested benchmark between NIC vfs. +The Layer-3 Forwarding performance results are produced using ``l3fwd`` application. +For detail test plan, please refer to ``l3fwd_test_plan.rst``. + +Prerequisites +============= + +Topology +-------- +It requires at least 1 port connected traffic generator:: + Port0 --- TG0 + +2 ports:: + Port0 --- TG0 + Port1 --- TG1 + +4 ports:: + Port0 --- TG0 + Port1 --- TG1 + Port2 --- TG2 + Port3 --- TG3 + +Hardware +-------- +This suite focus on l3fwd application, so any standard Ethernet Network Adapter is qualified. + +Software +-------- +dpdk: git clone http://dpdk.org/git/dpdk +trex: git clone http://trex-tgn.cisco.com/trex/release/v2.93.tar.gz + + +Test Case +========= +The test case check the throughput result with em mode and ipv4/ipv6, in the case, +we will send the bi-direction flows with line rate, then we can check the passthrough rate. + +The l3fwd application has a number of command line options, here list the key options will be tested:: + + ./dpdk-l3fwd [EAL options] -- -p PORTMASK + [--force-max-simd-bitwidth=max-simd-bitwidth] + --config(port,queue,lcore)[,(port,queue,lcore)] + [--rx-queue-size NPKTS] + [--tx-queue-size NPKTS] + [--parse-ptype] + [-L]|[-E] + ... + Note: + --force-max-simd-bitwidth: This setting is used to determine the vector path for component selection. + And the default is avx2. + --rx-queue-size: Rx queue size in decimal and default is 1024. + --tx-queue-size: Tx queue size in decimal and default is 1024. + --parse-ptype: Optional, set to use software to analyze packet type. + Without this option, hardware will check the packet type. + [-L]|[-E]: L3fwd uses the parameters "-L" and "-E" to correspond to LPM and EM modes respectively. + And the default is LPM mode. + +Common Steps +------------ +1. Bind PF ports to kernel driver, i40e or ice, then create 1 VF from each PF, + take E810 for example:: + + #echo 1 > /sys/bus/pci/devices/0000\:17\:00.0/sriov_numvfs + + Set vf mac address:: + + #ip link set ens5f0 vf 0 mac 00:12:34:56:78:01 + + Bind all the created VFs to vfio-pci:: + + #./usertools/dpdk-devbind.py -s + 0000:17:00.0 'Device 1592' if=ens5f0 drv=ice unused=vfio-pci + 0000:17:01.0 'Device 1592' if=ens5f0v0 drv=iavf unused=vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci 0000:17:01.0 + +2. Configure traffic generator to send traffic + + Routing table for IPv4 packets + - In EM mode, the EM table used for packet routing is: + + +-------+-------------+---------+-------------+-----------+-----------+ + | Entry | IPv4 | IPv4 | Port | Port | L4 | + | # | destination | source | destination | source | protocol | + | | address | address | | | | + +=======+=============+=========+=============+===========+===========+ + | 0 | 198.18.0.0 | Random | 10 | 1 | UDP | + +-------+-------------+---------+-------------+-----------+-----------+ + | 1 | 198.18.1.0 | Random | 10 | 1 | UDP | + +-------+-------------+---------+-------------+-----------+-----------+ + | 2 | 198.18.2.0 | Random | 11 | 1 | UDP | + +-------+-------------+---------+-------------+-----------+-----------+ + | 3 | 198.18.3.0 | Random | 11 | 1 | UDP | + +-------+-------------+---------+-------------+-----------+-----------+ + + Routing table for IPv6 packets + - In EM mode, the EM table used for packet routing is: + + +-------+---------------------------+---------------------------+-------------+--------+----------+ + | Entry | IPv6 destination address | IPv6 source address | Port | Port | L4 | + | | | | destination | source | protocol | + +=======+===========================+===========================+=============+========+==========+ + | 0 | 2001:0200:0000:0000:0000:\| | | | | + | | 0000:0000:0000 | Random | 10 | 1 | UDP | + +-------+---------------------------+---------------------------+-------------+--------+----------+ + | 1 | 2001:0200:0000:0001:0000:\| | | | | + | | 0000:0000:0000 | Random | 10 | 1 | UDP | + +-------+---------------------------+---------------------------+-------------+--------+----------+ + | 2 | 2001:0200:0000:0002:0000:\| | | | | + | | 0000:0000:0000 | Random | 11 | 1 | UDP | + +-------+---------------------------+---------------------------+-------------+--------+----------+ + | 3 | 2001:0200:0000:0003:0000:\| | | | | + | | 0000:0000:0000 | Random | 11 | 1 | UDP | + +-------+---------------------------+---------------------------+-------------+--------+----------+ + + + The flows need to be configured and started by the traffic generator: + - IPv4 packets + + +------+---------+------------+---------+ + | Flow | Traffic | IPv4 | IPv4 | + | | Gen. | Dst. | Src. | + | | Port | Address | Address | + +======+=========+============+=========+ + | 1 | TG0 | 198.18.1.1 | Any Ip | + +------+---------+------------+---------+ + | 2 | TG1 | 198.18.0.1 | Any Ip | + +------+---------+------------+---------+ + | 3 | TG2 | 198.18.3.1 | Any Ip | + +------+---------+------------+---------+ + | 4 | TG3 | 198.18.2.1 | Any Ip | + +------+---------+------------+---------+ + + Set the packet length : 64 bytes-1518 bytes + The IPV4 Src Address increase with the num 1024. + + - IPv6 packets + + +------+---------+-----------------------------------------+---------+ + | Flow | Traffic | | IPv6 | + | | Gen. | IPV6 Dst. Address | Src. | + | | Port | | Address | + +======+=========+=========================================+=========+ + | 1 | TG0 | 2001:0200:0000:0000:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 2 | TG1 | 2001:0200:0000:0001:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 3 | TG2 | 2001:0200:0000:0002:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 4 | TG3 | 2001:0200:0000:0003:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + + Set the packet length : 66 bytes-1518 bytes + The IPV6 Src Address increase with the num 1024. + +3. Test result table + + +-----------+------------+-------------+---------+ + | Fwd_core | Frame Size | Throughput | Rate | + +===========+============+=============+=========+ + | 1C/1T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 1C/1T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + + +Test Case: VF L3 Forwarding in EM Mode with IPv4/IPv6 Packets +-------------------------------------------------------------- + +1. Bind VF ports to dpdk driver as common step 1. + +2. Launch l3fwd:: + + /examples/dpdk-l3fwd -l 5-8 -n 8 --force-max-simd-bitwidth=512 \ + -- -p 0x1 --config "(0,0,5),(0,1,6),(0,2,7),(0,3,8)" --rx-queue-size 1024 \ + --tx-queue-size 1024 -E --parse-ptype + +3. Configure traffic generator to send traffic as common step 2. + +4. Record Test results as common step 3. From patchwork Tue Jan 3 08:39:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yingya Han X-Patchwork-Id: 121520 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 B77FEA00C4; Tue, 3 Jan 2023 09:40:04 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B364842D29; Tue, 3 Jan 2023 09:40:04 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id D1F4740689 for ; Tue, 3 Jan 2023 09:40:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672735204; x=1704271204; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=TN38Svj4IPGci1ofja5r6YNY7b82EL04cpIiuvH2DhQ=; b=dup1zOuVV4OULIr3YGporNbRmCGI/SzHD01GvOv5Eq7swAO8WOljo3+7 OQChxy92fwVoGB2sQP2r4psIPStVYCLF/qeJe3lXiZ3KOwKJU9xQLocwc TrUbvss4WMrRX80kF76eZw1wcN3yIgbtMG19MqgDrKMk664HxmqXFn/TN lK1o6tz8LLKzLQe1f1Hy+G/wlm+IkCkOwmj2n7EY+Xbgzq2HUeiDqYEeN H2DuiNUB7ViHcLaTARCiZXgNHbNS7YKjWMkpY+EpX9hAmfuI+JMbxB83b NdWA44MWePYTa8/bNqqpZdsz6Py3Gbl3S4ryw7vYCevG84BRvVI/bqSRQ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="322847072" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="322847072" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 00:40:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="654706469" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="654706469" Received: from dpdk-lijuan-icelake4.sh.intel.com ([10.67.119.188]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 00:40:01 -0800 From: Yingya Han To: dts@dpdk.org Cc: Yingya Han Subject: [dts][PATCH V1 5/9]test_plans: add vf_l3fwd_kernelpf test plan Date: Tue, 3 Jan 2023 08:39:47 +0000 Message-Id: <20230103083951.1553786-6-yingyax.han@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230103083951.1553786-1-yingyax.han@intel.com> References: <20230103083951.1553786-1-yingyax.han@intel.com> MIME-Version: 1.0 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 Signed-off-by: Yingya Han --- test_plans/vf_l3fwd_kernelpf_test_plan.rst | 241 +++++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 test_plans/vf_l3fwd_kernelpf_test_plan.rst diff --git a/test_plans/vf_l3fwd_kernelpf_test_plan.rst b/test_plans/vf_l3fwd_kernelpf_test_plan.rst new file mode 100644 index 00000000..645cadfb --- /dev/null +++ b/test_plans/vf_l3fwd_kernelpf_test_plan.rst @@ -0,0 +1,241 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2022 Intel Corporation + +================================ +VF L3 forwarding kernel PF tests +================================ + +This document provides benchmark test for NIC VFs which are created from +kernel PFs or. These tests use l3fwd as a simple forwarder between NIC vfs. +The goal of this test plan is to have a tested benchmark between NIC vfs. +The Layer-3 Forwarding performance results are produced using ``l3fwd`` application. +For detail test plan, please refer to ``l3fwd_test_plan.rst``. + +Prerequisites +============= + +Topology +-------- +It requires at least 1 port connected traffic generator:: + Port0 --- TG0 + +2 ports:: + Port0 --- TG0 + Port1 --- TG1 + +4 ports:: + Port0 --- TG0 + Port1 --- TG1 + Port2 --- TG2 + Port3 --- TG3 + +Hardware +-------- +This suite focus on l3fwd application, so any standard Ethernet Network Adapter is qualified. + +Software +-------- +dpdk: git clone http://dpdk.org/git/dpdk +trex: git clone http://trex-tgn.cisco.com/trex/release/v2.93.tar.gz + + +Test Case +========= + +The suite includes the throughput tests and rfc544 tests. +1. Throughput: + + - The test case check the throughput result with lpm/em mode and ipv4/ipv6, in the case, + we will send the bi-direction flows with line rate, then we can check the passthrough rate. + +2. RFC2544 Zero packet loss test: + + - Send a specific number of frames at a specific rate through the DUT and then + count the frames that are transmitted by the DUT. If the count of offered frames is not equal + to the count of received frames, the rate of the offered stream is reduced and the test is rerun. + The throughput is the fastest rate at which the count of test frames transmitted by the DUT is + equal to the number of test frames sent to it by the test equipment. + +The l3fwd application has a number of command line options, here list the key options will be tested:: + + ./dpdk-l3fwd [EAL options] -- -p PORTMASK + [--force-max-simd-bitwidth=max-simd-bitwidth] + --config(port,queue,lcore)[,(port,queue,lcore)] + [--rx-queue-size NPKTS] + [--tx-queue-size NPKTS] + [--parse-ptype] + [-L]|[-E] + ... + Note: + --force-max-simd-bitwidth: This setting is used to determine the vector path for component selection. + And the default is avx2. + --rx-queue-size: Rx queue size in decimal and default is 1024. + --tx-queue-size: Tx queue size in decimal and default is 1024. + --parse-ptype: Optional, set to use software to analyze packet type. + Without this option, hardware will check the packet type. + [-L]|[-E]: L3fwd uses the parameters "-L" and "-E" to correspond to LPM and EM modes respectively. + And the default is LPM mode. + +Common Steps +------------ +1. Bind PF ports to kernel driver, i40e or ice, then create 1 VF from each PF, + take E810 for example:: + + #echo 1 > /sys/bus/pci/devices/0000\:17\:00.0/sriov_numvfs + + Set vf mac address:: + + #ip link set ens5f0 vf 0 mac 00:12:34:56:78:01 + + Bind all the created VFs to vfio-pci:: + + #./usertools/dpdk-devbind.py -s + 0000:17:00.0 'Device 1592' if=ens5f0 drv=ice unused=vfio-pci + 0000:17:01.0 'Device 1592' if=ens5f0v0 drv=iavf unused=vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci 0000:17:01.0 + +2. Configure traffic generator to send traffic + + Routing table for IPv4 packets + - In LPM mode, the LPM table used for packet routing is: + + +-------+-----------------------+ + | # | LPM prefix (IP/length)| + +=======+=======================+ + | 0 | 198.18.0.0/24 | + +-------+-----------------------+ + | 1 | 198.18.1.0/24 | + +-------+-----------------------+ + | 2 | 198.18.2.0/24 | + +-------+-----------------------+ + | 3 | 198.18.3.0/24 | + +-------+-----------------------+ + + - In EM mode, the EM table used for packet routing is: + + +-------+-------------+---------+-------------+-----------+-----------+ + | Entry | IPv4 | IPv4 | Port | Port | L4 | + | # | destination | source | destination | source | protocol | + | | address | address | | | | + +=======+=============+=========+=============+===========+===========+ + | 0 | 198.18.0.0 | Random | 10 | 1 | UDP | + +-------+-------------+---------+-------------+-----------+-----------+ + | 1 | 198.18.1.0 | Random | 10 | 1 | UDP | + +-------+-------------+---------+-------------+-----------+-----------+ + | 2 | 198.18.2.0 | Random | 11 | 1 | UDP | + +-------+-------------+---------+-------------+-----------+-----------+ + | 3 | 198.18.3.0 | Random | 11 | 1 | UDP | + +-------+-------------+---------+-------------+-----------+-----------+ + + Routing table for IPv6 packets + - In LPM mode, the LPM table used for packet routing is: + + +-------+--------------------------------------------+ + | # | LPM prefix (IP/length) | + +=======+============================================+ + | 0 | 2001:0200:0000:0000:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 1 | 2001:0200:0000:0001:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 2 | 2001:0200:0000:0002:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 3 | 2001:0200:0000:0003:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + + - In EM mode, the EM table used for packet routing is: + + +-------+---------------------------+---------------------------+-------------+--------+----------+ + | Entry | IPv6 destination address | IPv6 source address | Port | Port | L4 | + | | | | destination | source | protocol | + +=======+===========================+===========================+=============+========+==========+ + | 0 | 2001:0200:0000:0000:0000:\| | | | | + | | 0000:0000:0000 | Random | 10 | 1 | UDP | + +-------+---------------------------+---------------------------+-------------+--------+----------+ + | 1 | 2001:0200:0000:0001:0000:\| | | | | + | | 0000:0000:0000 | Random | 10 | 1 | UDP | + +-------+---------------------------+---------------------------+-------------+--------+----------+ + | 2 | 2001:0200:0000:0002:0000:\| | | | | + | | 0000:0000:0000 | Random | 11 | 1 | UDP | + +-------+---------------------------+---------------------------+-------------+--------+----------+ + | 3 | 2001:0200:0000:0003:0000:\| | | | | + | | 0000:0000:0000 | Random | 11 | 1 | UDP | + +-------+---------------------------+---------------------------+-------------+--------+----------+ + + + The flows need to be configured and started by the traffic generator: + - IPv4 packets + + +------+---------+------------+---------+ + | Flow | Traffic | IPv4 | IPv4 | + | | Gen. | Dst. | Src. | + | | Port | Address | Address | + +======+=========+============+=========+ + | 1 | TG0 | 198.18.1.1 | Any Ip | + +------+---------+------------+---------+ + | 2 | TG1 | 198.18.0.1 | Any Ip | + +------+---------+------------+---------+ + | 3 | TG2 | 198.18.3.1 | Any Ip | + +------+---------+------------+---------+ + | 4 | TG3 | 198.18.2.1 | Any Ip | + +------+---------+------------+---------+ + + Set the packet length : 64 bytes-1518 bytes + The IPV4 Src Address increase with the num 1024. + + - IPv6 packets + + +------+---------+-----------------------------------------+---------+ + | Flow | Traffic | | IPv6 | + | | Gen. | IPV6 Dst. Address | Src. | + | | Port | | Address | + +======+=========+=========================================+=========+ + | 1 | TG0 | 2001:0200:0000:0000:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 2 | TG1 | 2001:0200:0000:0001:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 3 | TG2 | 2001:0200:0000:0002:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 4 | TG3 | 2001:0200:0000:0003:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + + Set the packet length : 66 bytes-1518 bytes + The IPV6 Src Address increase with the num 1024. + +3. Test result table + + +-----------+------------+-------------+---------+ + | Fwd_core | Frame Size | Throughput | Rate | + +===========+============+=============+=========+ + | 1C/1T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 1C/1T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + + +Test Case: VF L3 Forwarding (in EM/LPM Mode) with IPv4/IPv6 Packets +------------------------------------------------------------------- + +1. Bind VF ports to dpdk driver as common step 1. + +2. Launch l3fwd:: + + /examples/dpdk-l3fwd -l 5-8 -n 8 --force-max-simd-bitwidth=512 \ + -- -p 0x1 --config "(0,0,5),(0,1,6),(0,2,7),(0,3,8)" --rx-queue-size 1024 \ + --tx-queue-size 1024 --parse-ptype + +3. Configure traffic generator to send traffic as common step 2. + +4. Record Test results as common step 3. From patchwork Tue Jan 3 08:39:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yingya Han X-Patchwork-Id: 121521 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 5AFC2A00C2; Tue, 3 Jan 2023 09:40:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 39F2142D2B; Tue, 3 Jan 2023 09:40:07 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 6800842D28 for ; Tue, 3 Jan 2023 09:40:05 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672735205; x=1704271205; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2jQXoaPExHyNNsOSZmrbdi1kt67EhRBSZJ6tZLhzlVo=; b=Uw1fhyWAcXQjGZMwgJTl0nyWUWMfEMKvhqpmaUN6vD74Jzxo4F2un6qG 8azIU7kYmK6Z7cJgzKYWTs3Dm+xH+OzA7hVfynanssESnVIldRKqBfWGu dJoVrD8u1qlZgvpl0hNsM9e7TcP1z3CJPlzKCtG9D4rCTaufugWS05fmZ YS4oVacvrzSFkMxDZu66wJ93CeES2ZKN2aOmf8THBLRUIJKrMXiXlwFnC k3lU/1XV5lsMmnlSnxe4N2GadipWFOuNbmrLxIDeRGWln/JvEm55CCuul RQKLhcBkK3XSxwaJk6WWWx0lkzt7z/7myyZpL6kayS01+EvhN7X7+AC/T A==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="322847076" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="322847076" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 00:40:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="654706484" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="654706484" Received: from dpdk-lijuan-icelake4.sh.intel.com ([10.67.119.188]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 00:40:03 -0800 From: Yingya Han To: dts@dpdk.org Cc: Yingya Han Subject: [dts][PATCH V1 6/9]test_plans: add vf_l3fwd_lpm_ipv4_kernelpf test plan Date: Tue, 3 Jan 2023 08:39:48 +0000 Message-Id: <20230103083951.1553786-7-yingyax.han@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230103083951.1553786-1-yingyax.han@intel.com> References: <20230103083951.1553786-1-yingyax.han@intel.com> MIME-Version: 1.0 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 Signed-off-by: Yingya Han --- .../vf_l3fwd_lpm_ipv4_kernelpf_test_plan.rst | 160 ++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 test_plans/vf_l3fwd_lpm_ipv4_kernelpf_test_plan.rst diff --git a/test_plans/vf_l3fwd_lpm_ipv4_kernelpf_test_plan.rst b/test_plans/vf_l3fwd_lpm_ipv4_kernelpf_test_plan.rst new file mode 100644 index 00000000..3a4200c9 --- /dev/null +++ b/test_plans/vf_l3fwd_lpm_ipv4_kernelpf_test_plan.rst @@ -0,0 +1,160 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2022 Intel Corporation + +============================================================= +VF L3 forwarding kernel PF test in LPM mode with IPV4 packets +============================================================= + +This document provides benchmark test for NIC VFs which are created from +kernel PFs or. These tests use l3fwd as a simple forwarder between NIC vfs. +The goal of this test plan is to have a tested benchmark between NIC vfs. +The Layer-3 Forwarding performance results are produced using ``l3fwd`` application. +For detail test plan, please refer to ``l3fwd_test_plan.rst``. + +Prerequisites +============= + +Topology +-------- +It requires at least 1 port connected traffic generator:: + Port0 --- TG0 + +2 ports:: + Port0 --- TG0 + Port1 --- TG1 + +4 ports:: + Port0 --- TG0 + Port1 --- TG1 + Port2 --- TG2 + Port3 --- TG3 + +Hardware +-------- +This suite focus on l3fwd application, so any standard Ethernet Network Adapter is qualified. + +Software +-------- +dpdk: git clone http://dpdk.org/git/dpdk +trex: git clone http://trex-tgn.cisco.com/trex/release/v2.93.tar.gz + + +Test Case +========= +The test case check the throughput result with lpm mode and ipv4, in the case, +we will send the bi-direction flows with line rate, then we can check the +passthrough rate. + +The l3fwd application has a number of command line options, here list the key options will be tested:: + + ./dpdk-l3fwd [EAL options] -- -p PORTMASK + [--force-max-simd-bitwidth=max-simd-bitwidth] + --config(port,queue,lcore)[,(port,queue,lcore)] + [--rx-queue-size NPKTS] + [--tx-queue-size NPKTS] + [--parse-ptype] + [-L]|[-E] + ... + Note: + --force-max-simd-bitwidth: This setting is used to determine the vector path for component selection. + And the default is avx2. + --rx-queue-size: Rx queue size in decimal and default is 1024. + --tx-queue-size: Tx queue size in decimal and default is 1024. + --parse-ptype: Optional, set to use software to analyze packet type. + Without this option, hardware will check the packet type. + [-L]|[-E]: L3fwd uses the parameters "-L" and "-E" to correspond to LPM and EM modes respectively. + And the default is LPM mode. + +Common Steps +------------ +1. Bind PF ports to kernel driver, i40e or ice, then create 1 VF from each PF, + take E810 for example:: + + #echo 1 > /sys/bus/pci/devices/0000\:17\:00.0/sriov_numvfs + + Set vf mac address:: + + #ip link set ens5f0 vf 0 mac 00:12:34:56:78:01 + + Bind all the created VFs to vfio-pci:: + + #./usertools/dpdk-devbind.py -s + 0000:17:00.0 'Device 1592' if=ens5f0 drv=ice unused=vfio-pci + 0000:17:01.0 'Device 1592' if=ens5f0v0 drv=iavf unused=vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci 0000:17:01.0 + +2. Configure traffic generator to send traffic + + Routing table for IPv4 packets + - In LPM mode, the LPM table used for packet routing is: + + +-------+-----------------------+ + | # | LPM prefix (IP/length)| + +=======+=======================+ + | 0 | 198.18.0.0/24 | + +-------+-----------------------+ + | 1 | 198.18.1.0/24 | + +-------+-----------------------+ + | 2 | 198.18.2.0/24 | + +-------+-----------------------+ + | 3 | 198.18.3.0/24 | + +-------+-----------------------+ + + The flows need to be configured and started by the traffic generator: + - IPv4 packets + + +------+---------+------------+---------+ + | Flow | Traffic | IPv4 | IPv4 | + | | Gen. | Dst. | Src. | + | | Port | Address | Address | + +======+=========+============+=========+ + | 1 | TG0 | 198.18.1.1 | Any Ip | + +------+---------+------------+---------+ + | 2 | TG1 | 198.18.0.1 | Any Ip | + +------+---------+------------+---------+ + | 3 | TG2 | 198.18.3.1 | Any Ip | + +------+---------+------------+---------+ + | 4 | TG3 | 198.18.2.1 | Any Ip | + +------+---------+------------+---------+ + + Set the packet length : 64 bytes-1518 bytes + The IPV4 Src Address increase with the num 1024. + +3. Test result table + + +-----------+------------+-------------+---------+ + | Fwd_core | Frame Size | Throughput | Rate | + +===========+============+=============+=========+ + | 1C/1T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 1C/1T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + + +Test Case: test_perf_vf_throughput_ipv4_lpm +------------------------------------------- + +1. Bind VF ports to dpdk driver as common step 1. + +2. Launch l3fwd:: + + /examples/dpdk-l3fwd -l 5-8 -n 8 --force-max-simd-bitwidth=512 \ + -- -p 0x1 --config "(0,0,5),(0,1,6),(0,2,7),(0,3,8)" --rx-queue-size 1024 \ + --tx-queue-size 1024 --parse-ptype + +3. Configure traffic generator to send traffic as common step 2. + +4. Record Test results as common step 3. From patchwork Tue Jan 3 08:39:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yingya Han X-Patchwork-Id: 121522 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 8A8EBA00C4; Tue, 3 Jan 2023 09:40:08 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 85B2B42D30; Tue, 3 Jan 2023 09:40:08 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 4211E42D28 for ; Tue, 3 Jan 2023 09:40:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672735206; x=1704271206; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9nCfCjPa+Y+haWqsBNgtlSOznXqd4QRSoJvE8maIVxo=; b=R/sngQfJIvtcENt2REuJkuJs8C4XXT56VKOc6eN/QYwdGS+azPAMkYkS LScH+tuv0AOlfkpglJZQvcn9AyiZFIO5jPjBC2MPFAQfalqfChqaalLI9 Xdp0VIv2YWLXsfSltd2n2/MGIZp88MJX2funP+T9xWCyC8/qE1PilxeMQ IV2kONVOlwUdPUEHLdN9lZFiDzFX8lp6N53s3fJLkWl5RntZ2BomzwT1Y ilx1vSpImLtwbzUDfyeZdNegSL0fXFllHnUdBKV36tA0jsQ3HpxGMYgpb JyxV8JygK+e22n/8LNrL0ipjk7NRgEVVcj8EpVdlJvlEhUe/OUNCPT9Q1 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="322847083" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="322847083" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 00:40:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="654706495" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="654706495" Received: from dpdk-lijuan-icelake4.sh.intel.com ([10.67.119.188]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 00:40:04 -0800 From: Yingya Han To: dts@dpdk.org Cc: Yingya Han Subject: [dts][PATCH V1 7/9]test_plans: add vf_l3fwd_lpm_ipv4_rfc2544_kernelpf test plan Date: Tue, 3 Jan 2023 08:39:49 +0000 Message-Id: <20230103083951.1553786-8-yingyax.han@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230103083951.1553786-1-yingyax.han@intel.com> References: <20230103083951.1553786-1-yingyax.han@intel.com> MIME-Version: 1.0 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 Signed-off-by: Yingya Han --- ...wd_lpm_ipv4_rfc2544_kernelpf_test_plan.rst | 162 ++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 test_plans/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf_test_plan.rst diff --git a/test_plans/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf_test_plan.rst b/test_plans/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf_test_plan.rst new file mode 100644 index 00000000..d6e7a936 --- /dev/null +++ b/test_plans/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf_test_plan.rst @@ -0,0 +1,162 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2022 Intel Corporation + +===================================================================== +VF L3 forwarding kernel PF rfc2544 test in LPM mode with IPV4 packets +===================================================================== + +This document provides benchmark test for NIC VFs which are created from +kernel PFs or. These tests use l3fwd as a simple forwarder between NIC vfs. +The goal of this test plan is to have a tested benchmark between NIC vfs. +The Layer-3 Forwarding performance results are produced using ``l3fwd`` application. +For detail test plan, please refer to ``l3fwd_test_plan.rst``. + +Prerequisites +============= + +Topology +-------- +It requires at least 1 port connected traffic generator:: + Port0 --- TG0 + +2 ports:: + Port0 --- TG0 + Port1 --- TG1 + +4 ports:: + Port0 --- TG0 + Port1 --- TG1 + Port2 --- TG2 + Port3 --- TG3 + +Hardware +-------- +This suite focus on l3fwd application, so any standard Ethernet Network Adapter is qualified. + +Software +-------- +dpdk: git clone http://dpdk.org/git/dpdk +trex: git clone http://trex-tgn.cisco.com/trex/release/v2.93.tar.gz + + +Test Case +========= +Send a specific number of frames at a specific rate through the DUT and then +count the frames that are transmitted by the DUT. If the count of offered frames is not equal +to the count of received frames, the rate of the offered stream is reduced and the test is rerun. +The throughput is the fastest rate at which the count of test frames transmitted by the DUT is +equal to the number of test frames sent to it by the test equipment. + +The l3fwd application has a number of command line options, here list the key options will be tested:: + + ./dpdk-l3fwd [EAL options] -- -p PORTMASK + [--force-max-simd-bitwidth=max-simd-bitwidth] + --config(port,queue,lcore)[,(port,queue,lcore)] + [--rx-queue-size NPKTS] + [--tx-queue-size NPKTS] + [--parse-ptype] + [-L]|[-E] + ... + Note: + --force-max-simd-bitwidth: This setting is used to determine the vector path for component selection. + And the default is avx2. + --rx-queue-size: Rx queue size in decimal and default is 1024. + --tx-queue-size: Tx queue size in decimal and default is 1024. + --parse-ptype: Optional, set to use software to analyze packet type. + Without this option, hardware will check the packet type. + [-L]|[-E]: L3fwd uses the parameters "-L" and "-E" to correspond to LPM and EM modes respectively. + And the default is LPM mode. + +Common Steps +------------ +1. Bind PF ports to kernel driver, i40e or ice, then create 1 VF from each PF, + take E810 for example:: + + #echo 1 > /sys/bus/pci/devices/0000\:17\:00.0/sriov_numvfs + + Set vf mac address:: + + #ip link set ens5f0 vf 0 mac 00:12:34:56:78:01 + + Bind all the created VFs to vfio-pci:: + + #./usertools/dpdk-devbind.py -s + 0000:17:00.0 'Device 1592' if=ens5f0 drv=ice unused=vfio-pci + 0000:17:01.0 'Device 1592' if=ens5f0v0 drv=iavf unused=vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci 0000:17:01.0 + +2. Configure traffic generator to send traffic + + Routing table for IPv4 packets + - In LPM mode, the LPM table used for packet routing is: + + +-------+-----------------------+ + | # | LPM prefix (IP/length)| + +=======+=======================+ + | 0 | 198.18.0.0/24 | + +-------+-----------------------+ + | 1 | 198.18.1.0/24 | + +-------+-----------------------+ + | 2 | 198.18.2.0/24 | + +-------+-----------------------+ + | 3 | 198.18.3.0/24 | + +-------+-----------------------+ + + The flows need to be configured and started by the traffic generator: + - IPv4 packets + + +------+---------+------------+---------+ + | Flow | Traffic | IPv4 | IPv4 | + | | Gen. | Dst. | Src. | + | | Port | Address | Address | + +======+=========+============+=========+ + | 1 | TG0 | 198.18.1.1 | Any Ip | + +------+---------+------------+---------+ + | 2 | TG1 | 198.18.0.1 | Any Ip | + +------+---------+------------+---------+ + | 3 | TG2 | 198.18.3.1 | Any Ip | + +------+---------+------------+---------+ + | 4 | TG3 | 198.18.2.1 | Any Ip | + +------+---------+------------+---------+ + + Set the packet length : 64 bytes-1518 bytes + The IPV4 Src Address increase with the num 1024. + +3. Test result table + + +-----------+------------+-------------+---------+ + | Fwd_core | Frame Size | Throughput | Rate | + +===========+============+=============+=========+ + | 1C/1T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 1C/1T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | 64 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + + +Test Case: test_perf_vf_rfc2544_ipv4_lpm +---------------------------------------- + +1. Bind VF ports to dpdk driver as common step 1. + +2. Launch l3fwd:: + + /examples/dpdk-l3fwd -l 5-8 -n 8 --force-max-simd-bitwidth=512 \ + -- -p 0x1 --config "(0,0,5),(0,1,6),(0,2,7),(0,3,8)" --rx-queue-size 1024 \ + --tx-queue-size 1024 --parse-ptype + +3. Configure traffic generator to send traffic as common step 2. + +4. Record Test results as common step 3. From patchwork Tue Jan 3 08:39:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yingya Han X-Patchwork-Id: 121524 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 A874BA00C2; Tue, 3 Jan 2023 09:40:09 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A4A3B42D28; Tue, 3 Jan 2023 09:40:09 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 3A56D42D28 for ; Tue, 3 Jan 2023 09:40:08 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672735208; x=1704271208; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dOsWWBBG9ROtRf1BhZnYD/lCaqPmHmhkrUMVuJ+kd9w=; b=mFt4LLsMrZ9AEni2QqwCOZ6vMFdKbzXqVsPf3HO9jEXOchf92DEsC8oJ 8E2Nxbrww/5PTYFYuAfb7HroQaZ9qn8Q+OI3+3z96lp9AhVmqwEeAYMdU 3Pzw4rxxi9Dq74uJwGNZ15nd9ZaP0TdAeqtCWH2EhVntXL+n4FsZ+ci4Z LcULviUEDiP++I8SZR6NqSeczgv2l0HyRcDNiCjKGeJkbX2EjVZS2uSpo ewq1GYMkqeDT/XIT6hybt75NGCovRJSE9TBgRP747EDgPBwmWW7DTkZ07 LiPo6bFPUhurWDAxAu4YmHaHCT/Q5kvdLYvVwZ3aA3KwLfhw7zKiE67Jg Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="322847089" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="322847089" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 00:40:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="654706500" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="654706500" Received: from dpdk-lijuan-icelake4.sh.intel.com ([10.67.119.188]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 00:40:05 -0800 From: Yingya Han To: dts@dpdk.org Cc: Yingya Han Subject: [dts][PATCH V1 8/9]test_plans: add vf_l3fwd_lpm_ipv6_kernelpf test plan Date: Tue, 3 Jan 2023 08:39:50 +0000 Message-Id: <20230103083951.1553786-9-yingyax.han@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230103083951.1553786-1-yingyax.han@intel.com> References: <20230103083951.1553786-1-yingyax.han@intel.com> MIME-Version: 1.0 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 Signed-off-by: Yingya Han Acked-by: Lijuan Tu --- .../vf_l3fwd_lpm_ipv6_kernelpf_test_plan.rst | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 test_plans/vf_l3fwd_lpm_ipv6_kernelpf_test_plan.rst diff --git a/test_plans/vf_l3fwd_lpm_ipv6_kernelpf_test_plan.rst b/test_plans/vf_l3fwd_lpm_ipv6_kernelpf_test_plan.rst new file mode 100644 index 00000000..17f02b98 --- /dev/null +++ b/test_plans/vf_l3fwd_lpm_ipv6_kernelpf_test_plan.rst @@ -0,0 +1,159 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2022 Intel Corporation + +============================================================= +VF L3 forwarding kernel PF test in LPM mode with IPV6 packets +============================================================= + +This document provides benchmark test for NIC VFs which are created from +kernel PFs or. These tests use l3fwd as a simple forwarder between NIC vfs. +The goal of this test plan is to have a tested benchmark between NIC vfs. +The Layer-3 Forwarding performance results are produced using ``l3fwd`` application. +For detail test plan, please refer to ``l3fwd_test_plan.rst``. + +Prerequisites +============= + +Topology +-------- +It requires at least 1 port connected traffic generator:: + Port0 --- TG0 + +2 ports:: + Port0 --- TG0 + Port1 --- TG1 + +4 ports:: + Port0 --- TG0 + Port1 --- TG1 + Port2 --- TG2 + Port3 --- TG3 + +Hardware +-------- +This suite focus on l3fwd application, so any standard Ethernet Network Adapter is qualified. + +Software +-------- +dpdk: git clone http://dpdk.org/git/dpdk +trex: git clone http://trex-tgn.cisco.com/trex/release/v2.93.tar.gz + + +Test Case +========= +The test case check the throughput result with lpm mode and ipv6, in the case, +we will send the bi-direction flows with line rate, then we can check the passthrough rate. + +The l3fwd application has a number of command line options, here list the key options will be tested:: + + ./dpdk-l3fwd [EAL options] -- -p PORTMASK + [--force-max-simd-bitwidth=max-simd-bitwidth] + --config(port,queue,lcore)[,(port,queue,lcore)] + [--rx-queue-size NPKTS] + [--tx-queue-size NPKTS] + [--parse-ptype] + [-L]|[-E] + ... + Note: + --force-max-simd-bitwidth: This setting is used to determine the vector path for component selection. + And the default is avx2. + --rx-queue-size: Rx queue size in decimal and default is 1024. + --tx-queue-size: Tx queue size in decimal and default is 1024. + --parse-ptype: Optional, set to use software to analyze packet type. + Without this option, hardware will check the packet type. + [-L]|[-E]: L3fwd uses the parameters "-L" and "-E" to correspond to LPM and EM modes respectively. + And the default is LPM mode. + +Common Steps +------------ +1. Bind PF ports to kernel driver, i40e or ice, then create 1 VF from each PF, + take E810 for example:: + + #echo 1 > /sys/bus/pci/devices/0000\:17\:00.0/sriov_numvfs + + Set vf mac address:: + + #ip link set ens5f0 vf 0 mac 00:12:34:56:78:01 + + Bind all the created VFs to vfio-pci:: + + #./usertools/dpdk-devbind.py -s + 0000:17:00.0 'Device 1592' if=ens5f0 drv=ice unused=vfio-pci + 0000:17:01.0 'Device 1592' if=ens5f0v0 drv=iavf unused=vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci + #./usertools/dpdk-devbind.py -b vfio-pci 0000:17:01.0 + +2. Configure traffic generator to send traffic + + Routing table for IPv6 packets + - In LPM mode, the LPM table used for packet routing is: + + +-------+--------------------------------------------+ + | # | LPM prefix (IP/length) | + +=======+============================================+ + | 0 | 2001:0200:0000:0000:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 1 | 2001:0200:0000:0001:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 2 | 2001:0200:0000:0002:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + | 3 | 2001:0200:0000:0003:0000:0000:0000:0000/64 | + +-------+--------------------------------------------+ + + The flows need to be configured and started by the traffic generator: + - IPv6 packets + + +------+---------+-----------------------------------------+---------+ + | Flow | Traffic | | IPv6 | + | | Gen. | IPV6 Dst. Address | Src. | + | | Port | | Address | + +======+=========+=========================================+=========+ + | 1 | TG0 | 2001:0200:0000:0000:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 2 | TG1 | 2001:0200:0000:0001:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 3 | TG2 | 2001:0200:0000:0002:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + | 4 | TG3 | 2001:0200:0000:0003:0000:0000:0000:0000 | Any Ip | + +------+---------+-----------------------------------------+---------+ + + Set the packet length : 66 bytes-1518 bytes + The IPV6 Src Address increase with the num 1024. + +3. Test result table + + +-----------+------------+-------------+---------+ + | Fwd_core | Frame Size | Throughput | Rate | + +===========+============+=============+=========+ + | 1C/1T | 66 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 1C/1T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | 66 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 2C/2T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | 66 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 4C/4T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | 66 | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + | 8C/8T | ... | xxxxx Mpps | xxx % | + +-----------+------------+-------------+---------+ + + +Test Case: test_perf_vf_throughput_ipv6_lpm +------------------------------------------- + +1. Bind VF ports to dpdk driver as common step 1. + +2. Launch l3fwd:: + + /examples/dpdk-l3fwd -l 5-8 -n 8 --force-max-simd-bitwidth=512 \ + -- -p 0x1 --config "(0,0,5),(0,1,6),(0,2,7),(0,3,8)" --rx-queue-size 1024 \ + --tx-queue-size 1024 --parse-ptype + +3. Configure traffic generator to send traffic as common step 2. + +4. Record Test results as common step 3. From patchwork Tue Jan 3 08:39:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yingya Han X-Patchwork-Id: 121523 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 CA2C2A00C4; Tue, 3 Jan 2023 09:40:09 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C2F7C42D36; Tue, 3 Jan 2023 09:40:09 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 0682D42D28 for ; Tue, 3 Jan 2023 09:40:08 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672735209; x=1704271209; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OchDNxNtJgxVOnsVXAtMS+N/XcBAw/J3mbflq+Yy3fA=; b=VL0L/y7w8rFUhZ5F6yoj/XzlUc//zftCZiyv/C7TkYaQ9Zv6oT8MiCj4 a0GlKLKrsa/tcr+lRqaR3zlyRB14seXvEFXfCjnMQ76I4qPSKPFiaj9wA 2ITWQJft7sKqd1mCMF0OpBlzRBxKRv3D9IjMpdMcZcOQ4v1RX82z/Ud75 p/vtqNr58n62VEKqCQT+h8t4/MVBRq9sVF8tJ5fV5h1ZG1dg+L0SNWAvR tAsC5lCeFHYetlrOs5LpyntIPM05vc09N99Wgt6kV9IMkNt6mdUBY3orn W4ZmD7cjE7REoghYg7QQ6W6huup0b46tm/CdRMbmB/YBzVSiZRHGah0ZU g==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="322847090" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="322847090" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 00:40:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="654706512" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="654706512" Received: from dpdk-lijuan-icelake4.sh.intel.com ([10.67.119.188]) by orsmga002.jf.intel.com with ESMTP; 03 Jan 2023 00:40:07 -0800 From: Yingya Han To: dts@dpdk.org Cc: Yingya Han Subject: [dts][PATCH V1 9/9]test_plans: add the index of test plan Date: Tue, 3 Jan 2023 08:39:51 +0000 Message-Id: <20230103083951.1553786-10-yingyax.han@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230103083951.1553786-1-yingyax.han@intel.com> References: <20230103083951.1553786-1-yingyax.han@intel.com> MIME-Version: 1.0 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 Signed-off-by: Yingya Han Acked-by: Haijun Chu Signed-off-by: Yingya Han --- test_plans/index.rst | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test_plans/index.rst b/test_plans/index.rst index 9ca954e2..06404d2f 100644 --- a/test_plans/index.rst +++ b/test_plans/index.rst @@ -98,7 +98,9 @@ The following are the test plans for the DPDK DTS automated test system. l2fwd_test_plan l2tp_esp_coverage_test_plan l3fwd_test_plan - l3fwd_lpm_ipv4_test_plan.rst + l3fwd_lpm_ipv4_test_plan + l3fwd_lpm_ipv4_rfc2544_test_plan + l3fwd_lpm_ipv6_test_plan l3fwd_func_test_plan l3fwdacl_test_plan large_vf_test_plan @@ -157,6 +159,7 @@ The following are the test plans for the DPDK DTS automated test system. eventdev_pipeline_test_plan tso_test_plan tx_preparation_test_plan + testpmd_perf_test_plan uni_pkt_test_plan userspace_ethtool_test_plan vlan_ethertype_config_test_plan @@ -187,6 +190,11 @@ The following are the test plans for the DPDK DTS automated test system. vf_smoke_test_plan vf_to_vf_nic_bridge_test_plan vf_vlan_test_plan + vf_l3fwd_kernelpf_test_plan + vf_l3fwd_em_kernelpf_test_plan + vf_l3fwd_lpm_ipv4_kernelpf_test_plan + vf_l3fwd_lpm_ipv4_rfc2544_kernelpf_test_plan + vf_l3fwd_lpm_ipv6_kernelpf_test_plan kernelpf_iavf_test_plan vhost_multi_queue_qemu_test_plan vhost_qemu_mtu_test_plan