From patchwork Wed Apr 6 15:11:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 109285 X-Patchwork-Delegate: thomas@monjalon.net 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 DC786A0508; Wed, 6 Apr 2022 17:13:41 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BA1974290A; Wed, 6 Apr 2022 17:11:38 +0200 (CEST) Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20]) by mails.dpdk.org (Postfix) with ESMTP id 7E77A428EC for ; Wed, 6 Apr 2022 17:11:32 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lb.pantheon.sk (Postfix) with ESMTP id CD76316BC0E; Wed, 6 Apr 2022 17:11:31 +0200 (CEST) X-Virus-Scanned: amavisd-new at siecit.sk Received: from lb.pantheon.sk ([127.0.0.1]) by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0xOJTjUQ7gg1; Wed, 6 Apr 2022 17:11:30 +0200 (CEST) Received: from entguard.lab.pantheon.local (unknown [46.229.239.141]) by lb.pantheon.sk (Postfix) with ESMTP id 98BF2185001; Wed, 6 Apr 2022 17:11:15 +0200 (CEST) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, david.marchand@redhat.com, Honnappa.Nagarahalli@arm.com, ohilyard@iol.unh.edu, lijuan.tu@intel.com Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Subject: [RFC PATCH v1 18/24] dts: merge DTS doc/dts_gsg/usr_guide/intro.rst to DPDK Date: Wed, 6 Apr 2022 15:11:00 +0000 Message-Id: <20220406151106.2915304-19-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220406151106.2915304-1-juraj.linkes@pantheon.tech> References: <20220406151106.2915304-1-juraj.linkes@pantheon.tech> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --- dts/doc/dts_gsg/usr_guide/intro.rst | 90 +++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 dts/doc/dts_gsg/usr_guide/intro.rst diff --git a/dts/doc/dts_gsg/usr_guide/intro.rst b/dts/doc/dts_gsg/usr_guide/intro.rst new file mode 100644 index 0000000000..dc4c0bfa60 --- /dev/null +++ b/dts/doc/dts_gsg/usr_guide/intro.rst @@ -0,0 +1,90 @@ +Introduction +============ + +This document describes how to install and configure the Data Plane Development Kit Test Suite (DTS) in a Linux environment. +DTS is an automation test tool for DPDK, wrote in `Python3`. +DTS includes one set of test cases and DPDK generic test framework. +DTS provides test example, references and framework for open source community. +Based on DTS, everyone can develop their test plan, automation script and configuration for own features and platform. +In addition, DTS provides a solution to allow that DPDK developers contribute their function test to certify their patch integration. +It only requires limited effort to maintain test cases once merged into DPDK Test Suite. +Everyone can utilize DTS to measure performance and functionality for features. + +As a generic test framework, DTS provides the following functions: + +* Communicate/manage DUT and Tester by SSH connection. +* Able to work with DUT (Device Under Test), which installed Fedora, Ubuntu, CentOS, RHEL, etc. +* Support virtualization hypervisor Qemu. +* Support both software and hardware traffic generators, including Scapy, TRex and IXIA®. +* Provide configure files to customize test suite and test cases to run under DUT. +* Provide debug and log functionalities for tracking test cases execution process. +* Support to output test result by excel, json, log text file, etc. + +DTS environment includes DUT (Device under Test), Tester and Traffic generator. DPDK are deployed on DUT and DTS can run on the Tester or DUT or the third machine. + +.. 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 use `TRex`, recommend deploying `TRex` and DUT on the same machine with different sockets. + +Please see a functional deployment example in the following figure: + +.. figure:: image/dts_func_deploy.png + +This architecture provides automatically mechanism to manage tester, DUT and packet generators, and remove dependency between test script and test environment/hardware. +It defines one abstraction layer for DPDK Test Suite, and provides extensibility to add more test script. +In the DPDK Test Suite Test Framework, it provides the following modules to help to manage device, platform, configure and test results. + +.. table:: + + +---------------------+------------------------------------------------------------------------------+ + | File Name/Directory | Description | + +=====================+==============================================================================+ + | dts | Main Application for DTS | + +---------------------+------------------------------------------------------------------------------+ + | framework | Folder with dts framework modules | + +---------------------+------------------------------------------------------------------------------+ + | nics | Folder with different network device modules | + +---------------------+------------------------------------------------------------------------------+ + | conf | Folder with different config files | + +---------------------+------------------------------------------------------------------------------+ + | execution.cfg | Default execution file | + +---------------------+------------------------------------------------------------------------------+ + | executions | Folder with several execution file samples | + +---------------------+------------------------------------------------------------------------------+ + | output | Folder which contain running log files and result files | + +---------------------+------------------------------------------------------------------------------+ + | dep | Folder with dependence scripts | + +---------------------+------------------------------------------------------------------------------+ + | test_plans | Folder with rst files which contain the description of test suites and cases | + +---------------------+------------------------------------------------------------------------------+ + | tests | Folder with test scripts for test suites and cases | + +---------------------+------------------------------------------------------------------------------+ + | doc | Folder with DTS related documents | + +---------------------+------------------------------------------------------------------------------+ + | requirements.txt | DTS required Python packages | + +---------------------+------------------------------------------------------------------------------+ + +These test script provides example and reference. Everyone can develop their test cases, verify their features functionality, and commit generic test report to maintainer. +, user-defined test cases, test plans and scripts must follow DPDK Test Suite standard including code standard, naming conventions, configure format, rst test plan, API. + +Please see test cases, which are included in the DPDK compliance test suites: + +.. table:: + + +---------------------+----------------------------------------------------------------------------------------------------------------------------+ + | Test Suite | Descriptions | + +=====================+============================================================================================================================+ + | hello_world | Print a ``helloworld`` message on every enabled logic core. | + +---------------------+----------------------------------------------------------------------------------------------------------------------------+ + | Timer | Shows how timer can be used in a RTE application. | + +---------------------+----------------------------------------------------------------------------------------------------------------------------+ + | checksum_offload | Tests RX/TX L3/L4 Checksum offload features by Poll Mode Drivers | + +---------------------+----------------------------------------------------------------------------------------------------------------------------+ + | jumbo_frame | Tests jumbo frames features by Poll Mode Drivers | + +---------------------+----------------------------------------------------------------------------------------------------------------------------+ + | testpmd | Provides benchmark tests for the Intel Ethernet Controller (Niantic) Poll Mode Driver. | + +---------------------+----------------------------------------------------------------------------------------------------------------------------+ + | L3fwd | Verifies Layer-3 Forwarding results using ``l3fwd`` application. | + +---------------------+----------------------------------------------------------------------------------------------------------------------------+