From patchwork Thu Mar 25 08:41:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89818 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 55D90A0A0A; Thu, 25 Mar 2021 09:49:08 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4D3B440693; Thu, 25 Mar 2021 09:49:08 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id CFAC54067B for ; Thu, 25 Mar 2021 09:49:06 +0100 (CET) IronPort-SDR: W7oqVthQmvoRKIzhT5bo+kww5tj9mNpp+M9b8tzRabR4RDh4CcnQ+XH4gRrEvaKtRw9aXRL4zC 9cbwlGCr1Ksw== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009474" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009474" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:06 -0700 IronPort-SDR: jLd9ubeKSwcl30jK3v7C+HunsYIRbXeo39xXDOCfCQtikYSOCNQGgWmFoYA5VoYosb2sM25vbU Fr9Fh56saXxw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759004" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:05 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:41:50 +0800 Message-Id: <20210325084202.17856-2-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 01/13] conf/vf_l3fwd_base: add more flows 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" add vf_l3fwd_base more flows configuration. Signed-off-by: yufengmx --- conf/vf_l3fwd_base.cfg | 93 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) diff --git a/conf/vf_l3fwd_base.cfg b/conf/vf_l3fwd_base.cfg index 9d9ede33..8d281144 100644 --- a/conf/vf_l3fwd_base.cfg +++ b/conf/vf_l3fwd_base.cfg @@ -1,6 +1,50 @@ +# stream_type= "tcp"/"udp"/"raw". If not set this key, default is "raw" +# [suite] l3fwd_flows = { "ipv4": { + "em": [ + { + "ipv4": { + "dst": "101.0.0.0", + "src": "100.10.0.1" + }, + "udp": { + "dst": 11, + "src": 101 + } + }, + { + "ipv4": { + "dst": "201.0.0.0", + "src": "200.20.0.1" + }, + "udp": { + "dst": 12, + "src": 102 + } + }, + { + "ipv4": { + "dst": "111.0.0.0", + "src": "100.30.0.1" + }, + "udp": { + "dst": 11, + "src": 101 + } + }, + { + "ipv4": { + "dst": "211.0.0.0", + "src": "200.40.0.1" + }, + "udp": { + "dst": 11, + "src": 102 + } + } + ], "lpm": [ "198.18.0.0/24", "198.18.1.0/24", @@ -11,4 +55,51 @@ l3fwd_flows = { "198.18.6.0/24", "198.18.7.0/24" ] - }, } \ No newline at end of file + }, + "ipv6": { + "em": [ + { + "ipv6": { + "dst": "fe80:0000:0000:0000:021e:67ff:fe00:0000", + "src": "fe80:0000:0000:0000:021b:21ff:fe91:3805" + }, + "udp": { + "dst": 101, + "src": 11 } + }, + { + "ipv6": { + "dst": "fe90:0000:0000:0000:021e:67ff:fe00:0000", + "src": "fe90:0000:0000:0000:021b:21ff:fe91:3805" }, + "udp": { + "dst": 102, + "src": 12 } + }, + { + "ipv6": { + "dst": "fea0:0000:0000:0000:021e:67ff:fe00:0000", + "src": "fea0:0000:0000:0000:021b:21ff:fe91:3805" }, + "udp": { + "dst": 101, + "src": 11 } + }, + { + "ipv6": { + "dst": "feb0:0000:0000:0000:021e:67ff:fe00:0000", + "src": "feb0:0000:0000:0000:021b:21ff:fe91:3805" }, + "udp": { + "dst": 102, + "src": 12 } + } + ], + "lpm": [ + "3201:20:00:00:00:00:00:00/48", + "3201:20:00:00:01:00:00:00/48", + "3201:20:00:00:02:00:00:00/48", + "3201:20:00:00:03:00:00:00/48", + "3201:20:00:00:04:00:00:00/48", + "3201:20:00:00:05:00:00:00/48", + "3201:20:00:00:06:00:00:00/48", + "3201:20:00:00:07:00:00:00/48" + ] + } } From patchwork Thu Mar 25 08:41:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89819 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 7A760A0A02; Thu, 25 Mar 2021 09:49:10 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 74B56140D36; Thu, 25 Mar 2021 09:49:10 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 7E7D1140D29 for ; Thu, 25 Mar 2021 09:49:08 +0100 (CET) IronPort-SDR: 6ubL7qxXPDOaaAXjF5TKNCWLTeW63E9Q7IDFS5zV66HsXJkN/24Fxk/fLrCK3MvDAnIG0AJGWY Tyc76CFEiWFg== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009477" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009477" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:08 -0700 IronPort-SDR: aVFMScAmXzeGN99YxmYN0i8nG23oRlGzzItJa6TCj9rTwrd7hIyBDD4P3S4gRqfqJ4Pdoxbalt 3vcjrjqxzv0w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759017" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:06 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:41:51 +0800 Message-Id: <20210325084202.17856-3-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 02/13] tests/perf_test_base: extend vf l3fwd content 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" #. unify vf l3fwd nic support list. #. add suite series name method. #. remove comiple restore limitation. #. rename host testpmd whitelist method. Signed-off-by: yufengmx --- tests/perf_test_base.py | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/tests/perf_test_base.py b/tests/perf_test_base.py index 20f3e152..4b76e6b1 100644 --- a/tests/perf_test_base.py +++ b/tests/perf_test_base.py @@ -51,6 +51,17 @@ from exception import VerifyFailure import utils +VF_L3FWD_NIC_SUPPORT = frozenset(( + "niantic", + "fortville_spirit", + "fortville_25g", + "fortville_eagle", + "columbiaville_100g", + "columbiaville_25g", + "columbiaville_25gx2", +)) + + @unique class BIN_TYPE(Enum): L3FWD = 'l3fwd' @@ -625,14 +636,11 @@ class PerfTestBase(object): "define RTE_TEST_TX_DESC_DEFAULT 2048/' " "./examples/l3fwd/l3fwd.h")) if self.__mode is SUITE_TYPE.VF: - self.__l3fwd_lpm = self.__l3fwd_em = \ - self.__l3fwd_init(MATCH_MODE.EM, rename=False) # init testpmd if self.__pf_driver is not NIC_DRV.PCI_STUB: self.__init_host_testpmd() - else: - self.__l3fwd_em = self.__l3fwd_init(MATCH_MODE.EM) - self.__l3fwd_lpm = self.__l3fwd_init(MATCH_MODE.LPM) + self.__l3fwd_em = self.__l3fwd_init(MATCH_MODE.EM) + self.__l3fwd_lpm = self.__l3fwd_init(MATCH_MODE.LPM) def __preset_compilation(self): # Update compile config file and rebuild to get best perf on different nics @@ -673,7 +681,7 @@ class PerfTestBase(object): 'core_mask': core_mask, 'mem_channel': self.dut.get_memory_channels(), 'memsize': mem_size, - 'whitelist': self.__get_testpmd_whitelist(), + 'whitelist': self.__get_host_testpmd_whitelist(), 'prefix': 'pf', }) self.__host_pmd_con([cmd, "testpmd> ", 120]) self.__is_pmd_on = True @@ -1238,8 +1246,19 @@ class PerfTestBase(object): vf_driver = test_content.get('vf_driver') return pf_driver, vf_driver + def __set_suite_series_name(self): + pat = "vf_l3fwd.*_kernelpf" + if re.match(pat, self.suite_name): + self.__suite = SUITE_NAME.VF_KERNELPF + return + pat = "testpmd*_perf" + if re.match(pat, self.suite_name): + self.__suite = SUITE_NAME.TESTPMD_PERF + return + self.__suite = None + def __get_vf_test_content_from_cfg(self, test_content): - self.__suite = get_enum_name(self.suite_name, SUITE_NAME) + self.__set_suite_series_name() # pf driver pf_driver, vf_driver = self.__get_suite_vf_pf_driver(test_content) if pf_driver and isinstance(pf_driver, str): @@ -1356,7 +1375,7 @@ class PerfTestBase(object): return whitelist - def __get_testpmd_whitelist(self): + def __get_host_testpmd_whitelist(self): whitelist = ''.join(['-w {} '.format(info.get('pf_pci')) for _, info in self.__vf_ports_info.items()]) return whitelist @@ -1404,8 +1423,7 @@ class PerfTestBase(object): self.dut.close_session(self.__pmd_session) self.__pmd_session = None self.__vf_destroy() - if self.__mode is SUITE_TYPE.PF: - self.__restore_compilation() + self.__restore_compilation() def perf_set_cur_case(self, name): self.__cur_case = name From patchwork Thu Mar 25 08:41:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89820 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 9E20AA0A02; Thu, 25 Mar 2021 09:49:11 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 99608140D4F; Thu, 25 Mar 2021 09:49:11 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 09F8A4067B for ; Thu, 25 Mar 2021 09:49:09 +0100 (CET) IronPort-SDR: HIRhE+6JDFZsgRG5BVqQn9PjLkseUHLtAjCKi/w7Sm92t+qSqTKweNcAqvx9tsd0H2Yb0+Lm3c M/m2BLFowhOQ== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009483" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009483" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:09 -0700 IronPort-SDR: dLd0UVYn7jxI5bFhEVHVUjd++bItKtaQeE3LD86fpyDoB0AOyQVjgKB/u/YiDytFMrlny/RVTf HinLD9cAov1g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759030" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:08 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:41:52 +0800 Message-Id: <20210325084202.17856-4-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 03/13] conf/vf_l3fwd_em_kernelpf: configuration 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" add vf_l3fwd_em_kernelpf suite testing configuration. Signed-off-by: yufengmx --- conf/vf_l3fwd_em_kernelpf.cfg | 101 ++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 conf/vf_l3fwd_em_kernelpf.cfg diff --git a/conf/vf_l3fwd_em_kernelpf.cfg b/conf/vf_l3fwd_em_kernelpf.cfg new file mode 100644 index 00000000..11490bf9 --- /dev/null +++ b/conf/vf_l3fwd_em_kernelpf.cfg @@ -0,0 +1,101 @@ +# Users could change these configuration on demand: +# +# detail content reference to ``vf_l3fwd_kernelpf.cfg`` +# + +[suite] +test_duration = 60 +accepted_tolerance = 1 + +test_parameters = { + '1C/1T-1Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '1C/2T-2Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '2C/2T-2Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '2C/4T-4Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '4C/4T-4Q': ['64', '128', '256', '512', '1024', '1280', '1518',],} + +expected_throughput = { + 'test_perf_vf_throughput_ipv4_em': { + 'niantic': { + '1C/1T-1Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '1C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '4C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', },},}, + 'test_perf_vf_throughput_ipv6_em': { + 'niantic': { + '1C/1T-1Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '1C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '4C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', },},},} From patchwork Thu Mar 25 08:41:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89821 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 C64CBA0A02; Thu, 25 Mar 2021 09:49:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BD928140D29; Thu, 25 Mar 2021 09:49:13 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 7419C4067B for ; Thu, 25 Mar 2021 09:49:11 +0100 (CET) IronPort-SDR: W3XmUkzRmzwfnGPqxZARO5PaL7XiL2ANB3WubQgeDSyinSSI7EJZ4qtbuuTH5hOM1d5adzNtmh kcXwMrS8oOsg== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009484" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009484" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:11 -0700 IronPort-SDR: QBZYbtXgQFLfqWCfFEvFsJqYZy5f56cHyZsbbxiWjte4X/eN0X1cTSFlqe9fcM0MU8nk8Geuzp 41/HcfXOYmQA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759035" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:09 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:41:53 +0800 Message-Id: <20210325084202.17856-5-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 04/13] tests/vf_l3fwd_em_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_em_kernelpf suite automation script. Signed-off-by: yufengmx --- tests/TestSuite_vf_l3fwd_em_kernelpf.py | 89 +++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 tests/TestSuite_vf_l3fwd_em_kernelpf.py diff --git a/tests/TestSuite_vf_l3fwd_em_kernelpf.py b/tests/TestSuite_vf_l3fwd_em_kernelpf.py new file mode 100644 index 00000000..05cda1d1 --- /dev/null +++ b/tests/TestSuite_vf_l3fwd_em_kernelpf.py @@ -0,0 +1,89 @@ +# 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 TestVfL3fwdEmKernelPf(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_ipv4_em(self): + self.perf_set_cur_case('test_perf_vf_throughput_ipv4_em') + self.ms_throughput(l3_proto=IP_TYPE.V4, mode=MATCH_MODE.EM) + + def test_perf_vf_throughput_ipv6_em(self): + self.perf_set_cur_case('test_perf_vf_throughput_ipv6_em') + self.ms_throughput(l3_proto=IP_TYPE.V6, mode=MATCH_MODE.EM) From patchwork Thu Mar 25 08:41:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89822 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 EB3C5A0A02; Thu, 25 Mar 2021 09:49:15 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E5872140D0D; Thu, 25 Mar 2021 09:49:15 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 8B66D4067B for ; Thu, 25 Mar 2021 09:49:13 +0100 (CET) IronPort-SDR: TuZ9U38Z0dAfrh0y9PjZbcodIBTFdBDi7gqa/JNujz7O1DeKwkezC/ipnNyV3jFMZv8J449CZh nQmSSsZYECFw== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009487" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009487" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:13 -0700 IronPort-SDR: zpPchV5m8ctlzbeeNZFZvYs3CP4n53emJthkfV3fUrGyYuH0zCTFCmrEUhgU8d+qRIqqACP/if bjU4USDcTsYQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759043" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:11 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:41:54 +0800 Message-Id: <20210325084202.17856-6-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 05/13] conf/vf_l3fwd_kernelpf: configuration 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" add vf_l3fwd_kernelpf suite testing configuration. Signed-off-by: yufengmx --- conf/vf_l3fwd_kernelpf.cfg | 303 ++++++++++++++++++++++++++++++++++++- 1 file changed, 300 insertions(+), 3 deletions(-) diff --git a/conf/vf_l3fwd_kernelpf.cfg b/conf/vf_l3fwd_kernelpf.cfg index 9c711770..c2c71c1b 100644 --- a/conf/vf_l3fwd_kernelpf.cfg +++ b/conf/vf_l3fwd_kernelpf.cfg @@ -50,16 +50,59 @@ # tests as usual. [suite] -update_expected = True -test_duration = 12 +test_duration = 60 accepted_tolerance = 1 + test_parameters = { '1C/1T-1Q': ['64', '128', '256', '512', '1024', '1280', '1518',], '1C/2T-2Q': ['64', '128', '256', '512', '1024', '1280', '1518',], '2C/2T-2Q': ['64', '128', '256', '512', '1024', '1280', '1518',], '2C/4T-4Q': ['64', '128', '256', '512', '1024', '1280', '1518',], '4C/4T-4Q': ['64', '128', '256', '512', '1024', '1280', '1518',],} + expected_throughput = { + 'test_perf_vf_throughput_ipv4_em': { + 'niantic': { + '1C/1T-1Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '1C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '4C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', },},}, 'test_perf_vf_throughput_ipv4_lpm': { 'niantic': { '1C/1T-1Q': { @@ -101,4 +144,258 @@ expected_throughput = { '512': '0.00', '1024': '0.00', '1280': '0.00', - '1518': '0.00', },},},} \ No newline at end of file + '1518': '0.00', },},}, + 'test_perf_vf_throughput_ipv6_em': { + 'niantic': { + '1C/1T-1Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '1C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '4C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', },},}, + 'test_perf_vf_throughput_ipv6_lpm': { + 'niantic': { + '1C/1T-1Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '1C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '4C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', },},},} + +expected_rfc2544 = { + 'test_perf_vf_rfc2544_ipv4_em': { + 'niantic': { + '1C/1T-1Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '1C/2T-2Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '2C/2T-2Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '2C/4T-4Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '4C/4T-4Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},}, + 'test_perf_vf_rfc2544_ipv4_lpm': { + 'niantic': { + '1C/1T-1Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '1C/2T-2Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '2C/2T-2Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '2C/4T-4Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '4C/4T-4Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},}, + 'test_perf_vf_rfc2544_ipv6_em': { + 'niantic': { + '1C/1T-1Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '1C/2T-2Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '2C/2T-2Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '2C/4T-4Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '4C/4T-4Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},}, + 'test_perf_vf_rfc2544_ipv6_lpm': { + 'niantic': { + '1C/1T-1Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '1C/2T-2Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '2C/2T-2Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '2C/4T-4Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '4C/4T-4Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},},} \ No newline at end of file From patchwork Thu Mar 25 08:41:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89823 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 20358A0A02; Thu, 25 Mar 2021 09:49:17 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1AD3A140D0B; Thu, 25 Mar 2021 09:49:17 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 082784067B for ; Thu, 25 Mar 2021 09:49:14 +0100 (CET) IronPort-SDR: KI7QY7JGjg6/UphFLat0ZSF8VcTUM9++1CMPYD19RIHwerM74Fudyssvj2ltPEbg+N8mwv4Mmt 9INtMNWkHLQA== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009490" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009490" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:14 -0700 IronPort-SDR: hTYe9siF+MgFgdHRMvk7ggJnjGy3has/Rx1TmlwjP+VLZWgzar25Gj9yLNDT4MNs/+85oBct+M aNQD58qKpXVA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759047" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:13 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:41:55 +0800 Message-Id: <20210325084202.17856-7-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 06/13] tests/vf_l3fwd_kernelpf: add more test scenario 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" add more test scenario cases. Signed-off-by: yufengmx --- tests/TestSuite_vf_l3fwd_kernelpf.py | 40 +++++++++++++++++++++------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/tests/TestSuite_vf_l3fwd_kernelpf.py b/tests/TestSuite_vf_l3fwd_kernelpf.py index 4cd44aaa..d5ed897a 100644 --- a/tests/TestSuite_vf_l3fwd_kernelpf.py +++ b/tests/TestSuite_vf_l3fwd_kernelpf.py @@ -32,7 +32,7 @@ import os import time from test_case import TestCase -from perf_test_base import PerfTestBase, IP_TYPE, MATCH_MODE, SUITE_TYPE +from perf_test_base import PerfTestBase, IP_TYPE, MATCH_MODE, SUITE_TYPE, VF_L3FWD_NIC_SUPPORT class TestVfL3fwdKernelPf(TestCase, PerfTestBase): @@ -44,14 +44,8 @@ class TestVfL3fwdKernelPf(TestCase, PerfTestBase): """ Run at the start of each test suite. """ - self.verify(self.nic in [ - "niantic", - "fortville_spirit", - "fortville_25g", - "fortville_eagle", - "columbiaville_100g", - "columbiaville_25g", - "columbiaville_25gx2"], "NIC Unsupported: " + str(self.nic)) + 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] @@ -86,6 +80,34 @@ class TestVfL3fwdKernelPf(TestCase, PerfTestBase): self.dut.kill_all() self.perf_reset_cur_case() + def test_perf_vf_rfc2544_ipv4_lpm(self): + self.perf_set_cur_case('test_perf_vf_rfc2544_ipv4_lpm') + self.qt_rfc2544(l3_proto=IP_TYPE.V4, mode=MATCH_MODE.LPM) + + def test_perf_vf_rfc2544_ipv4_em(self): + self.perf_set_cur_case('test_perf_vf_rfc2544_ipv4_em') + self.qt_rfc2544(l3_proto=IP_TYPE.V4, mode=MATCH_MODE.EM) + def test_perf_vf_throughput_ipv4_lpm(self): self.perf_set_cur_case('test_perf_vf_throughput_ipv4_lpm') self.ms_throughput(l3_proto=IP_TYPE.V4, mode=MATCH_MODE.LPM) + + def test_perf_vf_throughput_ipv4_em(self): + self.perf_set_cur_case('test_perf_vf_throughput_ipv4_em') + self.ms_throughput(l3_proto=IP_TYPE.V4, mode=MATCH_MODE.EM) + + def test_perf_vf_rfc2544_ipv6_lpm(self): + self.perf_set_cur_case('test_perf_vf_rfc2544_ipv6_lpm') + self.qt_rfc2544(l3_proto=IP_TYPE.V6, mode=MATCH_MODE.LPM) + + def test_perf_vf_rfc2544_ipv6_em(self): + self.perf_set_cur_case('test_perf_vf_rfc2544_ipv6_em') + self.qt_rfc2544(l3_proto=IP_TYPE.V6, mode=MATCH_MODE.EM) + + 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) + + def test_perf_vf_throughput_ipv6_em(self): + self.perf_set_cur_case('test_perf_vf_throughput_ipv6_em') + self.ms_throughput(l3_proto=IP_TYPE.V6, mode=MATCH_MODE.EM) From patchwork Thu Mar 25 08:41:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89824 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 59F23A0A0A; Thu, 25 Mar 2021 09:49:17 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3E0CC140D73; Thu, 25 Mar 2021 09:49:17 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 692044067B for ; Thu, 25 Mar 2021 09:49:16 +0100 (CET) IronPort-SDR: eeqhIfQvlMQ+KFWBP2sG052Sh/wpVqeAwl3yML4s9gRCA099RfKGVAyiWZBzjB+JxpnDVDhS6f qT+XLjCzjUUg== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009492" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009492" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:16 -0700 IronPort-SDR: RuTtasAOANeeVGAu9QYVP3eb/qUicyeiVkWkSEZQ1G5BKlTycWdjaksyTF296LnUFKEie2mc8f ON+vRL5DvMJQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759056" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:14 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:41:56 +0800 Message-Id: <20210325084202.17856-8-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 07/13] conf/vf_l3fwd_lpm_ipv4_kernelpf: configuration 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" add vf_l3fwd_lpm_ipv4_kernelpf suite testing configuration. Signed-off-by: yufengmx --- conf/vf_l3fwd_lpm_ipv4_kernelpf.cfg | 59 +++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 conf/vf_l3fwd_lpm_ipv4_kernelpf.cfg diff --git a/conf/vf_l3fwd_lpm_ipv4_kernelpf.cfg b/conf/vf_l3fwd_lpm_ipv4_kernelpf.cfg new file mode 100644 index 00000000..960886a5 --- /dev/null +++ b/conf/vf_l3fwd_lpm_ipv4_kernelpf.cfg @@ -0,0 +1,59 @@ +# Users could change these configuration on demand: +# +# detail content reference to ``vf_l3fwd_kernelpf.cfg`` +# + +[suite] +test_duration = 60 +accepted_tolerance = 1 + +test_parameters = { + '1C/1T-1Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '1C/2T-2Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '2C/2T-2Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '2C/4T-4Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '4C/4T-4Q': ['64', '128', '256', '512', '1024', '1280', '1518',],} + +expected_throughput = { + 'test_perf_vf_throughput_ipv4_lpm': { + 'niantic': { + '1C/1T-1Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '1C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '4C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', },},},} From patchwork Thu Mar 25 08:41:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89825 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 60CE4A0A02; Thu, 25 Mar 2021 09:49:20 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5BE1F140D3A; Thu, 25 Mar 2021 09:49:20 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 95B5A4067B for ; Thu, 25 Mar 2021 09:49:18 +0100 (CET) IronPort-SDR: SwuSJ2uayMVjHhXlk1M0Eb5Jz/ugvCpDLK2L7Fa4ABQKcWvei9pM2dd87nYJqQaQsFSN26KMCw zxSj6P73plqQ== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009497" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009497" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:17 -0700 IronPort-SDR: y5WP3YjRa8RMVZ8bJrV2uKuCxG4lwSPyivgjUxHH5bXXjVMcGE879X6L25eQW3v/WvNcftx9ML 2Ge+0HlroK+w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759062" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:16 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:41:57 +0800 Message-Id: <20210325084202.17856-9-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 08/13] tests/vf_l3fwd_lpm_ipv4_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_ipv4_kernelpf suite automation script. Signed-off-by: yufengmx --- tests/TestSuite_vf_l3fwd_lpm_ipv4_kernelpf.py | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 tests/TestSuite_vf_l3fwd_lpm_ipv4_kernelpf.py diff --git a/tests/TestSuite_vf_l3fwd_lpm_ipv4_kernelpf.py b/tests/TestSuite_vf_l3fwd_lpm_ipv4_kernelpf.py new file mode 100644 index 00000000..51490047 --- /dev/null +++ b/tests/TestSuite_vf_l3fwd_lpm_ipv4_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 TestVfL3fwdLpmIpv4KernelPf(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_ipv4_lpm(self): + self.perf_set_cur_case('test_perf_vf_throughput_ipv4_lpm') + self.ms_throughput(l3_proto=IP_TYPE.V4, mode=MATCH_MODE.LPM) From patchwork Thu Mar 25 08:41:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89826 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 865B5A0A0A; Thu, 25 Mar 2021 09:49:20 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 81A46140D7B; Thu, 25 Mar 2021 09:49:20 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 754CD4067B for ; Thu, 25 Mar 2021 09:49:19 +0100 (CET) IronPort-SDR: HEQFKfETHolglEAkyMpjuyaj6tyrakdf12lfiQrtpHJR7Cdb5Mr7lB2RKvb3gBIL66iijQQk8L VxStrYRzyptw== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009504" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009504" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:19 -0700 IronPort-SDR: 60q3LaVfr/wNQB4f5ojd83hRxsMutN9bGTjzAM3PTKq8ihPtoG5xIirpEridl3sCXzfEDnBYDP L9j8HqLM0ufw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759075" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:17 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:41:58 +0800 Message-Id: <20210325084202.17856-10-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 09/13] conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf: configuration 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" add vf_l3fwd_lpm_ipv4_rfc2544_kernelpf suite testing configuration. Signed-off-by: yufengmx --- conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.cfg | 59 +++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.cfg diff --git a/conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.cfg b/conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.cfg new file mode 100644 index 00000000..6e526693 --- /dev/null +++ b/conf/vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.cfg @@ -0,0 +1,59 @@ +# Users could change these configuration on demand: +# +# detail content reference to ``vf_l3fwd_kernelpf.cfg`` +# + +[suite] +test_duration = 60 +accepted_tolerance = 1 + +test_parameters = { + '1C/1T-1Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '1C/2T-2Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '2C/2T-2Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '2C/4T-4Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '4C/4T-4Q': ['64', '128', '256', '512', '1024', '1280', '1518',],} + +expected_rfc2544 = { + 'test_perf_vf_rfc2544_ipv4_lpm': { + 'niantic': { + '1C/1T-1Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '1C/2T-2Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '2C/2T-2Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '2C/4T-4Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } }, + '4C/4T-4Q': { + '64': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '128': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '256': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '512': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1024': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1280': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } }, + '1518': { 'rate' :'100.00', 'traffic_opt': {'min_rate': '10.0', 'max_rate': '100.0', 'pdr': '0.01', 'accuracy': '5', } } },},},} From patchwork Thu Mar 25 08:41:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89827 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 AEA20A0A02; Thu, 25 Mar 2021 09:49:22 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A8FD8140D47; Thu, 25 Mar 2021 09:49:22 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id D1BF64067B for ; Thu, 25 Mar 2021 09:49:20 +0100 (CET) IronPort-SDR: EfiHy+6Tf6Li70AZuQPUj9xjLdH3gEL2X+TUqcnCb1uzojEgwGFZda20Sh6Zuw8qCx6TNRxjsq va+DBoO8mfeg== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009505" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009505" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:20 -0700 IronPort-SDR: Oj56F/mZcgMIy62GuJSaP8ozL9g+6IO110PbsgDFC7/7a/DYvxdOuFmRtBrXAkCl61PEVZJLhr qGa/vAyN+d2A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759086" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:19 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:41:59 +0800 Message-Id: <20210325084202.17856-11-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 10/13] tests/vf_l3fwd_lpm_ipv4_rfc2544_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_ipv4_rfc2544_kernelpf suite automation script. Signed-off-by: yufengmx --- ...uite_vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.py | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 tests/TestSuite_vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.py diff --git a/tests/TestSuite_vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.py b/tests/TestSuite_vf_l3fwd_lpm_ipv4_rfc2544_kernelpf.py new file mode 100644 index 00000000..c37d18ad --- /dev/null +++ b/tests/TestSuite_vf_l3fwd_lpm_ipv4_rfc2544_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 TestVfL3fwdLpmIpv4Rfc2544KernelPf(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_rfc2544_ipv4_lpm(self): + self.perf_set_cur_case('test_perf_vf_rfc2544_ipv4_lpm') + self.qt_rfc2544(l3_proto=IP_TYPE.V4, mode=MATCH_MODE.LPM) From patchwork Thu Mar 25 08:42:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89828 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 D2D60A0A0A; Thu, 25 Mar 2021 09:49:23 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CDA55140D6B; Thu, 25 Mar 2021 09:49:23 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 48D6D4067B for ; Thu, 25 Mar 2021 09:49:22 +0100 (CET) IronPort-SDR: jR1LUT4OcdzU42PYgxsQXVlef4pV5k31p/J1o0j0GVnXLEH0Fea0YjpfNQ2e2wz8ZXv1K+w7p6 x+9agoS66U0w== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009509" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009509" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:21 -0700 IronPort-SDR: UJb2YVLIpoyVxacaEYFYK2/fAKziXn3yyQQac766gVy08KYVskWWbAy7d8i87Spwm55SiHqWL5 LzIuNy+dFh9Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759106" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:20 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:42:00 +0800 Message-Id: <20210325084202.17856-12-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 11/13] conf/vf_l3fwd_lpm_ipv6_kernelpf: configuration 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" add vf_l3fwd_lpm_ipv6_kernelpf suite testing configuration. Signed-off-by: yufengmx --- conf/vf_l3fwd_lpm_ipv6_kernelpf.cfg | 59 +++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 conf/vf_l3fwd_lpm_ipv6_kernelpf.cfg diff --git a/conf/vf_l3fwd_lpm_ipv6_kernelpf.cfg b/conf/vf_l3fwd_lpm_ipv6_kernelpf.cfg new file mode 100644 index 00000000..90440fab --- /dev/null +++ b/conf/vf_l3fwd_lpm_ipv6_kernelpf.cfg @@ -0,0 +1,59 @@ +# Users could change these configuration on demand: +# +# detail content reference to ``vf_l3fwd_kernelpf.cfg`` +# + +[suite] +test_duration = 60 +accepted_tolerance = 1 + +test_parameters = { + '1C/1T-1Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '1C/2T-2Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '2C/2T-2Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '2C/4T-4Q': ['64', '128', '256', '512', '1024', '1280', '1518',], + '4C/4T-4Q': ['64', '128', '256', '512', '1024', '1280', '1518',],} + +expected_throughput = { + 'test_perf_vf_throughput_ipv6_lpm': { + 'niantic': { + '1C/1T-1Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '1C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/2T-2Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '2C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', }, + '4C/4T-4Q': { + '64': '0.00', + '128': '0.00', + '256': '0.00', + '512': '0.00', + '1024': '0.00', + '1280': '0.00', + '1518': '0.00', },},},} From patchwork Thu Mar 25 08:42:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89829 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 0A90CA0A02; Thu, 25 Mar 2021 09:49:26 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 04220140D62; Thu, 25 Mar 2021 09:49:26 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id B58B9140D19 for ; Thu, 25 Mar 2021 09:49:23 +0100 (CET) IronPort-SDR: K6jlNO0R0pexGvEOxyXmG6c2SWH4DavI9RxOde1P5hxJOvhHN/RjAIZMg02HCsCSeQ6axj0cuy aZTwYUgcV1CA== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009512" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009512" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:23 -0700 IronPort-SDR: re32U1bIpf4mqmEedTCSdkuclkZMgaamaiePBoS2c/an2T6I49LZ24CzraY+BOcH02XokO++L3 /zWAUGFWIeig== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759132" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:22 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:42:01 +0800 Message-Id: <20210325084202.17856-13-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 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) From patchwork Thu Mar 25 08:42:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 89830 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 30EE6A0A0A; Thu, 25 Mar 2021 09:49:27 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 29FC9140D24; Thu, 25 Mar 2021 09:49:27 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 5FC454067B for ; Thu, 25 Mar 2021 09:49:25 +0100 (CET) IronPort-SDR: BTqe1NG03AIQYqvo9p5A1wTHgrt5DpZyRt2s4Zm5zAkTHppGIlK9oN2IAkQipKCFh3yTLLBDq1 44yUtTNaRgvg== X-IronPort-AV: E=McAfee;i="6000,8403,9933"; a="276009517" X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="276009517" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2021 01:49:25 -0700 IronPort-SDR: S9b60iXNivDcfOngThu1u+JaQ1gV3XxrucRUUdNdhtgjPJzyOG5PCRyi1LkrO8Pwyp9ec+GtzZ xAPCk9vLNksA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,277,1610438400"; d="scan'208";a="376759155" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by orsmga006.jf.intel.com with ESMTP; 25 Mar 2021 01:49:23 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Thu, 25 Mar 2021 16:42:02 +0800 Message-Id: <20210325084202.17856-14-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210325084202.17856-1-yufengx.mo@intel.com> References: <20210325084202.17856-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V2 13/13] tests/perf_test_base: 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" stage 2 demand as below #. accepted_tolerance in [test suit].cfg are changed to percentage, if not set, it will be set to 2% by default. #. delta in json are chagned to percentage. #. add expected throughput in json. #. expected_throughput will be forced to NA if it not set. #. add new conf throughput_stat_sample_interval in conf/.cfg, which indicates interval of getting throughput statistics in second, e.g. throughput_stat_sample_interval = 10 if not set, it will be set to 5 seconds by default. #. collect better statistics , get multiple throughput statistics during the test run, and compute the average as the final results. Every seconds get throughput once, so it gets multiple throughput statistics during the test run, remove the max and the min, then compute the average of the left as the final throughput. Signed-off-by: yufengmx --- tests/perf_test_base.py | 84 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 78 insertions(+), 6 deletions(-) diff --git a/tests/perf_test_base.py b/tests/perf_test_base.py index 4b76e6b1..378db7db 100644 --- a/tests/perf_test_base.py +++ b/tests/perf_test_base.py @@ -38,6 +38,7 @@ import time import traceback import texttable import json +import numpy as np from enum import Enum, unique from pprint import pformat from itertools import product @@ -109,6 +110,12 @@ class STREAM_TYPE(Enum): RAW = 'RAW' +@unique +class STAT_ALGORITHM(Enum): + ONE = "one" + MEAN = "mean" + + HEADER_SIZE = { 'ether': 18, 'ipv4': 20, @@ -449,6 +456,37 @@ class PerfTestBase(object): time.sleep(self.__traffic_stop_wait_time) return result + def __throughput_set_traffic_opt(self, duration): + option = { + 'method': 'throughput', + 'duration': duration, + 'interval': self.__throughput_stat_sample_interval, + } + return option + + def __throughput_calculate_result(self, result): + if self.__stat_algorithm is STAT_ALGORITHM.ONE: + return result + + if not result or len(result) <= 0: + msg = "failed to get throughput stat" + self.logger.error(msg) + return (0.0, 0.0) + + result = sorted(result) + if self.__stat_algorithm is STAT_ALGORITHM.MEAN: + result = result[1:-1] if len(result) >= 5 else result + bps, pps = [], [] + for v1, v2 in result: + bps.append(v1), pps.append(v2) + ret_stat = round(np.array(bps).mean(), 1), round(np.array(pps).mean(), 1) + else: + msg = f"current not support algorithm <{self.__stat_algorithm}>" + self.logger.warning(msg) + ret_stat = (0.0, 0.0) + + return ret_stat + def __throughput(self, l3_proto, mode, frame_size): """ measure __throughput according to Layer-3 Protocol and Lookup Mode @@ -464,11 +502,11 @@ class PerfTestBase(object): option = { 'stream': streams, 'rate': 100, - 'traffic_opt': { - 'method': 'throughput', - 'duration': duration, }} + 'traffic_opt': self.__throughput_set_traffic_opt(duration), + } # run traffic result = self.__send_packets_by_pktgen(option) + result = self.__throughput_calculate_result(result) # statistics result _, pps = result self.verify(pps > 0, "No traffic detected") @@ -871,7 +909,8 @@ class PerfTestBase(object): def __json_throughput(self, value): return {"unit": "Mpps", "name": "Throughput", "value": round(value[0], 3), - "delta": round(value[1], 3), + "delta": value[1], + "expected": value[2], } def __json_rate_percent(self, value): @@ -987,12 +1026,16 @@ class PerfTestBase(object): expected, pps, round(gap, 2)) self.logger.error(msg) else: - expected = pps + expected = None msg = ('{0} {1} expected throughput value is not set, ' 'ignore check').format(config, frame_size) self.logger.warning(msg) status = 'pass' - js_results.append([status, [pps, pps - expected], percentage, config, frame_size]) + js_results.append([ + status, + [pps, (str(round((pps - expected)/expected * 100, 3) ) + '%') if expected is not None else "N/A", + round(expected, 3) if expected is not None else "N/A"], + percentage, config, frame_size]) # save data with json format self.__save_throughput_result(self.__cur_case, js_results) # display result table @@ -1394,11 +1437,40 @@ class PerfTestBase(object): self.__valports = port_list return port_list + @property + def __stat_algorithm(self): + algorithm_type = get_enum_name( + self.__test_content.get('stat_algorithm') or 'one', STAT_ALGORITHM) + return algorithm_type + + @property + def __throughput_stat_sample_interval(self): + if self.__stat_algorithm is STAT_ALGORITHM.ONE: + return None + else: + return self.__test_content.get('throughput_stat_sample_interval') or 5 + + def __parse_accepted_tolerance(self): + tolerance = self.__test_content.get('accepted_tolerance') + def get_num(value): + pat = "(\d+\.?\d?)" + result = re.findall(pat, value) + return result[0] if result else '2.0' + + if isinstance(tolerance, int): + _tolerance = float(tolerance) + elif isinstance(tolerance, str): + _tolerance = float(tolerance if tolerance.isdigit() else get_num(tolerance)) + else: + _tolerance = None + self.__test_content['accepted_tolerance'] = float(_tolerance or 2.0) + def perf_preset_test_environment(self, test_content): # if user set port list in cfg file, use port_list = self.__preset_port_list(test_content) # get test content self.__test_content = self.__get_test_content_from_cfg(test_content) + self.__parse_accepted_tolerance() # prepare target source code application self.__preset_compilation() # set up testing environment