From patchwork Thu Mar 25 08:54:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89845 X-Patchwork-Delegate: lijuan.tu@intel.com 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 80EAEA0A02; Thu, 25 Mar 2021 10:02:12 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7C64E140DA1; Thu, 25 Mar 2021 10:02:12 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id CE72040147 for ; Thu, 25 Mar 2021 10:02:10 +0100 (CET) IronPort-SDR: xPVjJN6kCoxXo+r3fZaS4t/Kzi2v1WQs7mefe4rqnFnCAHD8dWhvdMQfYwmJ8uvant4eK08WOs +M35ZUmSoI+Q== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="170238412" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="170238412" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 02:02:10 -0700 IronPort-SDR: qjIgQTGynp3mndP2j0n1DaIXB3ErZYpLsCJKhMyuBFdmQGPyY7HbQVVdaDjRMonUJX6WXMpi2v Mit4Ah45kX7Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="442680176" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga002.fm.intel.com with ESMTP; 25 Mar 2021 02:02:09 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:54:48 +0800 Message-Id: <20210325085449.18195-13-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325085449.18195-1-yufengx.mo@intel.com> References: <20210325085449.18195-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V3 12/13] tests/vf_l3fwd_lpm_ipv6_kernelpf: script X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" vf_l3fwd_lpm_ipv6_kernelpf suite automation script. Signed-off-by: yufengmx --- tests/TestSuite_vf_l3fwd_lpm_ipv6_kernelpf.py | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 tests/TestSuite_vf_l3fwd_lpm_ipv6_kernelpf.py diff --git a/tests/TestSuite_vf_l3fwd_lpm_ipv6_kernelpf.py b/tests/TestSuite_vf_l3fwd_lpm_ipv6_kernelpf.py new file mode 100644 index 00000000..c7cb1b6c --- /dev/null +++ b/tests/TestSuite_vf_l3fwd_lpm_ipv6_kernelpf.py @@ -0,0 +1,85 @@ +# BSD LICENSE +# +# Copyright(c) 2010-2021 Intel Corporation. All rights reserved. +# 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. + +import os +import time +from test_case import TestCase +from perf_test_base import PerfTestBase, IP_TYPE, MATCH_MODE, SUITE_TYPE, VF_L3FWD_NIC_SUPPORT + + +class TestVfL3fwdLpmIpv6KernelPf(TestCase, PerfTestBase): + # + # Test cases. + # + + def set_up_all(self): + """ + Run at the start of each test suite. + """ + self.verify(self.nic in VF_L3FWD_NIC_SUPPORT, + "NIC Unsupported: " + str(self.nic)) + self.dut_ports = self.dut.get_ports(self.nic) + valports = [ + _ for _ in self.dut_ports if self.tester.get_local_port(_) != -1] + self.logger.debug(valports) + self.verify_ports_number(valports) + # get socket and cores + socket = self.dut.get_numa_id(self.dut_ports[0]) + cores = self.dut.get_core_list("1S/6C/1T", socket=socket) + self.verify(cores, "Requested 6 cores failed") + # init l3fwd common base class parameters + PerfTestBase.__init__(self, valports, socket, mode=SUITE_TYPE.VF) + # preset testing environment + self.perf_preset_test_environment(self.get_suite_cfg()) + + def tear_down_all(self): + """ + Run after each test suite. + """ + self.perf_destroy_resource() + self.l3fwd_save_results(json_file="{}.json".format(self.suite_name)) + + def set_up(self): + """ + Run before each test case. + """ + pass + + def tear_down(self): + """ + Run after each test case. + """ + self.dut.kill_all() + self.perf_reset_cur_case() + + def test_perf_vf_throughput_ipv6_lpm(self): + self.perf_set_cur_case('test_perf_vf_throughput_ipv6_lpm') + self.ms_throughput(l3_proto=IP_TYPE.V6, mode=MATCH_MODE.LPM)