From patchwork Tue Mar 30 07:05:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90059 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 750A7A034F; Tue, 30 Mar 2021 09:12:32 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6C80A140D89; Tue, 30 Mar 2021 09:12:32 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id C380A40696 for ; Tue, 30 Mar 2021 09:12:29 +0200 (CEST) IronPort-SDR: pLdQFCd0m9u7gAylBFuSu/ouQSjDzdOXXys8xCKFNjPR8FNK8YZmOEsLTN0yRJS4WHMtSPJofA 2P1TE6Xytsug== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805828" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805828" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:29 -0700 IronPort-SDR: 3xfU63PdMvIMr3OJ3SJUHbbTD5xTNLSzprASKIkbawzWjEPXldy7QYsdxW8kQaOWsFal0bGJTs OhqftHkzC3xA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473117" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:27 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:13 +0800 Message-Id: <20210330070525.5056-2-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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 Tue Mar 30 07:05:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90060 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 F1BC0A0547; Tue, 30 Mar 2021 09:12:32 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EC5F5140DA1; Tue, 30 Mar 2021 09:12:32 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 3B60F406B4 for ; Tue, 30 Mar 2021 09:12:31 +0200 (CEST) IronPort-SDR: zU9ice4Bm0qvefG4j0DzlG/bkyXeMRi2D4jL+ZBq40Cpgo6VW7F8EK243JxqrjJOb6/TsE9fbc At4mvsje285Q== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805832" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805832" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:30 -0700 IronPort-SDR: sTyfgKxGjx3wrogglfUNMcbyVxNqr/DywP66KVd9jNyqnLVlZ/l6zF40kW6XFFAC4eVLBvkNBF 61zoRiSvn28Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473130" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:29 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:14 +0800 Message-Id: <20210330070525.5056-3-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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 Tue Mar 30 07:05:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90061 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 20486A034F; Tue, 30 Mar 2021 09:12:35 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1A0AC140D1A; Tue, 30 Mar 2021 09:12:35 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 039A2140DAF for ; Tue, 30 Mar 2021 09:12:32 +0200 (CEST) IronPort-SDR: RMH2d8XYboni8k3lmQMig8AQ5A4QRqyCndk6/FiBGTL7jSykjNWOLs0untCYokueAQLgCilqq9 BkGptnimaADw== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805836" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805836" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:32 -0700 IronPort-SDR: umm+7kqoOUIRMztxPZIqhuLTfbfQXmcPN6eZQgkhtVSFE7Ky/nDTPGc6hOIhrT0u3ycVYhZ+um 07DZsVO6bXfQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473139" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:31 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:15 +0800 Message-Id: <20210330070525.5056-4-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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..4a6c0e9f --- /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 Tue Mar 30 07:05:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90062 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 41FEDA034F; Tue, 30 Mar 2021 09:12:36 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C39B140DB9; Tue, 30 Mar 2021 09:12:36 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 8ECB0406B4 for ; Tue, 30 Mar 2021 09:12:34 +0200 (CEST) IronPort-SDR: J3NENAEClp05UpoxYm+WBN3eeganG2VvBsVQdJp2hCiBLtOzXl+JLWyhdiMJkrtBCm2yTip1O/ SeN9EoseftXA== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805850" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805850" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:34 -0700 IronPort-SDR: FPWBMqT2GKVOv+ZXo0b2Gb50/O345B4W/NDZJRL22tvBqTF+iCn920w856JjhvG2GmpkUb6YeQ W3Plj6Ry0lfw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473154" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:32 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:16 +0800 Message-Id: <20210330070525.5056-5-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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 Tue Mar 30 07:05:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90063 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 76483A034F; Tue, 30 Mar 2021 09:12:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6A173140DA0; Tue, 30 Mar 2021 09:12:38 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 62ADE140DBC for ; Tue, 30 Mar 2021 09:12:36 +0200 (CEST) IronPort-SDR: NRarMNR9qR751MZrWVhHZpz+gy5bEKeKj9RQxNK1sQU8MDcgDf411omNoWn9a3zZN59Wb9NMux pcZfripWa7qg== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805858" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805858" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:35 -0700 IronPort-SDR: 1Gi5nBO4vl53CqFV0C0ioTz/skYIKtdtbBJNV17Df0PreTndnSNcrAMthFWnqIURLM7pkFE/R7 XhIfql0oIWsw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473170" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:34 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:17 +0800 Message-Id: <20210330070525.5056-6-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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 | 305 ++++++++++++++++++++++++++++++++++++- 1 file changed, 301 insertions(+), 4 deletions(-) diff --git a/conf/vf_l3fwd_kernelpf.cfg b/conf/vf_l3fwd_kernelpf.cfg index 9c711770..283ed8c9 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 -accepted_tolerance = 1 +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 Tue Mar 30 07:05:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90064 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 A1143A034F; Tue, 30 Mar 2021 09:12:40 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9C1A5140DC2; Tue, 30 Mar 2021 09:12:40 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id A915C406B4 for ; Tue, 30 Mar 2021 09:12:37 +0200 (CEST) IronPort-SDR: wj/yIGo3T/8wNOt1npL84A15BxAWGeQ5jG5pjwR6K2q4OgraN7iojeTymf1BRWsDnfhdg6VCLP v5lP6MZ37P/Q== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805866" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805866" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:37 -0700 IronPort-SDR: eIYqULr4eJn1qxmqZ7EVkxEGT5QGPD7NUHKxaMk+4fNmz0Xa9HgSed6dk5OXwdfr8YzchYKrfb EqWYr7NTAEhA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473181" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:36 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:18 +0800 Message-Id: <20210330070525.5056-7-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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 Tue Mar 30 07:05:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90065 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 CA38BA0547; Tue, 30 Mar 2021 09:12:40 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C1111140DCE; Tue, 30 Mar 2021 09:12:40 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 4DD05406B4 for ; Tue, 30 Mar 2021 09:12:39 +0200 (CEST) IronPort-SDR: yYFNT74wxswmxG9oKxL/0nKkSmSfWyhn0MkIGSMqX8dyp5p7Hmz5uAK3md2S3HADzMFJUvd8VQ q2hzYZr3MmVw== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805885" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805885" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:38 -0700 IronPort-SDR: e53TkHeVx3xQ3jq0KQjsve6SWLLqYLIrBGMRCtzVN5OAZY9bReEFlooLyHyhj5KKZjUzFFv47d jnwAV3ItRHEQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473194" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:37 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:19 +0800 Message-Id: <20210330070525.5056-8-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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..fae8f10d --- /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 Tue Mar 30 07:05:20 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90066 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 01CBAA034F; Tue, 30 Mar 2021 09:12:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F129B140DA2; Tue, 30 Mar 2021 09:12:42 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 92801406B4 for ; Tue, 30 Mar 2021 09:12:40 +0200 (CEST) IronPort-SDR: ebvcNxXhl2UYn37pSasZW4/uq3oVs6rmsO++atYZ05pUci5fp7lgeLQXTyqHZHL9jam8Xog7Ya ZR1Q3sUpQGAQ== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805890" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805890" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:40 -0700 IronPort-SDR: kf/3FbVtrrGfsnQdphC7KwrZ9mcOmZtvgEcGhVY/1uLuetqnrbXqVRINwR85WVRLz1zK7xfa1j acQ0G+kbdElQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473213" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:39 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:20 +0800 Message-Id: <20210330070525.5056-9-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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 Tue Mar 30 07:05:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90067 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 2CC46A034F; Tue, 30 Mar 2021 09:12:45 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 27C74406B4; Tue, 30 Mar 2021 09:12:45 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 1155E406B4 for ; Tue, 30 Mar 2021 09:12:41 +0200 (CEST) IronPort-SDR: aT6eJ+nmYg2l7u2Ku5Qx5I2cnFVebr4+YkIiVn5BQVM+piOr3//dISmiPgclNRRBFNA5SWnGvA 0iyizU5l2jzg== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805903" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805903" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:41 -0700 IronPort-SDR: 6SOYEbbja3O0dQVvn916Gp0Y/71P6l5zZiLtT3F9/UdkwWPoJ4zH7kTXdMr58EkmJ/1vJNPdQX A7YkyR1/EKng== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473217" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:40 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:21 +0800 Message-Id: <20210330070525.5056-10-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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..afd039ed --- /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 Tue Mar 30 07:05:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90068 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 51EB3A0547; Tue, 30 Mar 2021 09:12:45 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4D248140DD2; Tue, 30 Mar 2021 09:12:45 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 64604406B4 for ; Tue, 30 Mar 2021 09:12:43 +0200 (CEST) IronPort-SDR: tEyMxksCAZmgquRNP8ClNMyCu8GMmwGTgsNVOdVctO93eJTM2FsDNsn0UMQgKSwlQTxfKD/Gm/ B76hFbKzUU3w== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805908" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805908" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:43 -0700 IronPort-SDR: OGdMfy1g7ZzwsFWr0wdXFGHxKsR/xTAEvqWB3SVWbZJW0YmJ9Tv06GekeGfuzeMmOaTEcTnv0/ EORck7I9ekow== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473227" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:41 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:22 +0800 Message-Id: <20210330070525.5056-11-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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 Tue Mar 30 07:05:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90069 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 7A0F4A0548; Tue, 30 Mar 2021 09:12:45 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6F381140DE6; Tue, 30 Mar 2021 09:12:45 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 8895740696 for ; Tue, 30 Mar 2021 09:12:44 +0200 (CEST) IronPort-SDR: V9znwVo1fpPc6AawANFsSqwHFJnbni8WpBK0Dfkrl+w1+/8qn0FRP89HPALWiw/Y+705kWLx99 WGBMLHhNaQZg== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805909" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805909" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:44 -0700 IronPort-SDR: UMK+KNyQMECn748MGqsiCRwQ6ZjI6FCPPOxTsMtIcbqFxiDM1XRX3QJvcyr1QiL8DCK3GPjDBN aJT0ytnJdvxA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473232" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:43 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:23 +0800 Message-Id: <20210330070525.5056-12-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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..ac20f6fc --- /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 Tue Mar 30 07:05:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90070 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 9E7F6A034F; Tue, 30 Mar 2021 09:12:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9A00F140DEB; Tue, 30 Mar 2021 09:12:47 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id F2613140DCD for ; Tue, 30 Mar 2021 09:12:45 +0200 (CEST) IronPort-SDR: u4Hqc19yoHDC5yZLMF044MkWWjEGfjk8EIK+/dW3j0aQa3nl9fk5ooDO0yLTeXq+1tYYSwqHU8 MzV94VXQrqMA== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805912" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805912" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:45 -0700 IronPort-SDR: EBWi/MXwK2mJe7pls4KI2v9iZ7yLfvlZzl7rSq2uJnKixt9p4MMzBcCnPNSR8sNqHDWxt2fssB QL8K44oPVhOw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473238" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:44 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:24 +0800 Message-Id: <20210330070525.5056-13-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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 Tue Mar 30 07:05:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yufen.Mo" X-Patchwork-Id: 90071 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 CEE39A034F; Tue, 30 Mar 2021 09:12:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CA13D140DCD; Tue, 30 Mar 2021 09:12:48 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 5FF36140DCD for ; Tue, 30 Mar 2021 09:12:47 +0200 (CEST) IronPort-SDR: pJ6SZSxNrBujXK/LD5Wyih3G0M5O+NZpV/gbCpkti63FIbW8KSsJDDNk+w2ZpbTQcy1sPi1K6o U6RCqs6yzzuQ== X-IronPort-AV: E=McAfee;i="6000,8403,9938"; a="191805914" X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="191805914" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Mar 2021 00:12:47 -0700 IronPort-SDR: J8B27wQiPsXOr+lOepYP88Y90NLbBCgWWeJu5FWI+mg6XqxQoza08ZB8NRt0cswfnDhovudUXV rkG6L0c2PPcQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,290,1610438400"; d="scan'208";a="411473248" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga008.fm.intel.com with ESMTP; 30 Mar 2021 00:12:45 -0700 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Tue, 30 Mar 2021 15:05:25 +0800 Message-Id: <20210330070525.5056-14-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210330070525.5056-1-yufengx.mo@intel.com> References: <20210330070525.5056-1-yufengx.mo@intel.com> MIME-Version: 1.0 Subject: [dts] [PATCH V4 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..ba18560c 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, 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