From patchwork Tue Aug 2 09:02:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivy Lee X-Patchwork-Id: 114532 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 E10E9A0545; Tue, 2 Aug 2022 11:03:01 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DBD4940141; Tue, 2 Aug 2022 11:03:01 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 4E684400D7 for ; Tue, 2 Aug 2022 11:03:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1659430980; x=1690966980; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=v7dr2a6Lc2HzWWkFBcR94OOP2A6XjN51hV0JrsV7mTA=; b=dXr5MGA37IYgiDtRP6vNUyhvw4zjjFNGhBbWjGGF/7bL1d4Bf6yrn3+9 AE6h8cpdQR3c9YM9W8cKH6A20BQd7rt1B4AYO0SG+/n9rkf8nfUvu3Ltv ac8Ez6srpjeJCozB0ruaNmprRdBSrdtGHFTkI5bk+iXMMG4sY6Sv4kbLs sK6HrOiLorhzeZh3+lJwzyGvrTCyYY5L04i8j1Jd1HFNpwcznjyRj17aM o0ESpsSSidropbP2ZU9auroAyzOTmOuP+xQEHYC7dYEcUdYqQePM4+8q6 fusyarnJBk77kzsriTARGVe5mwa/MLGtJrI+5FMFRsMNyhMJnNHDxitQJ Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10426"; a="375663132" X-IronPort-AV: E=Sophos;i="5.93,210,1654585200"; d="scan'208";a="375663132" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Aug 2022 02:02:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,210,1654585200"; d="scan'208";a="670375906" Received: from silpixa00399469.ir.intel.com (HELO silpixa00399469.ger.corp.intel.com) ([10.237.222.175]) by fmsmga004.fm.intel.com with ESMTP; 02 Aug 2022 02:02:58 -0700 From: Ivy Lee To: dts@dpdk.org Cc: lee.daly@intel.com, john.mcnamara@intel.com, Ivy Lee Subject: [PATCH v1] doc / dts_gsg: updated documentation Date: Tue, 2 Aug 2022 09:02:54 +0000 Message-Id: <20220802090254.347369-1-ivy.lee@intel.com> X-Mailer: git-send-email 2.25.1 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 1. Corrected some spelling mistakes 2. Corrected some grammar mistakes for clarity 3. Added small notes for completely new users to DPDK/DTS Signed-off-by: Ivy Lee Acked-by: Lijuan Tu --- doc/dts_gsg/quick_start.rst | 18 +++++++++++------- doc/dts_gsg/usr_guide/intro.rst | 2 +- doc/dts_gsg/usr_guide/trex.rst | 20 ++++++++++---------- doc/dts_gsg/usr_guide/usage.rst | 20 ++++++++++---------- 4 files changed, 32 insertions(+), 28 deletions(-) diff --git a/doc/dts_gsg/quick_start.rst b/doc/dts_gsg/quick_start.rst index 4a30f360..34837e1a 100644 --- a/doc/dts_gsg/quick_start.rst +++ b/doc/dts_gsg/quick_start.rst @@ -21,7 +21,7 @@ For the DPDK requirements, please consult `Data Plane Development Kit Getting St Hardware Recommendation ----------------------- -Our regression setups uses Intel x86 platforms with mainstream Intel ethernet cards. +A minimum of two devices are needed in order to run DTS - a tester and DUT. Our regression setups uses Intel x86 platforms with mainstream Intel ethernet cards. The following platforms have been tested and are recommended. .. |reg| unicode:: U+000AE .. REGISTERED SIGN @@ -78,7 +78,7 @@ The following platforms have been tested and are recommended. Topology Example ---------------- -2 Teseter interfaces connect to 2 DUT interfaces back to back. +2 Tester interfaces connected to 2 DUT interfaces back to back. Dependencies ------------ @@ -142,6 +142,9 @@ Get DTS code from remote repo. [root@tester ~]# ls dts [root@tester dts]# conf CONTRIBUTING.TXT dep doc dts execution.cfg executions framework nics output requirements.txt test_plans tests tools version.py +.. note:: + You will need to work off of the `main` branch rather than `master` branch + Preparing DPDK tarball ---------------------- @@ -155,7 +158,7 @@ DPDK source code should be packed as "dpdk.tar.gz" and moved into dts/dep: Configuring DTS --------------- -A few of files should be configured, including execution.cfg, $DTS_CFG_FOLDER/crbs, $DTS_CFG_FOLDER/ports.cfg. +A few of files need to be configured, including execution.cfg, $DTS_CFG_FOLDER/crbs.cfg, $DTS_CFG_FOLDER/ports.cfg. execution.cfg ~~~~~~~~~~~~~ @@ -190,11 +193,12 @@ $DTS_CFG_FOLDER/crbs.cfg channels=4 bypass_core0=True +* [192.168.1.1]: IP address of the DUT system, same as crbs in execution.cfg * dut_ip: IP address of the DUT system, same as crbs in execution.cfg * dut_user: User name of DUT linux account * dut_passwd: Password of DUT linux account * tester_ip: IP address of tester -* tester_passwd: Password of Tester linux account, user name should same as dut_user +* tester_passwd: Password of Tester linux account, user name should be the same as dut_user $DTS_CFG_FOLDER/ports.cfg ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -208,14 +212,14 @@ $DTS_CFG_FOLDER/ports.cfg * [192.168.1.1]: same as crbs in execution.cfg and dut_ip in $DTS_CFG_FOLDER/crbs.cfg * pci: pci address of DUT port -* peer: pci address of Tester port which connected to the DUT port whose pci is `pci`. +* peer: pci address of Tester port that is connected to the DUT port, whose pci is `pci`. The topology for the configuration is: .. code-block:: console DUT port0 (0000:06:00.0) --- Tester port0 (0000:81:00.0) - DUT port0 (0000:06:00.1) --- Tester port0 (0000:81:00.1) + DUT port1 (0000:06:00.1) --- Tester port1 (0000:81:00.1) Launch DTS ---------- @@ -272,7 +276,7 @@ The result files are generated in dts/output. [root@tester output]# ls rst_report dts.log statistics.txt TestHelloWorld.log test_results.json test_results.xls -* statstics.txt: summary statistics +* statistics.txt: summary statistics .. code-block:: console diff --git a/doc/dts_gsg/usr_guide/intro.rst b/doc/dts_gsg/usr_guide/intro.rst index ce0a7dfd..fe428ac2 100644 --- a/doc/dts_gsg/usr_guide/intro.rst +++ b/doc/dts_gsg/usr_guide/intro.rst @@ -25,7 +25,7 @@ DTS environment includes DUT (Device under Test), Tester and Traffic generator. .. note:: * If run with functional testing, DTS uses `Scapy` as traffic generator, recommend installing DTS on Tester. - * If run with performance testing, DTS can use `TRex` or IXIA as traffic gengerator based on your deployment and configuration, recommend installing DTS on DUT. + * If run with performance testing, DTS can use `TRex` or IXIA as traffic generator based on your deployment and configuration, recommend installing DTS on DUT. * If use `TRex`, recommend deploying `TRex` and DUT on the same machine with different sockets. Please see a functional deployment example in the following figure: diff --git a/doc/dts_gsg/usr_guide/trex.rst b/doc/dts_gsg/usr_guide/trex.rst index 738ea5e4..bbb757fd 100644 --- a/doc/dts_gsg/usr_guide/trex.rst +++ b/doc/dts_gsg/usr_guide/trex.rst @@ -29,8 +29,8 @@ Extract the downloaded TREX file to /opt/trex/:: ... v2.88/trex_client_v2.88.tar.gz -Generate Configure File -~~~~~~~~~~~~~~~~~~~~~~~~ +Generate Configuration File +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Identify the performance test ports in tester ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -51,8 +51,8 @@ execute the command like below to list the ports:: ===================== -Generate Configure File -^^^^^^^^^^^^^^^^^^^^^^^ +Generate Configuration File +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Assume that we use 0000:0b:00.0, 0000:0b:00.1 to connect to DUT port. And the ports topology as below:: @@ -109,8 +109,8 @@ We need to generate the trex config file as below:: We could not modify the DUT mac during the configuration and modify it in the generated file /etc/trex_cfg.yaml. -Modify Configure File -^^^^^^^^^^^^^^^^^^^^^ +Modify Configuration File +^^^^^^^^^^^^^^^^^^^^^^^^^^ Make sure the DUT mac of the generated TREX file is correct, and add prefix and limit_memory is better:: root@tester:/opt/trex/v2.88# cat /etc/trex_cfg.yaml @@ -137,7 +137,7 @@ Make sure the DUT mac of the generated TREX file is correct, and add prefix and Replace system scapy with TREX scapy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -As the know trex issue -- trex scapy lib will be conflict with scapy installed in OS, we need the replace the scapy +There is a known issue whereby trex scapy lib will conflict with scapy installed in the OS. In order to resolve this, we need to replace the scapy in system with trex scapy. #. backup your scapy:: @@ -227,7 +227,7 @@ The configuration should as below:: duration=-1 start_trex=yes -As the trex_lib_path may be different in different versions, you could find the correct path as blow command:: +As the trex_lib_path may be different in different versions, you can find the correct path with the below command:: root@tester:/opt/trex/v2.88# find . -name trex_stl_lib ./automation/trex_control_plane/interactive/trex_stl_lib @@ -358,8 +358,8 @@ trex server using 82599/500 Series nic will quit. ./t-rex-64: line 80: 25870 Aborted (core dumped) ./_$( -other issues -~~~~~~~~~~~~ +Other issues / notes +~~~~~~~~~~~~~~~~~~~~~ #. linux kernel version should not be too low. diff --git a/doc/dts_gsg/usr_guide/usage.rst b/doc/dts_gsg/usr_guide/usage.rst index e59d1544..24bf8d70 100644 --- a/doc/dts_gsg/usr_guide/usage.rst +++ b/doc/dts_gsg/usr_guide/usage.rst @@ -22,11 +22,11 @@ First of all, you must configure execution.cfg as below: x86_64-native-linuxapp-gcc parameters=nic_type=cfg:func=true -* crbs: IP address of the DUT. The detail information is defined in file $DTS_CFG_FOLDER/crbs.cfg. -* drivername: the driver devices used by DPDK bound to. +* crbs: IP address of the DUT. The detailed information is defined in file $DTS_CFG_FOLDER/crbs.cfg. +* drivername: the driver used by DPDK to bind to devices. * build_type: the tool for building DPDK, it can be meson. * rx_mode: vector instructions used in tests, it can be novector/sse/avx2/avx512. it is optional, if not set, dpdk uses avx2 by default. -* test_suites: test suites and cases that to be executed. use ``:`` to separate suite and it's cases and use ``\`` to separate different cases. +* test_suites: test suites and cases that to be executed. use ``:`` to separate suite and its cases, and use ``\`` to separate different cases. * targets: DPDK targets to be tested. * parameters: multiple keywords as following: @@ -81,7 +81,7 @@ Then please add the detail information about your CRB in $DTS_CFG_FOLDER/crbs.co * dut_user: User name of DUT linux account * dut_passwd: Password of DUT linux account * tester_ip: IP address of tester -* tester_passwd: Password of Tester linux account, user name should same as dut_user +* tester_passwd: Password of Tester linux account, user name should be the same as dut_user * pktgen_group: traffic generator name, it can be ``trex`` or ``ixia``, it is optional, if not set, DTS can't do performance tests. * channels: number of memory channels for DPDK EAL * bypass_core0: skip the first core when initialize DPDK @@ -124,7 +124,7 @@ It supports three patterns, the first one is for functional testing, the second * if pktgen is ``TRex``, the `X` in ``TREX:X`` is port id in TRex configuration file, e.g. /etc/trex_cfg.yaml. * if pktgen is ``IXIA``, the `X` is card id ,and the `Y` is port id, which configured in DTS_CFG_FOLDER/pktgen.cfg (./conf/pktgen.cfg by default). -Here are an example for functional testing: +Here is an example for functional testing: .. code-block:: console @@ -133,7 +133,7 @@ Here are an example for functional testing: pci=0000:06:00.0,peer=0000:81:00.0; pci=0000:06:00.1,peer=0000:81:00.1; -Here are an example for IXIA: +Here is an example for IXIA: .. code-block:: console @@ -142,7 +142,7 @@ Here are an example for IXIA: pci=0000:18:00.0,peer=IXIA:1.1; pci=0000:18:00.1,peer=IXIA:1.2; -Here are an example for TRex: +Here is an example for TRex: .. code-block:: console @@ -162,7 +162,7 @@ $DTS_CFG_FOLDER/global_suite.cfg is a global suite configure file which is share [global] vf_driver=vfio-pci -* vf_driver: VF driver that for VF testing, recommend keep the default value ``vfio-pci``. +* vf_driver: VF driver that for VF testing, recommended to keep the default value ``vfio-pci``. Configure your own suites @@ -197,7 +197,7 @@ Then configure $DTS_CFG_FOLDER/pktgen.cfg as following: trex_lib_path=/opt/trex/v2.84/automation/trex_control_plane/interactive config_file=/etc/trex_cfg.yaml server=192.168.1.1 # equal to tester IP, TREX should be installed in tester - pcap_file=/opt/trex/v2.84/stl/sample.pacp + pcap_file=/opt/trex/v2.84/stl/sample.pcap core_num=16 ip_src=16.0.0.1 ip_dst=10.0.0.1 @@ -216,7 +216,7 @@ Then configure $DTS_CFG_FOLDER/pktgen.cfg as following: * TREX: section name for TRex. * trex_root_path: source code path for TRex -* trex_lib_path: the director where dts can import Trex API +* trex_lib_path: the directory where dts can import Trex API * start_trex: whether DTS start TRex server, suggest 'yes' for one-time test, and 'no' for CI integration * IXIA: section name for IXIA.