From: "Tu, Lijuan" <lijuan.tu@intel.com>
To: "Wang, Yinan" <yinan.wang@intel.com>, "dts@dpdk.org" <dts@dpdk.org>
Cc: "Wang, Yinan" <yinan.wang@intel.com>
Subject: Re: [dts] [PATCH] tests: delete useless testsuite of virtio
Date: Wed, 26 Jun 2019 07:21:48 +0000 [thread overview]
Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BAC50C7@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <20190617193726.20162-1-yinan.wang@intel.com>
Applied, thanks
> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Yinan
> Sent: Tuesday, June 18, 2019 3:37 AM
> To: dts@dpdk.org
> Cc: Wang, Yinan <yinan.wang@intel.com>
> Subject: [dts] [PATCH] tests: delete useless testsuite of virtio
>
> From: Wang Yinan <yinan.wang@intel.com>
>
> Signed-off-by: Wang Yinan <yinan.wang@intel.com>
> ---
> ..._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
prev parent reply other threads:[~2019-06-26 7:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-17 19:37 Yinan
2019-06-26 7:21 ` Tu, Lijuan [this message]
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=8CE3E05A3F976642AAB0F4675D0AD20E0BAC50C7@SHSMSX101.ccr.corp.intel.com \
--to=lijuan.tu@intel.com \
--cc=dts@dpdk.org \
--cc=yinan.wang@intel.com \
/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).