From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id A49ECA0471 for ; Tue, 18 Jun 2019 04:40:21 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 926E61BEB8; Tue, 18 Jun 2019 04:40:21 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id BABCA1BE17 for ; Tue, 18 Jun 2019 04:40:19 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Jun 2019 19:40:18 -0700 X-ExtLoop1: 1 Received: from npg-dpdk-project-yinanwang-1.sh.intel.com ([10.67.110.166]) by fmsmga001.fm.intel.com with ESMTP; 17 Jun 2019 19:40:17 -0700 From: Yinan To: dts@dpdk.org Cc: Wang Yinan Date: Mon, 17 Jun 2019 19:37:26 +0000 Message-Id: <20190617193726.20162-1-yinan.wang@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dts] [PATCH] tests: delete useless testsuite of virtio X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 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" From: Wang Yinan Signed-off-by: Wang Yinan --- ..._vhost_loopback_performance_virtio_user.py | 272 ---------------- tests/TestSuite_vhost_qemu_pvp_performance.py | 307 ------------------ 2 files changed, 579 deletions(-) delete mode 100644 tests/TestSuite_vhost_loopback_performance_virtio_user.py delete mode 100644 tests/TestSuite_vhost_qemu_pvp_performance.py diff --git a/tests/TestSuite_vhost_loopback_performance_virtio_user.py b/tests/TestSuite_vhost_loopback_performance_virtio_user.py deleted file mode 100644 index 016f06a..0000000 --- a/tests/TestSuite_vhost_loopback_performance_virtio_user.py +++ /dev/null @@ -1,272 +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 Vhost loopback performance for Mergeable, normal , vector Path -""" -import os -import string -import utils -import time -import re -from test_case import TestCase - - -class TestVhostLoopback(TestCase): - - def set_up_all(self): - """ - Run at the start of each test suite. - """ - # Clean the execution environment - self.dut.send_expect("rm -rf ./vhost.out", "#") - self.dut.send_expect("rm -rf ./vhost-net*", "#") - self.header_row = ["FrameSize(B)", "Mode", "Throughput(Mpps)", "Virtio Version"] - self.frame_sizes = [64, 128, 260, 520, 1024, 1500] - self.test_cycles = {'Mpps': {}, 'pct': {}} - # Don't use any NIC in this test case - port_list = self.dut.get_ports() - for i in port_list: - port = self.dut.ports_info[i]['port'] - port.bind_driver() - # Get the default TX packet size of the testpmd - out = self.dut.send_expect("cat app/test-pmd/testpmd.h |grep TXONLY_DEF_PACKET_LEN", "# ") - try: - search_result = re.search("#define TXONLY_DEF_PACKET_LEN\s*(\d*)", out) - self.packet_length = search_result.group(1) - except: - self.logger.error("Failed to capture default testpmd txonly packet length") - - def set_up(self): - """ - Run before each test case. - """ - pass - - def test_perf_vhost_mergeable_loopback(self): - """ - Benchmark performance for frame_sizes. - """ - self.result_table_create(self.header_row) - # Modify the driver file to disable the Mergeable, then re-compile the DPDK and back up the original driver file - for frame_size in self.frame_sizes: - # Back up the original driver file - self.dut.send_expect("cp ./drivers/net/virtio/virtio_ethdev.h ./", "#", 30) - # Change the packet size sent by the testpmd - self.change_testpmd_size = "sed -i -e 's/#define TXONLY_DEF_PACKET_LEN.*$/#define TXONLY_DEF_PACKET_LEN %d/' ./app/test-pmd/testpmd.h" % frame_size - self.dut.send_expect(self.change_testpmd_size, "#", 30) - self.dut.build_install_dpdk(self.dut.target) - - # Start the vhost user side - cmd = self.target + "/app/testpmd -n 4 -c 0x03 " + \ - "-m 2048 --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,client=0' -- -i" - self.dut.send_expect(cmd, "testpmd>", 120) - # Start the virtio_user side - vhost_user = self.dut.new_session() - command_line_user = self.target + "/app/testpmd -n 4 -c 0x0c " + \ - " -m 2048 --no-pci --file-prefix=virtio " + \ - " --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net" + \ - " -- -i --tx-offloads=0 --disable-hw-vlan-filter" - - vhost_user.send_expect(command_line_user, "testpmd>", 120) - - self.dut.send_expect("set fwd mac retry", "testpmd>", 60) - self.dut.send_expect("start tx_first 32", "testpmd>", 60) - vhost_user.send_expect("start tx_first 32", "testpmd> ", 120) - results = 0.0 - out = self.dut.send_expect("show port stats all", "testpmd>", 60) - time.sleep(5) - # Get throughput 10 times and calculate the average throughput - for i in range(10): - out = self.dut.send_expect("show port stats all", "testpmd>", 60) - time.sleep(5) - lines = re.search("Rx-pps:\s*(\d*)", out) - result = lines.group(1) - results += float(result) - Mpps = results / (1000000 * 10) - - self.dut.send_expect("quit", "#", 60) - vhost_user.send_expect("quit", "#", 60) - # Restore the driver file - self.dut.send_expect("rm -rf ./drivers/net/virtio/virtio_ethdev.h", "#", 30) - self.dut.send_expect("mv ./virtio_ethdev.h ./drivers/net/virtio/", "#", 30) - self.test_cycles['Mpps'][frame_size] = Mpps - self.test_cycles['pct'][frame_size] = "Virtio 0.95" - - for frame_size in self.frame_sizes: - results_row = [frame_size] - results_row.append("Mergeable on") - results_row.append(self.test_cycles['Mpps'][frame_size]) - results_row.append(self.test_cycles['pct'][frame_size]) - self.result_table_add(results_row) - - self.result_table_print() - # Change the packet size of testpmd to default number 64 - - def test_perf_vhost_vector_loopback(self): - """ - Benchmark performance for frame_sizes. - """ - self.result_table_create(self.header_row) - for frame_size in self.frame_sizes: - # Modify the driver file to disable the Mergeable, then re-compile the DPDK and back up the original driver file - self.dut.send_expect("cp ./drivers/net/virtio/virtio_ethdev.h ./", "#", 30) - self.dut.send_expect("sed -i '/VIRTIO_NET_F_MRG_RXBUF/d' ./drivers/net/virtio/virtio_ethdev.h", "#", 30) - self.change_testpmd_size = "sed -i -e 's/#define TXONLY_DEF_PACKET_LEN .*$/#define TXONLY_DEF_PACKET_LEN %d/' ./app/test-pmd/testpmd.h" % frame_size - self.dut.send_expect(self.change_testpmd_size, "#", 30) - self.dut.build_install_dpdk(self.dut.target) - - # Start the vhost user side - cmd = self.target + "/app/testpmd -n 4 -c 0x03 " + \ - "-m 2048 --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,client=0' -- -i" - self.dut.send_expect(cmd, "testpmd>", 120) - # Start the virtio_user side - vhost_user = self.dut.new_session() - command_line_user = self.target + "/app/testpmd -n 4 -c 0x0c " + \ - " -m 2048 --no-pci --file-prefix=virtio " + \ - " --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net " + \ - " -- -i --tx-offloads=0 --disable-hw-vlan-filter" - - vhost_user.send_expect(command_line_user, "testpmd>", 120) - - self.dut.send_expect("set fwd mac retry", "testpmd>", 60) - self.dut.send_expect("start tx_first 32", "testpmd>", 60) - vhost_user.send_expect("start tx_first 32", "testpmd> ", 120) - results = 0.0 - out = self.dut.send_expect("show port stats all", "testpmd>", 60) - time.sleep(5) - # Get throughput 10 times and calculate the average throughput - for i in range(10): - out = self.dut.send_expect("show port stats all", "testpmd>", 60) - time.sleep(5) - lines = re.search("Rx-pps:\s*(\d*)", out) - result = lines.group(1) - results += float(result) - Mpps = results / (1000000 * 10) - - self.dut.send_expect("quit", "#", 60) - vhost_user.send_expect("quit", "#", 60) - # Restore the driver file - self.dut.send_expect("rm -rf ./drivers/net/virtio/virtio_ethdev.h", "#", 30) - self.dut.send_expect("mv ./virtio_ethdev.h ./drivers/net/virtio/", "#", 30) - self.test_cycles['Mpps'][frame_size] = Mpps - self.test_cycles['pct'][frame_size] = "Virtio 0.95" - - for frame_size in self.frame_sizes: - results_row = [frame_size] - results_row.append("Vector on") - results_row.append(self.test_cycles['Mpps'][frame_size]) - results_row.append(self.test_cycles['pct'][frame_size]) - self.result_table_add(results_row) - - self.result_table_print() - - def test_perf_vhost_normal_loopback(self): - """ - Benchmark performance for frame_sizes. - """ - - self.result_table_create(self.header_row) - for frame_size in self.frame_sizes: - # Modify the driver file to disable the Mergeable, then re-compile the DPDK and back up the original driver file - self.dut.send_expect("cp ./drivers/net/virtio/virtio_ethdev.h ./", "#", 30) - self.dut.send_expect("sed -i '/VIRTIO_NET_F_MRG_RXBUF/d' ./drivers/net/virtio/virtio_ethdev.h", "#", 30) - self.change_testpmd_size = "sed -i -e 's/#define TXONLY_DEF_PACKET_LEN .*$/#define TXONLY_DEF_PACKET_LEN %d/' ./app/test-pmd/testpmd.h" % frame_size - self.dut.send_expect(self.change_testpmd_size, "#", 30) - self.dut.build_install_dpdk(self.dut.target) - - # Start the vhost user side - cmd = self.target + "/app/testpmd -n 4 -c 0x03 " + \ - "-m 2048 --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,client=0' -- -i" - self.dut.send_expect(cmd, "testpmd>", 120) - # Start the virtio_user side - vhost_user = self.dut.new_session() - command_line_user = self.target + "/app/testpmd -n 4 -c 0x0c " + \ - " -m 2048 --no-pci --file-prefix=virtio " + \ - " --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net" + \ - " -- -i --tx-offloads=0x8000 --disable-hw-vlan-filter" - - vhost_user.send_expect(command_line_user, "testpmd>", 120) - - self.dut.send_expect("set fwd mac retry", "testpmd>", 60) - self.dut.send_expect("start tx_first 32", "testpmd>", 60) - vhost_user.send_expect("start tx_first 32", "testpmd> ", 120) - results = 0.0 - out = self.dut.send_expect("show port stats all", "testpmd>", 60) - time.sleep(5) - # Get throughput 10 times and calculate the average throughput - for i in range(10): - out = self.dut.send_expect("show port stats all", "testpmd>", 60) - time.sleep(5) - lines = re.search("Rx-pps:\s*(\d*)", out) - result = lines.group(1) - results += float(result) - Mpps = results / (1000000 * 10) - - self.dut.send_expect("quit", "#", 60) - vhost_user.send_expect("quit", "#", 60) - # Restore the driver file - self.dut.send_expect("rm -rf ./drivers/net/virtio/virtio_ethdev.h", "#", 30) - self.dut.send_expect("mv ./virtio_ethdev.h ./drivers/net/virtio/", "#", 30) - self.test_cycles['Mpps'][frame_size] = Mpps - self.test_cycles['pct'][frame_size] = "Virtio 0.95" - - for frame_size in self.frame_sizes: - results_row = [frame_size] - results_row.append("Normal") - results_row.append(self.test_cycles['Mpps'][frame_size]) - results_row.append(self.test_cycles['pct'][frame_size]) - self.result_table_add(results_row) - - self.result_table_print() - - def tear_down(self): - """ - Run after each test case. - """ - time.sleep(2) - - def tear_down_all(self): - """ - Run after each test suite. - """ - # Recompile the dpdk because we change the source code during the test - self.dut.build_install_dpdk(self.dut.target) - # Re-bind the port to config driver - port_list = self.dut.get_ports() - for i in port_list: - port = self.dut.ports_info[i]['port'] - port.bind_driver(self.drivername) - # Set the tx packet size of testpmd to default size - self.dut.send_expect("sed -i -e 's/#define TXONLY_DEF_PACKET_LEN.*$/#define TXONLY_DEF_PACKET_LEN %s/' ./app/test-pmd/testpmd.h" % self.packet_length, "#", 30) diff --git a/tests/TestSuite_vhost_qemu_pvp_performance.py b/tests/TestSuite_vhost_qemu_pvp_performance.py deleted file mode 100644 index 051c9a2..0000000 --- a/tests/TestSuite_vhost_qemu_pvp_performance.py +++ /dev/null @@ -1,307 +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. - -Vhost PVP performance using Qemu test suite. -""" -import os -import re -import time -import utils -from scapy.utils import wrpcap, rdpcap -from test_case import TestCase -from exception import VerifyFailure -from settings import HEADER_SIZE -from etgen import IxiaPacketGenerator -from qemu_kvm import QEMUKvm - - -class TestVhostUserOneCopyOneVm(TestCase): - - def set_up_all(self): - # Get and verify the ports - self.dut_ports = self.dut.get_ports() - self.verify(len(self.dut_ports) >= 1, "Insufficient ports for testing") - - # Get the port's socket - self.pf = self.dut_ports[0] - netdev = self.dut.ports_info[self.pf]['port'] - self.socket = netdev.get_nic_socket() - self.cores = self.dut.get_core_list("1S/3C/1T", socket=self.socket) - - # Set the params of vhost sample - self.vhost_app = "./examples/vhost/build/vhost-switch" - self.vm2vm = 0 - # This parameter is used to define mergeable on/off - self.jumbo = 0 - - # Using file to save the vhost sample output since in jumboframe case, - # there will be lots of output - self.vhost_test = self.vhost_app + \ - " -c %s -n %d --socket-mem 2048,2048 -- -p 0x1 --mergeable %d" + \ - " --vm2vm %d --socket-file ./vhost-net > ./vhost.out &" - # build the vhost sample in vhost-user mode. - if self.nic in ['niantic']: - self.dut.send_expect( - "sed -i -e 's/#define MAX_QUEUES.*$/#define MAX_QUEUES 128/' " - "./examples/vhost/main.c", - "#", 10) - elif self.nic.startswith('fortville'): - self.dut.send_expect( - "sed -i -e 's/#define MAX_QUEUES.*$/#define MAX_QUEUES 512/' " - "./examples/vhost/main.c", - "#", 10) - out = self.dut.send_expect("make -C examples/vhost", "#") - self.verify("Error" not in out, "compilation error") - self.verify("No such file" not in out, "Not found file error") - - self.virtio1 = "eth1" - self.virtio1_mac = "52:54:00:00:00:01" - self.src1 = "192.168.4.1" - self.dst1 = "192.168.3.1" - self.vm_dut = None - - self.number_of_ports = 1 - self.header_row = ["FrameSize(B)", "Throughput(Mpps)", "LineRate(%)", "Cycle"] - self.memory_channel = 4 - - def set_up(self): - # - # Run before each test case. - # - # Launch vhost sample using default params - # - self.dut.send_expect("rm -rf ./vhost.out", "#") - self.dut.send_expect("rm -rf ./vhost-net*", "#") - self.dut.send_expect("killall -s INT vhost-switch", "#") - - self.frame_sizes = [64, 128, 256, 512, 1024, 1500] - self.vm_testpmd_vector = self.target + "/app/testpmd -c 0x3 -n 3" \ - + " -- -i --tx-offloads=0 --disable-hw-vlan-filter" - self.vm_testpmd_normal = self.target + "/app/testpmd -c 0x3 -n 3" \ - + " -- -i --tx-offloads=0x8000 --disable-hw-vlan-filter" - - def launch_vhost_sample(self): - # - # Launch the vhost sample with different parameters - # - self.coremask = utils.create_mask(self.cores) - self.vhostapp_testcmd = self.vhost_test % ( - self.coremask, self.memory_channel, self.jumbo, self.vm2vm) - self.dut.send_expect(self.vhostapp_testcmd, "# ", 40) - time.sleep(30) - try: - self.logger.info("Launch vhost sample:") - self.dut.session.copy_file_from(self.dut.base_dir + "vhost.out") - fp = open('./vhost.out', 'r') - out = fp.read() - fp.close() - if "Error" in out: - raise Exception("Launch vhost sample failed") - else: - self.logger.info("Launch vhost sample finished") - except Exception as e: - self.logger.error("ERROR: Failed to launch vhost sample: %s" % str(e)) - - def start_onevm(self, path="", modem=0): - # - # Start One VM with one virtio device - # - - self.vm = QEMUKvm(self.dut, 'vm0', 'vhost_sample') - if(path != ""): - self.vm.set_qemu_emulator(path) - vm_params = {} - vm_params['driver'] = 'vhost-user' - vm_params['opt_path'] = './vhost-net' - vm_params['opt_mac'] = self.virtio1_mac - if(modem == 1): - vm_params['opt_settings'] = 'disable-modern=false' - self.vm.set_vm_device(**vm_params) - - try: - self.vm_dut = self.vm.start() - if self.vm_dut is None: - raise Exception("Set up VM ENV failed") - except Exception as e: - self.logger.error("ERROR: Failure for %s" % str(e)) - - return True - - def vm_testpmd_start(self): - # - # Start testpmd in vm - # - if self.vm_dut is not None: - self.vm_dut.send_expect(self.vm_testpmd_vector, "testpmd>", 20) - self.vm_dut.send_expect("set fwd mac", "testpmd>", 20) - self.vm_dut.send_expect("start tx_first", "testpmd>") - - def send_verify(self, case, frame_sizes, vlan_id1=0, tag="Performance"): - self.result_table_create(self.header_row) - for frame_size in frame_sizes: - info = "Running test %s, and %d frame size." % (case, frame_size) - self.logger.info(info) - payload = frame_size - HEADER_SIZE['eth'] - HEADER_SIZE['ip'] - flow1 = '[Ether(dst="%s")/Dot1Q(vlan=%s)/IP(src="%s",dst="%s")/("X"*%d)]' % ( - self.virtio1_mac, vlan_id1, self.src1, self.dst1, payload) - self.tester.scapy_append('wrpcap("flow1.pcap", %s)' % flow1) - self.tester.scapy_execute() - - tgenInput = [] - port = self.tester.get_local_port(self.pf) - tgenInput.append((port, port, "flow1.pcap")) - - _, pps = self.tester.traffic_generator_throughput(tgenInput, delay=30) - Mpps = pps / 1000000.0 - pct = Mpps * 100 / float(self.wirespeed(self.nic, frame_size, - self.number_of_ports)) - data_row = [frame_size, str(Mpps), str(pct), tag] - self.result_table_add(data_row) - self.result_table_print() - - def test_perf_pvp_qemu_vector_pmd(self): - # - # Test the pvp performance for vector path - # - # start testpmd on VM - self.jumbo = 0 - self.launch_vhost_sample() - self.start_onevm() - - self.vm_dut.send_expect(self.vm_testpmd_vector, "testpmd>", 20) - self.vm_dut.send_expect("start tx_first", "testpmd>") - time.sleep(5) - vlan_id1 = 1000 - self.send_verify(self.running_case, self.frame_sizes, vlan_id1, "Virtio 0.95 Vector Performance") - self.vm_dut.kill_all() - - def test_perf_pvp_qemu_normal_pmd(self): - # - # Test the performance for normal path - # - # start testpmd on VM - self.jumbo = 0 - self.launch_vhost_sample() - self.start_onevm() - # Start testpmd with user - self.vm_dut.send_expect(self.vm_testpmd_normal, "testpmd>", 20) - self.vm_dut.send_expect("start tx_first", "testpmd>") - - time.sleep(5) - vlan_id1 = 1000 - self.send_verify(self.running_case, self.frame_sizes, vlan_id1, "Virtio 0.95 Normal Performance") - self.vm_dut.kill_all() - - def test_perf_pvp_qemu_mergeable_pmd(self): - # - # Test the performance for mergeable path - # - # start testpmd on VM - self.jumbo = 1 - self.launch_vhost_sample() - self.start_onevm() - # Start testpmd with user - self.vm_dut.send_expect(self.vm_testpmd_vector, "testpmd>", 20) - self.vm_dut.send_expect("start tx_first", "testpmd>") - - time.sleep(5) - vlan_id1 = 1000 - self.send_verify(self.running_case, self.frame_sizes, vlan_id1, "Virtio 0.95 Mergeable Performance") - self.vm_dut.kill_all() - - def test_perf_virtio_modern_qemu_vector_pmd(self): - # - # Test the vhost/virtio pvp performance for virtio1.0 - # - # - # start testpmd on VM - self.jumbo = 0 - self.launch_vhost_sample() - self.start_onevm("", 1) - # Start testpmd with user - self.vm_dut.send_expect(self.vm_testpmd_vector, "testpmd>", 20) - self.vm_dut.send_expect("start tx_first", "testpmd>") - - time.sleep(5) - vlan_id1 = 1000 - self.send_verify(self.running_case, self.frame_sizes, vlan_id1, "virtio1.0, Vector") - self.vm_dut.kill_all() - - def test_perf_virtio_modern_qemu_normal_pmd(self): - # - # Test the performance of one vm with 2virtio devices in legacy fwd - # - # start testpmd on VM - self.jumbo = 0 - self.launch_vhost_sample() - self.start_onevm("", 1) - # Start testpmd with user - self.vm_dut.send_expect(self.vm_testpmd_normal, "testpmd>", 20) - self.vm_dut.send_expect("start tx_first", "testpmd>") - - time.sleep(5) - vlan_id1 = 1000 - self.send_verify(self.running_case, self.frame_sizes, vlan_id1, "virtio1.0, Normal") - self.vm_dut.kill_all() - - def test_perf_virtio_modern_qemu_mergeable_pmd(self): - # - # Test the performance of one vm with 2virtio devices in legacy fwd - # - # start testpmd on VM - self.jumbo = 1 - self.launch_vhost_sample() - self.start_onevm("", 1) - # Start testpmd with user - self.vm_dut.send_expect(self.vm_testpmd_vector, "testpmd>", 20) - self.vm_dut.send_expect("start tx_first", "testpmd>") - - time.sleep(5) - vlan_id1 = 1000 - self.send_verify(self.running_case, self.frame_sizes, vlan_id1, "virtio1.0, Mergeable") - self.vm_dut.kill_all() - - def tear_down(self): - # - # Run after each test case. - # Clear vhost-switch and qemu to avoid blocking the following TCs - # - self.vm.stop() - time.sleep(2) - - def tear_down_all(self): - """ - Run after each test suite. - """ - pass -- 2.17.1