From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3C8ADA0545; Fri, 13 Nov 2020 09:05:57 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 376665B30; Fri, 13 Nov 2020 09:05:56 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 4839C5ABB for ; Fri, 13 Nov 2020 09:05:54 +0100 (CET) IronPort-SDR: eHppeHcQOigj7iutblLkWkEfBdsfQz1ufHX3RLtAgBta3DmhaEaEeFthi/nuMaLIRMkrCr+DDE c9tM5MEUMaiQ== X-IronPort-AV: E=McAfee;i="6000,8403,9803"; a="234600844" X-IronPort-AV: E=Sophos;i="5.77,474,1596524400"; d="scan'208";a="234600844" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Nov 2020 00:05:44 -0800 IronPort-SDR: MRtvsqxkYSrjOygXgSNi3aR/74m2aZxBd0ZpBnMr7yM6NGlEjL5UX6jERvmmuV7+hzk4IrAb+4 5p+tu49za8/Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,474,1596524400"; d="scan'208";a="323924156" Received: from unknown (HELO bdcdev09.localdomain) ([10.190.193.143]) by orsmga003.jf.intel.com with ESMTP; 13 Nov 2020 00:05:42 -0800 From: Churchill Khangar To: dts@dpdk.org Cc: cristian.dumitrescu@intel.com, venkata.suresh.kumar.p@intel.com, churchill.khangar@intel.com, yogesh.jangra@intel.com Date: Fri, 13 Nov 2020 03:03:23 -0500 Message-Id: <1605254605-31556-3-git-send-email-churchill.khangar@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1605254605-31556-1-git-send-email-churchill.khangar@intel.com> References: <1605254605-31556-1-git-send-email-churchill.khangar@intel.com> Subject: [dts] [PATCH v2 2/4] test_plans: add pipeline test plan document X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" Add pipeline test plan document pipeline_test_plan.rst Signed-off-by: Yogesh Jangra Signed-off-by: Churchill Khangar Tested-by: Venkata Suresh Kumar P --- test_plans/pipeline_test_plan.rst | 122 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 test_plans/pipeline_test_plan.rst diff --git a/test_plans/pipeline_test_plan.rst b/test_plans/pipeline_test_plan.rst new file mode 100644 index 0000000..c492fd6 --- /dev/null +++ b/test_plans/pipeline_test_plan.rst @@ -0,0 +1,122 @@ +.. Copyright (c) <2020>, Intel Corporation + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + - Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + +============================= +Pipeline Tests +============================= + +Description +=========== +The "examples/pipeline" application is the main DPDK Packet Framework +application. + +Prerequisites +============== +The DUT must have four 10G Ethernet ports connected to four ports on +Tester that are controlled by the Scapy packet generator:: + + dut_port_0 <---> tester_port_0 + dut_port_1 <---> tester_port_1 + dut_port_2 <---> tester_port_2 + dut_port_3 <---> tester_port_3 + +Assume four DUT 10G Ethernet ports' pci device id is as the following:: + + dut_port_0 : "0000:00:04.0" + dut_port_1 : "0000:00:05.0" + dut_port_2 : "0000:00:06.0" + dut_port_3 : "0000:00:07.0" + +Bind them to dpdk igb_uio driver:: + + ./usertools/dpdk-devbind.py -b igb_uio 0000:00:04.0 0000:00:05.0 0000:00:06.0 0000:00:07.0 + +Supporting Files +================ +All the supporting files for this test suite are maintained in a tar file named "pipeline.tar.gz" +present in the {DTS_SRC_DIR}/dep directory. + +Directory Structure of Each Test Case +===================================== +Within {DTS_SRC_DIR}/dep/pipeline.tar.gz, all files related to a particular test case are maintained +in a separate directory of which the directory structure is shown below: + + test_case_name [directory] + test_case_name.spec + test_case_name.cli + table.txt [applicable for test cases requiring it] + readme.txt + pcap_files [subdirectory] + in_x.txt [x: 1-4; depending on test case] + out_x.txt [x: 1-4; depending on test case] + +For an example, files related to mov_001 test case are maintained as shown below: + + mov_001 [directory] + mov_001.spec + mov_001.cli + readme.txt + pcap_files [subdirectory] + in_1.txt + out_1.txt + +Template of each Test Case +=========================== +1. Edit test_case_name/test_case_name.cli: + change pci device id of LINK0, LINK1, LINK2, LINK3 to pci device id of + dut_port_0, dut_port_1, dut_port_2, dut_port_3 + +2. Run pipeline app as the following:: + + x86_64-native-linuxapp-gcc/examples/dpdk-pipeline -c 0x3 -n 4 -- -s /tmp/pipeline/test_case_name/test_case_name.cli + +3. Send packets at tester side using scapy. The packets to be sent are maintained in pipeline/test_case_name/pcap_files/in_x.txt + +4. Verify the packets received using tcpdump. The expected packets are maintained in pipeline/test_case_name/pcap_files/out_x.txt + +5. Test case is considered as successful if the received packets and the expected packets match for all the port combinations used. + +Example Test Case: test_mov_001 +========================================= +1. Edit mov_001/mov_001.cli: + change pci device id of LINK0, LINK1, LINK2, LINK3 to pci device id of + dut_port_0, dut_port_1, dut_port_2, dut_port_3 + +2. Run pipeline app as the following:: + + x86_64-native-linuxapp-gcc/examples/dpdk-pipeline -c 0x3 -n 4 -- -s /tmp/pipeline/mov_001/mov_001.cli + +3. Send packets at tester side using scapy. The packets to be sent are maintained in pipeline/mov_001/pcap_files/in_1.txt + +4. Verify the packets received using tcpdump. The expected packets are maintained in pipeline/mov_001/pcap_files/out_1.txt + +5. test_mov_001 is considered as successful if the received packets and the expected packets match for all 4 port combinations used. -- 1.8.3.1