* [dts] [PATCH V1] test_plans/loadbalancer: remove example
@ 2021-09-18 2:08 Yu Jiang
2021-09-18 2:08 ` [dts] [PATCH V1] test_plans/netmap_compat: " Yu Jiang
2021-09-27 5:58 ` [dts] [PATCH V1] test_plans/loadbalancer: " Tu, Lijuan
0 siblings, 2 replies; 4+ messages in thread
From: Yu Jiang @ 2021-09-18 2:08 UTC (permalink / raw)
To: dts; +Cc: Yu Jiang
According to DPDK commit id ab6ebd7020("examples/load_balancer: remove example"),
remove this plan and suite.
Signed-off-by: Yu Jiang <yux.jiang@intel.com>
---
test_plans/index.rst | 1 -
test_plans/loadbalancer_test_plan.rst | 194 ----------------------------------
tests/TestSuite_loadbalancer.py | 154 ---------------------------
3 files changed, 349 deletions(-)
delete mode 100644 test_plans/loadbalancer_test_plan.rst
delete mode 100644 tests/TestSuite_loadbalancer.py
diff --git a/test_plans/index.rst b/test_plans/index.rst
index b5aaec5..d9dbc2a 100644
--- a/test_plans/index.rst
+++ b/test_plans/index.rst
@@ -179,7 +179,6 @@ The following are the test plans for the DPDK DTS automated test system.
vxlan_test_plan
af_xdp_test_plan
l2fwd_jobstats_test_plan
- loadbalancer_test_plan
loopback_multi_queues_test_plan
telemetry_test_plan
compressdev_isal_pmd_test_plan
diff --git a/test_plans/loadbalancer_test_plan.rst b/test_plans/loadbalancer_test_plan.rst
deleted file mode 100644
index b5cc769..0000000
--- a/test_plans/loadbalancer_test_plan.rst
+++ /dev/null
@@ -1,194 +0,0 @@
-.. Copyright (c) <2011>, 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.
-
-=============
-Load Balancer
-=============
-
-This test case uses the Load Balancer sample application to benchmark the
-concept of isolating the packet I/O task from the application specific workload.
-A number of lcores are dedicated to handle the interaction with the NIC ports
-(I/O lcores), while the rest of the lcores are dedicated to performing the
-application processing (worker lcores). The worker lcores are totally oblivious
-to the intricacies of the packet I/O activity and use the NIC-agnostic interface
-provided by SW rings to exchange packets with the I/O cores.
-
-Prerequisites
-=============
-
-1. Hardware requirements
-
-- For each CPU socket, each memory channel should be populated with at least
- 1x DIMM.
-- If the PCIe controller is on the CPU, then each CPU socket is populated with
- the same number of NICs (2x or 4x NICs per CPU socket);
-- Special PCIe restrictions may be required for performance. For example, the
- following requirements should be met for 10GbE 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 card should be used, so for 4x ports, 4x NICs
- should be connected to the traffic generator.
-
-2. BIOS requirements
-
-- 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 configuration
-
-The application configuration is done through the command line:
-
-- -c COREMASK: Reunion of all the cores specified by the --rx, --tx and --w
- parameters.
-- --rx and --tx: These parameters are used to provide the list of lcores used
- for packet I/O, plus the list of the RX ports & queues, as well as the list
- of TX ports, that are handled by each of the packet I/O lcores;
-- The RX and TX of the NICs that are physically attached (through PCIe) to a
- specific CPU socket should always be handled by lcores from the same socket;
-- The RX and TX of the same port can be handled by different lcores, depending
- on the usecase, therefore the set of RX lcores can be different than the set
- of TX lcores;
-- Typical configurations enabled for the I/O cores for each CPU socket (as long
- as the conditions below are met, the actual lcore IDs are irrelevant):
-
- - Single lcore handling the RX and TX for all the NICs connected to its CPU
- socket. Its sibling hyper-thread should not be used by the application;
-
-- One lcore handling the RX and TX for a single NIC port (with its sibling
- hyper-thread not used by the application). For each CPU socket, there are N
- physical cores used for packet I/O for N NIC ports;
-- One lcore handling the RX for all the NIC ports connected to its CPU socket
- and another lcore handling the TX for the same NIC ports (with the sibling
- hyper-threads not used by the application). For each CPU socket, there are 2
- physical cores used for packet I/O for N NIC ports;
-- --w: This parameter specifies the list of worker lcores;
-
- - A worker lcore cannot be a packet I/O lcore;
- - Typical configurations enabled for each CPU socket: 1 / 2 / 4 / 8. Each
- worker should be allocated on a different physical core. For 8 workers
- (per CPU socket), if not enough physical cores, both hyper-threads of 4
- physical cores can be used. As long as these conditions are met, the
- actual lcore IDs are irrelevant.
-
-- --lpm: IPv4 routing table;
- - Typically, there is a single rule for each TX port and the address spaces
- of the rules do not overlap, e.g. for each TX_PORT used by the
- application, the rule "10.0.TX_PORT.0/24 => TX_PORT" is included in the
- list.
-- --rsz: Ring sizes
- - Typically, the default values are used (parameter not present in the
- command line).
-- --bsz: Burst sizes
- - Typically, the default values are used (parameter not present in the
- command line).
-- --pos-lb: Position of the 1-byte header field within the input packet that is
- used to determine the worker ID for each packet
-
- - Typically, the default value is used (parameter not present in the
- command line).
-
-5. Traffic generator configuration
-
-The application is used to benchmark the penalty of packets going across
-different CPU sockets. In the general case, the input packets are RX-ed by NIC
-connected to CPU socket X, dispatched to worker running on CPU socket Y, TX-ed
-by NIC connected to CPU socket Z. The typical cases under test are: AAA, AAB,
-ABB, ABC (for 2-socket systems, ABC is actually ABA).
-
-The worker ID is determined by reading a 1-byte field from the input packet. Its
-position is specified using the --pos-lb command line argument. For convenience,
-the --pos-lb argument typically points to the last byte of the IPv4 source
-address, e.g. the IPv4 source address for a traffic flow that shoud be processed
-by WORKER_ID is: 0.0.0.WORKER_ID.
-
-The TX port is determined by the LPM rule that is hit by the IPv4 destination
-address field read from each packet. Therefore, the traffic generator
-configuration has to be in sync with the routing table of the application
-(provided using the --lpm parameter). Given the convention described above of
-LPM rules of: "10.0.TX_PORT.0/24 => TX_PORT", then packets with IPv4 destination
-address of 10.0.TX_PORT.1 will be sent out by TX_PORT, regardless of the worker
-lcore processing them.
-
-For a specific test case, the recommended flow configuration for each traffic
-generator port (connected to a NIC attached to CPU socket X) is to create a
-traffic flow for each pair of (worker on CPU socket Y, NIC TX port on CPU
-socket Z) and equally divide the TX rate amongst all the traffic flows on the
-same traffic generator port. This guarantees that all the workers on CPU
-socket Y will be hit evenly and none of the NIC TX ports on CPU socket Z will be
-oversubscribed.
-
-In this case, the same set of application command lines (testing different
-packet I/O and worker set configurations) can be applied with no modifications
-to test scenarios AAA, AAB, ABB, ABC/ABA by simply modifying two fields within
-each of the traffic flows sent by the traffic generator on each of its ports.
-
-Test Case: Load Balancer
-========================
-
-Assuming that Logical core 4, 5, 6, 7 are connected to a traffic generator,
-launch the ``load_balancer`` with the following arguments::
-
- ./examples/load_balancer/build/load_balancer -l 3-7 -n 4 -- \
- --rx "(0,0,3),(1,0,3),(2,0,3),(3,0,3)" \
- --tx "(0,3),(1,3),(2,3),(3,3)" --w "4,5,6,7" \
- --lpm "1.0.0.0/24=>0;1.0.1.0/24=>1;1.0.2.0/24=>2;1.0.3.0/24=>3; " \
- --bsz "(10, 10), (10, 10), (10, 10)" --pos-lb 29
-
-If the app run successfully, it will be the same as the shown in the terminal. ::
-
- ...
- LPM rules:
- 0: 1.0.0.0/24 => 0;
- 1: 1.0.1.0/24 => 1;
- 2: 1.0.2.0/24 => 2;
- 3: 1.0.3.0/24 => 3;
- Ring sizes: NIC RX = 1024; Worker in = 1024; Worker out = 1024; NIC TX = 1024;
- Burst sizes: I/O RX (rd = 10, wr = 10); Worker (rd = 10, wr = 10); I/O TX (rd = 10, wr = 10)
- Logical core 4 (worker 0) main loop.
- Logical core 5 (worker 1) main loop.
- Logical core 6 (worker 2) main loop.
- Logical core 7 (worker 3) main loop.
- Logical core 3 (I/O) main loop.
diff --git a/tests/TestSuite_loadbalancer.py b/tests/TestSuite_loadbalancer.py
deleted file mode 100644
index 84e534c..0000000
--- a/tests/TestSuite_loadbalancer.py
+++ /dev/null
@@ -1,154 +0,0 @@
-# BSD LICENSE
-#
-# Copyright(c) 2020 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.
-
-Test Load Balancer.
-
-"""
-
-import dts
-from packet import Packet
-from test_case import TestCase
-import utils
-import time
-
-
-class TestLoadbalancer(TestCase):
-
- def set_up_all(self):
- """
- Run at the start of each test suite.
-
- Load Balancer prerequisites.
- """
- # Verify that enough ports are available
- global dutPorts
- # Based on h/w type, choose how many ports to use
- dutPorts = self.dut.get_ports(self.nic)
-
- # Verify that enough ports are available
- self.verify(len(dutPorts) >= 4, "Insufficient ports for testing")
-
- cores = self.dut.get_core_list("all")
- self.verify(len(cores) >= 5, "Insufficient cores for testing")
- self.cores = self.dut.get_core_list("1S/5C/1T")
- self.coremask = utils.create_mask(self.cores)
-
- global rx_port0, rx_port1, rx_port2, rx_port3, trafficFlow
- rx_port0 = self.tester.get_local_port(dutPorts[0])
- rx_port1 = self.tester.get_local_port(dutPorts[1])
- rx_port2 = self.tester.get_local_port(dutPorts[2])
- rx_port3 = self.tester.get_local_port(dutPorts[3])
-
- """
- Designation the traffic flow is the same as LPM rules, send and receive packet verification:
- 0: 1.0.0.0/24 => 0;
- 1: 1.0.1.0/24 => 1;
- 2: 1.0.2.0/24 => 2;
- 3: 1.0.3.0/24 => 3;
- """
- trafficFlow = {
- "Flow1": [rx_port0, "1.0.0.1"],
- "Flow2": [rx_port1, "1.0.1.1"],
- "Flow3": [rx_port2, "1.0.2.1"],
- "Flow4": [rx_port3, "1.0.3.1"],
- }
-
- out = self.dut.build_dpdk_apps("examples/load_balancer")
- self.verify("Error" not in out, "compilation error 1")
- self.verify("No such file" not in out, "compilation error 2")
-
- def set_up(self):
- """
- Run before each test case.
- """
- pass
-
- def test_load_balancer(self):
- """
- --rx: Set the receive port, queue and main core;
- --tx: Set the send port and main core;
- --w: specify 4 workers lcores,
- --lpm: IPv4 routing table,
- --bsz: The number of packet is 10 for transceivers,
- --pos-lb: Position of the 1-byte header field within the input packet that is used to
- determine the worker ID for each packet
- """
-
- cmd = './examples/load_balancer/build/load_balancer -l {0}-{1} -n 4 -- --rx "(0,0,{2}),(1,0,{2}),(2,0,{2}),(3,0,{2})" '\
- '--tx "(0,{2}),(1,{2}),(2,{2}),(3,{2})" --w "{3},{4},{5},{6}" '\
- '--lpm "1.0.0.0/24=>0;1.0.1.0/24=>1;1.0.2.0/24=>2;1.0.3.0/24=>3;" '\
- '--bsz "(10, 10), (10, 10), (10, 10)" --pos-lb 29'.format(self.cores[0], self.cores[4], self.cores[0], self.cores[1], self.cores[2], self.cores[3], self.cores[4])
-
- self.dut.send_expect(cmd, 'main loop.')
-
- # Verify the traffic flow according to Ipv4 route table
- for flow in list(trafficFlow.keys()):
- rx_port = trafficFlow[flow][0]
-
- for i in range(len(dutPorts)):
- dstport = self.tester.get_local_port(dutPorts[i])
- pkt_count = 10
- inst = self.tester.tcpdump_sniff_packets(intf=self.tester.get_interface(rx_port), count=pkt_count)
-
- pkt = Packet(pkt_type='UDP', pkt_len=64)
- dst_mac = self.dut.get_mac_address(dutPorts[i])
- pkt.config_layer('ether', {'dst': '%s' % dst_mac})
- pkt.config_layer('ipv4', {'src': "0.0.0.1", 'dst': '%s' % (trafficFlow[flow][1])})
- pkt.send_pkt(self.tester, tx_port=self.tester.get_interface(dstport), count=10)
- # Wait for the sniffer to finish.
- time.sleep(5)
-
- pkts = self.tester.load_tcpdump_sniff_packets(inst)
- len_pkts = len(pkts)
-
- self.verify(len_pkts == pkt_count, "Packet number is wrong")
- for i in range(len_pkts):
- result = str(pkts[i].show)
- self.verify("Ether" in result, "No packet received")
- self.verify("src=0.0.0.1" + " dst=" + trafficFlow[flow][1] in result, "Wrong IP address")
- self.verify("dst=%s" % dst_mac in result, "No packet received or packet missed")
-
- self.dut.send_expect("^C", "#")
-
- def tear_down(self):
- """
- Run after each test case.
- """
- self.dut.kill_all()
-
- def tear_down_all(self):
- """
- Run after each test suite.
- """
- pass
--
2.7.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* [dts] [PATCH V1] test_plans/netmap_compat: remove example
2021-09-18 2:08 [dts] [PATCH V1] test_plans/loadbalancer: remove example Yu Jiang
@ 2021-09-18 2:08 ` Yu Jiang
2021-09-27 5:52 ` Tu, Lijuan
2021-09-27 5:58 ` [dts] [PATCH V1] test_plans/loadbalancer: " Tu, Lijuan
1 sibling, 1 reply; 4+ messages in thread
From: Yu Jiang @ 2021-09-18 2:08 UTC (permalink / raw)
To: dts; +Cc: Yu Jiang
According to DPDK commit id d82610b940("examples/netmap-compat: remove example"),
remove this plan and suite.
Signed-off-by: Yu Jiang <yux.jiang@intel.com>
---
conf/app_name.cfg | 1 -
test_plans/index.rst | 1 -
test_plans/netmap_compat_test_plan.rst | 104 -------------------------
tests/TestSuite_netmap_compat.py | 136 ---------------------------------
4 files changed, 242 deletions(-)
delete mode 100644 test_plans/netmap_compat_test_plan.rst
delete mode 100644 tests/TestSuite_netmap_compat.py
diff --git a/conf/app_name.cfg b/conf/app_name.cfg
index 1de492b..e1fc497 100644
--- a/conf/app_name.cfg
+++ b/conf/app_name.cfg
@@ -65,7 +65,6 @@ simple_mp=target/examples/dpdk-simple_mp
symmetric_mp=target/examples/dpdk-symmetric_mp
cmdline=target/examples/dpdk-cmdline
distributor=target/examples/dpdk-distributor
-netmap_compat=target/examples/dpdk-netmap_compat
node=target/examples/dpdk-efd_node
server=target/examples/dpdk-efd_server
testpmd_vf=target/app/dpdk-testpmd-vf
diff --git a/test_plans/index.rst b/test_plans/index.rst
index d9dbc2a..9cff854 100644
--- a/test_plans/index.rst
+++ b/test_plans/index.rst
@@ -276,7 +276,6 @@ The following are the test plans for the DPDK DTS automated test system.
hello_world_test_plan
keep_alive_test_plan
multiprocess_test_plan
- netmap_compat_test_plan
rxtx_callbacks_test_plan
skeleton_test_plan
timer_test_plan
diff --git a/test_plans/netmap_compat_test_plan.rst b/test_plans/netmap_compat_test_plan.rst
deleted file mode 100644
index d733004..0000000
--- a/test_plans/netmap_compat_test_plan.rst
+++ /dev/null
@@ -1,104 +0,0 @@
-.. Copyright (c) <2010-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.
-
-==============================================
-Sample Application Tests: Netmap Compatibility
-==============================================
-
-Introduction
-============
-
-The Netmap compatibility library provides a minimal set of APIs to give programs written against the Netmap APIs
-the ability to be run, with minimal changes to their source code, using the DPDK to perform the actual packet I/O.
-
-Since Netmap applications use regular system calls, like ``open()``, ``ioctl()`` and
-``mmap()`` to communicate with the Netmap kernel module performing the packet I/O,
-the ``compat_netmap`` library provides a set of similar APIs to use in place of those system calls,
-effectively turning a Netmap application into a DPDK application.
-
-The provided library is currently minimal and doesn't support all the features that Netmap supports,
-but is enough to run simple applications, such as the bridge example detailed below.
-
-Knowledge of Netmap is required to understand the rest of this section.
-Please refer to the Netmap distribution for details about Netmap.
-
-Running the "bridge" Sample Application
-=======================================
-
-The application requires a single command line option::
-
- ./build/bridge [EAL options] -- -i INTERFACE_A [-i INTERFACE_B]
-
-Where:
-
-* ``-i INTERFACE``: Interface (DPDK port number) to use.
-
- If a single ``-i`` parameter is given, the interface will send back all the traffic it receives.
- If two ``-i`` parameters are given, the two interfaces form a bridge,
- where traffic received on one interface is replicated and sent to the other interface.
-
-For example, to run the application in a linuxapp environment using port 0 and 2::
-
- ./build/bridge [EAL options] -- -i 0 -i 2
-
-Refer to the *DPDK Getting Started Guide for Linux* for general information on running applications and
-the Environment Abstraction Layer (EAL) options.
-
-Test Case1: netmap compat with one port
-=======================================
-Run bridge with one port::
-
- ./examples/netmap_compat/build/bridge -c 0x1e -n 4 -- -i 0
-
-waked up::
-
- Port 0 now in Netmap mode
- Bridge up and running!
-
-Send one packet on Port0,check this port receive packet.
-It receive one packet that it send.
-
-Test Case2: netmap compat with two port
-=======================================
-
-Run bridge with two ports::
-
- ./examples/netmap_compat/build/bridge -c 0x1e -n 4 -- -i 0 -i 1
-
-waked up::
-
- Port 0 now in Netmap mode
- Port 1 now in Netmap mode
- Bridge up and running!
-
-Send one packet on Port0,check the port1 receive packet.
-It receive one packet that the port0 send.
diff --git a/tests/TestSuite_netmap_compat.py b/tests/TestSuite_netmap_compat.py
deleted file mode 100644
index 31fa684..0000000
--- a/tests/TestSuite_netmap_compat.py
+++ /dev/null
@@ -1,136 +0,0 @@
-#BSD LICENSE
-#
-# Copyright(c) 2010-2016 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.
-Test Netmap_compat.
-"""
-
-import utils
-import string
-import time
-import re
-from test_case import TestCase
-
-class TestNetmapCompat(TestCase):
-
- def set_up_all(self):
- """
- Run at the start of each test suite.
- """
- self.dut_ports = self.dut.get_ports(self.nic)
- self.verify(len(self.dut_ports) >= 2, "Insufficient ports")
- cores = self.dut.get_core_list("1S/4C/1T")
- self.coremask = utils.create_mask(cores)
-
- self.path = "./examples/netmap_compat/build/bridge"
-
- # build sample app
- out = self.dut.build_dpdk_apps("./examples/netmap_compat")
- self.verify("Error" not in out, "compilation error 1")
- self.verify("No such file" not in out, "compilation error 2")
-
- def set_up(self):
- """
- Run before each test case.
- """
- pass
-
- def test_netmap_compat_oneport(self):
- """
- Verify netmap compatibility with one port
- """
- cmd = self.path + " -c %s -n %d -- -i %s" % (self.coremask,self.dut.get_memory_channels(),self.dut_ports[0])
-
- #start netmap_compat with one port
- self.dut.send_expect(cmd,"Port %s now in Netmap mode" % self.dut_ports[0],60)
-
- self.rxItf = self.tester.get_interface(self.tester.get_local_port(self.dut_ports[0]))
-
- self.inst = self.tester.tcpdump_sniff_packets(self.rxItf)
-
- self.scapy_send_packet()
-
- out = self.get_tcpdump_package()
- mac = self.dut.get_mac_address(self.dut_ports[0])
- self.verify(mac in out, "Wrong: can't get <%s> package" % mac)
-
- def test_netmap_compat_twoport(self):
- """
- Verify netmap compatibility with two port
- """
- cmd = self.path + " -c %s -n %d -- -i %s -i %s" % (self.coremask,self.dut.get_memory_channels(),self.dut_ports[0],self.dut_ports[1])
-
- #start netmap_compat with two port
- self.dut.send_expect(cmd,"Port %s now in Netmap mode" % self.dut_ports[0], 60)
-
- self.rxItf = self.tester.get_interface(self.tester.get_local_port(self.dut_ports[1]))
- self.inst = self.tester.tcpdump_sniff_packets(self.rxItf)
-
- self.scapy_send_packet()
-
- out = self.get_tcpdump_package()
- mac = self.dut.get_mac_address(self.dut_ports[0])
- self.verify(mac in out, "Wrong: can't get <%s> package" % mac)
- def scapy_send_packet(self):
- """
- Send a packet to port
- """
- txport = self.tester.get_local_port(self.dut_ports[0])
- mac = self.dut.get_mac_address(self.dut_ports[0])
- txItf = self.tester.get_interface(txport)
- self.tester.scapy_append('sendp([Ether(dst="%s")/IP()/UDP()/Raw(\'X\'*18)], iface="%s", count=4)' % (mac, txItf))
- self.tester.scapy_execute()
-
-
- def get_tcpdump_package(self):
- pkts = self.tester.load_tcpdump_sniff_packets(self.inst)
- dsts = []
- for i in range(len(pkts)):
- dst = pkts.strip_element_layer2("dst", p_index=i)
- dsts.append(dst)
- return dsts
-
- def tear_down(self):
- """
- Run after each test case.
- """
- self.dut.kill_all()
- time.sleep(2)
- pass
-
- def tear_down_all(self):
- """
- Run after each test suite.
- """
- pass
-
--
2.7.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dts] [PATCH V1] test_plans/netmap_compat: remove example
2021-09-18 2:08 ` [dts] [PATCH V1] test_plans/netmap_compat: " Yu Jiang
@ 2021-09-27 5:52 ` Tu, Lijuan
0 siblings, 0 replies; 4+ messages in thread
From: Tu, Lijuan @ 2021-09-27 5:52 UTC (permalink / raw)
To: Jiang, YuX, dts; +Cc: Jiang, YuX
> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Yu Jiang
> Sent: 2021年9月18日 10:08
> To: dts@dpdk.org
> Cc: Jiang, YuX <yux.jiang@intel.com>
> Subject: [dts] [PATCH V1] test_plans/netmap_compat: remove example
>
> According to DPDK commit id d82610b940("examples/netmap-compat: remove
> example"), remove this plan and suite.
>
> Signed-off-by: Yu Jiang <yux.jiang@intel.com>
Applied
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dts] [PATCH V1] test_plans/loadbalancer: remove example
2021-09-18 2:08 [dts] [PATCH V1] test_plans/loadbalancer: remove example Yu Jiang
2021-09-18 2:08 ` [dts] [PATCH V1] test_plans/netmap_compat: " Yu Jiang
@ 2021-09-27 5:58 ` Tu, Lijuan
1 sibling, 0 replies; 4+ messages in thread
From: Tu, Lijuan @ 2021-09-27 5:58 UTC (permalink / raw)
To: Jiang, YuX, dts; +Cc: Jiang, YuX
> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Yu Jiang
> Sent: 2021年9月18日 10:08
> To: dts@dpdk.org
> Cc: Jiang, YuX <yux.jiang@intel.com>
> Subject: [dts] [PATCH V1] test_plans/loadbalancer: remove example
>
> According to DPDK commit id ab6ebd7020("examples/load_balancer: remove
> example"), remove this plan and suite.
>
> Signed-off-by: Yu Jiang <yux.jiang@intel.com>
Applied, thanks
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-09-27 5:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-18 2:08 [dts] [PATCH V1] test_plans/loadbalancer: remove example Yu Jiang
2021-09-18 2:08 ` [dts] [PATCH V1] test_plans/netmap_compat: " Yu Jiang
2021-09-27 5:52 ` Tu, Lijuan
2021-09-27 5:58 ` [dts] [PATCH V1] test_plans/loadbalancer: " Tu, Lijuan
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).