From: hanyingya <yingyax.han@intel.com>
To: dts@dpdk.org
Cc: hanyingya <yingyax.han@intel.com>
Subject: [dts] [PATCH V1]l3fwd_em: remove perf test cases
Date: Wed, 29 Sep 2021 13:57:13 +0800 [thread overview]
Message-ID: <20210929055713.2808889-1-yingyax.han@intel.com> (raw)
the cases have been covered by L3fwd suite.
Signed-off-by: hanyingya <yingyax.han@intel.com>
---
test_plans/l3fwd_em_test_plan.rst | 174 ------------------------------
tests/TestSuite_l3fwd_em.py | 89 ---------------
2 files changed, 263 deletions(-)
delete mode 100644 test_plans/l3fwd_em_test_plan.rst
delete mode 100644 tests/TestSuite_l3fwd_em.py
diff --git a/test_plans/l3fwd_em_test_plan.rst b/test_plans/l3fwd_em_test_plan.rst
deleted file mode 100644
index 7f4fefd1..00000000
--- a/test_plans/l3fwd_em_test_plan.rst
+++ /dev/null
@@ -1,174 +0,0 @@
-.. Copyright (c) <2011-2017>, Intel Corporation
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of Intel Corporation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- OF THE POSSIBILITY OF SUCH DAMAGE.
-
-===============================
-L3 Forwarding Exact Match Tests
-===============================
-
-The Layer-3 Forwarding results are produced using ``l3fwd`` application.
-
-Prerequisites
-=============
-
-1. Hardware requirements:
-
- - For each CPU socket, each memory channel should be populated with at least 1x DIMM
- - Board is populated with 4x 1GbE or 10GbE ports. Special PCIe restrictions may
- be required for performance. For example, the following requirements should be
- met for Intel 82599 (Niantic) NICs:
-
- - NICs are plugged into PCIe Gen2 or Gen3 slots
- - For PCIe Gen2 slots, the number of lanes should be 8x or higher
- - A single port from each NIC should be used, so for 4x ports, 4x NICs should
- be used
-
- - NIC ports connected to traffic generator. It is assumed that the NIC ports
- P0, P1, P2, P3 (as identified by the DPDK application) are connected to the
- traffic generator ports TG0, TG1, TG2, TG3. The application-side port mask of
- NIC ports P0, P1, P2, P3 is noted as PORTMASK in this section.
-
-2. BIOS requirements:
-
- - Intel Hyper-Threading Technology is ENABLED
- - Hardware Prefetcher is DISABLED
- - Adjacent Cache Line Prefetch is DISABLED
- - Direct Cache Access is DISABLED
-
-3. Linux kernel requirements:
-
- - Linux kernel has the following features enabled: huge page support, UIO, HPET
- - Appropriate number of huge pages are reserved at kernel boot time
- - The IDs of the hardware threads (logical cores) per each CPU socket can be
- determined by parsing the file /proc/cpuinfo. The naming convention for the
- logical cores is: C{x.y.z} = hyper-thread z of physical core y of CPU socket x,
- with typical values of x = 0 .. 3, y = 0 .. 7, z = 0 .. 1. Logical cores
- C{0.0.1} and C{0.0.1} should be avoided while executing the test, as they are
- used by the Linux kernel for running regular processes.
-
-4. Software application requirements
-
-5. If using vfio the kernel must be >= 3.6+ and VT-d must be enabled in bios.When
- using vfio, use the following commands to load the vfio driver and bind it
- to the device under test::
-
- modprobe vfio
- modprobe vfio-pci
- usertools/dpdk-devbind.py --bind=vfio-pci device_bus_id
-
-- In hash mode, the hash table used for packet routing is:
-
-|
-
-+-------+-------------+-----------+-------------+-----------+-----------+--------+
-| # | IPv4 | IPv4 | Port | Port | L4 | Output |
-| | destination | source | destination | source | protocol | port |
-| | address | address | | | | |
-+-------+-------------+-----------+-------------+-----------+-----------+--------+
-| 0 | 201.0.0.0 | 200.20.0.1| 102 | 12 | TCP | P1 |
-+-------+-------------+-----------+-------------+-----------+-----------+--------+
-| 1 | 101.0.0.0 | 100.10.0.1| 101 | 11 | TCP | P0 |
-+-------+-------------+-----------+-------------+-----------+-----------+--------+
-| 2 | 211.0.0.0 | 200.40.0.1| 102 | 12 | TCP | P3 |
-+-------+-------------+-----------+-------------+-----------+-----------+--------+
-| 3 | 111.0.0.0 | 100.30.0.1| 101 | 11 | TCP | P2 |
-+-------+-------------+-----------+-------------+-----------+-----------+--------+
-
-
-6. Traffic generator requirements
-
-The flows need to be configured and started by the traffic generator:
-
-|
-
-+------+---------+----------+-----------+------+-------+--------+----------------------------------+
-| Flow | Traffic | IPv4 | IPv4 | Port | Port | L4 | IPv4 |
-| | Gen. | Dst. | Src. | Dst. | Src. | Proto. | Dst Addr |
-| | Port | Address | Address | | | | Mask(Continuous Increment Host) |
-+------+---------+----------+-----------+------+-------+--------+----------------------------------+
-| 1 | TG0 | 201.0.0.0| 200.20.0.1| 102 | 12 | TCP | 255.240.0.0 |
-+------+---------+----------+-----------+------+-------+--------+----------------------------------+
-| 2 | TG1 | 101.0.0.0| 100.10.0.1| 101 | 11 | TCP | 255.240.0.0 |
-+------+---------+------------+---------+------+-------+--------+----------------------------------+
-
-
-
-|
-
-The queue column represents the expected NIC port RX queue where the packet
-should be written by the NIC hardware when RSS is enabled for that port.
-
-Test Case: Layer-3 Forwarding (in Hash Mode)
-============================================
-
-The following items are configured through the command line interface of the
-application:
-
- - The set of one or several RX queues to be enabled for each NIC port
- - The set of logical cores to execute the packet forwarding task
- - Mapping of the NIC RX queues to logical cores handling them.
- - The set of hash-entry-num for the exact match
-
-The test report should provide the throughput rate measurements (in mpps
-and % of the line rate for 4x NIC ports) as listed in the table below:
-
-|
-
-+----+---------+---------+-------------+---------+----------+------------------+
-| # |Number of|Total |Number |Total |Number | Throughput Rate |
-| |RX Queues|Number of|of Sockets/ |Number of|of NIX RX | Exact Match Mode |
-| |per NIC |NIC RX |Cores/Threads|Threads |Queues per+------------------+
-| |Port |Queues | | |Thread | mpps | % |
-+----+---------+---------+-------------+---------+----------+--------+---------+
-| 1 | 1 |2 |1S/1C/1T |1 |1 | | |
-+----+---------+---------+-------------+---------+----------+--------+---------+
-| 2 | 1 |2 |1S/2C/1T |2 |1 | | |
-+----+---------+---------+-------------+---------+----------+--------+---------+
-| 3 | 2 |4 |1S/4C/1T |4 |2 | | |
-+----+---------+---------+-------------+---------+----------+--------+---------+
-
-
-The application command line associated with each of the above tests is
-presented in the table below. The test report should present this table with
-the actual command line used, replacing the PORTMASK and C{x.y.z} with their
-actual values used during test execution.
-
-|
-
-+-----+----------------------------------------------------------------------------------------------------------------------+
-| # | Command Line |
-+-----+----------------------------------------------------------------------------------------------------------------------+
-|1 |./l3fwd -c coremask -n 3 -- -E -p 0x3 --config '(P0,0,C{0.1.0}),(P1,0,C{0.1.0})' |
-+-----+----------------------------------------------------------------------------------------------------------------------+
-|2 |./l3fwd -c coremask -n 3 -- -E -p 0x3 --config '(P0,0,C{0.1.0}),(P1,0,C{0.2.0})' |
-+-----+----------------------------------------------------------------------------------------------------------------------+
-|3 |./l3fwd -c coremask -n 3 -- -E -p 0x3 --config '(P0,0,C{0.1.0}),(P0,1,C{0.2.0}),(P1,0,C{0.3.0}),(P1,1,C{0.4.0})' |
-+-----+----------------------------------------------------------------------------------------------------------------------+
diff --git a/tests/TestSuite_l3fwd_em.py b/tests/TestSuite_l3fwd_em.py
deleted file mode 100644
index 4879b503..00000000
--- a/tests/TestSuite_l3fwd_em.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# 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.
-
-"""
-DPDK Test suite.
-Layer-3 forwarding test script.
-"""
-from test_case import TestCase
-from perf_test_base import PerfTestBase, MATCH_MODE, IP_TYPE
-
-
-class TestL3fwdEm(TestCase, PerfTestBase):
- #
- # Test cases.
- #
- def set_up_all(self):
- """
- Run at the start of each test suite.
- L3fwd Prerequisites
- """
- # Based on h/w type, choose how many ports to use
- 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/8C/1T", socket=socket)
- self.verify(cores is not None, "Insufficient cores for speed testing")
- # init l3fwd common base class parameters
- PerfTestBase.__init__(self, valports, socket)
- # preset testing environment
- self.perf_preset_test_environment(self.get_suite_cfg())
-
- def tear_down_all(self):
- """
- Run after each test suite.
- """
- 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_throughput_ipv4_em(self):
- self.perf_set_cur_case('test_perf_throughput_ipv4_em')
- self.ms_throughput(l3_proto=IP_TYPE.V4, mode=MATCH_MODE.EM)
-
- def test_perf_throughput_ipv6_em(self):
- self.perf_set_cur_case('test_perf_throughput_ipv6_em')
- self.ms_throughput(l3_proto=IP_TYPE.V6, mode=MATCH_MODE.EM)
--
2.25.1
next reply other threads:[~2021-09-29 6:06 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-29 5:57 hanyingya [this message]
2021-10-25 3:31 ` Tu, Lijuan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210929055713.2808889-1-yingyax.han@intel.com \
--to=yingyax.han@intel.com \
--cc=dts@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).