* [dts] [PATCH V1] add automation for pvp_virtio_user_multi_queues_port_restart
@ 2020-03-31 8:22 Xiao Qimai
2020-03-31 8:29 ` Xiao, QimaiX
2020-04-16 8:49 ` Tu, Lijuan
0 siblings, 2 replies; 4+ messages in thread
From: Xiao Qimai @ 2020-03-31 8:22 UTC (permalink / raw)
To: dts; +Cc: Xiao Qimai
*. add automation for test_plans:pvp_virtio_user_multi_queues_port_restart.rst
Signed-off-by: Xiao Qimai <qimaix.xiao@intel.com>
---
...te_pvp_virtio_user_multi_queues_port_restart.py | 294 +++++++++++++++++++++
1 file changed, 294 insertions(+)
create mode 100644 tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
diff --git a/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py b/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
new file mode 100644
index 0000000..58d603f
--- /dev/null
+++ b/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
@@ -0,0 +1,294 @@
+#
+# BSD LICENSE
+#
+# Copyright(c) 2010-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.
+This test vhost/virtio-user pvp multi-queues with split virtqueue
+and packed virtqueue different rx/tx paths, includes split virtqueue in-order
+mergeable, in-order non-mergeable, mergeable, non-mergeable, vector_rx path test,
+and packed virtqueue in-order mergeable, in-order non-mergeable, mergeable,
+non-mergeable path, also cover port restart test with each path.
+"""
+import time
+import re
+from test_case import TestCase
+from packet import Packet
+from pktgen import PacketGeneratorHelper
+
+
+class TestPVPVirtioUserMultiQueuesPortRestart(TestCase):
+
+ def set_up_all(self):
+ """
+ Run at the start of each test suite.
+ """
+ self.frame_sizes = [64]
+ self.dut_ports = self.dut.get_ports()
+ self.verify(len(self.dut_ports) >= 1, "Insufficient ports for testing")
+ # get core mask
+ self.ports_socket = self.dut.get_numa_id(self.dut_ports[0])
+ self.core_list = self.dut.get_core_list('all', socket=self.ports_socket)
+ self.dst_mac = self.dut.get_mac_address(self.dut_ports[0])
+ self.out_path = '/tmp'
+ out = self.tester.send_expect('ls -d %s' % self.out_path, '# ')
+ if 'No such file or directory' in out:
+ self.tester.send_expect('mkdir -p %s' % self.out_path, '# ')
+ # create an instance to set stream field setting
+ self.pktgen_helper = PacketGeneratorHelper()
+ self.pci_info = self.dut.ports_info[0]['pci']
+ self.vhost = self.dut.new_session(suite="vhost-user")
+ self.tx_port = self.tester.get_local_port(self.dut_ports[0])
+ self.queue_number = 2
+ self.dut.kill_all()
+
+ def set_up(self):
+ """
+ Run before each test case.
+ """
+ # Clean the execution ENV
+ self.dut.send_expect("rm -rf ./vhost.out", "#")
+ # Prepare the result table
+ self.table_header = ["FrameSize(B)", "Mode",
+ "Throughput(Mpps)", "% linerate", "Cycle"]
+ self.result_table_create(self.table_header)
+
+ def start_vhost_testpmd(self):
+ """
+ start testpmd on vhost
+ """
+ self.dut.send_expect("killall -s INT testpmd", "#")
+ self.dut.send_expect("rm -rf ./vhost-net*", "#")
+ testcmd = self.dut.target + "/app/testpmd "
+ vdev = 'net_vhost0,iface=vhost-net,queues=2,client=0'
+ eal_params = self.dut.create_eal_parameters(cores=self.core_list[2:5], prefix='vhost', ports=[self.pci_info],
+ vdevs=[vdev])
+ para = " -- -i --nb-cores=2 --rxq=%s --txq=%s --rss-ip" % (self.queue_number, self.queue_number)
+ command_line_vhost = testcmd + eal_params + para
+ self.vhost.send_expect(command_line_vhost, "testpmd> ", 120)
+ self.vhost.send_expect("set fwd mac", "testpmd> ", 120)
+ self.vhost.send_expect("start", "testpmd> ", 120)
+
+ def start_virtio_user_testpmd(self, flag):
+ """
+ start testpmd in vm depend on different path
+ """
+ testcmd = self.dut.target + "/app/testpmd "
+ vdev = 'net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2'
+ if 'packed_ring' in flag:
+ vdev += ',packed_vq=1'
+ if 'nonmergeable' in flag or 'vector' in flag:
+ vdev += ',mrg_rxbuf=0'
+ if 'inorder' not in flag:
+ vdev += ',in_order=0'
+ eal_params = self.dut.create_eal_parameters(cores=self.core_list[5:8], prefix='virtio', no_pci=True,
+ vdevs=[vdev])
+ if 'vector' not in flag:
+ para = " -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=%s --txq=%s --rss-ip" % (
+ self.queue_number, self.queue_number)
+ else:
+ para = " -- -i --tx-offloads=0x0 --rss-ip --nb-cores=2 --rxq=%s --txq=%s --rss-ip" % (
+ self.queue_number, self.queue_number)
+ command_line_user = testcmd + eal_params + para
+ self.dut.send_expect(command_line_user, "testpmd> ", 30)
+ self.dut.send_expect("set fwd mac", "testpmd> ", 30)
+ self.dut.send_expect("start", "testpmd> ", 30)
+
+ def check_port_link_status_after_port_restart(self):
+ """
+ check the link status after port restart
+ """
+ loop = 1
+ port_status = 'down'
+ while (loop <= 5):
+ out = self.vhost.send_expect("show port info 0", "testpmd> ", 120)
+ port_status = re.findall("Link\s*status:\s*([a-z]*)", out)
+ if ("down" not in port_status):
+ break
+ time.sleep(2)
+ loop = loop + 1
+ self.verify("down" not in port_status, "port can not up after restart")
+
+ def port_restart(self, restart_times=1):
+ for i in range(restart_times):
+ self.vhost.send_expect("stop", "testpmd> ", 120)
+ self.vhost.send_expect("port stop 0", "testpmd> ", 120)
+ self.vhost.send_expect("clear port stats 0", "testpmd> ", 120)
+ self.vhost.send_expect("port start 0", "testpmd> ", 120)
+ self.check_port_link_status_after_port_restart()
+ self.vhost.send_expect("start", "testpmd> ", 120)
+
+ def update_table_info(self, case_info, frame_size, Mpps, throughtput, Cycle):
+ results_row = [frame_size]
+ results_row.append(case_info)
+ results_row.append(Mpps)
+ results_row.append(throughtput)
+ results_row.append(Cycle)
+ self.result_table_add(results_row)
+
+ def calculate_avg_throughput(self, frame_size):
+ """
+ start to send packet and get the throughput
+ """
+ pkt = Packet(pkt_type='IP_RAW', pkt_len=frame_size)
+ pkt.config_layer('ether', {'dst': '%s' % self.dst_mac})
+ pkt.save_pcapfile(self.tester, "%s/pvp_multipath.pcap" % (self.out_path))
+
+ tgenInput = []
+ port = self.tester.get_local_port(self.dut_ports[0])
+ tgenInput.append((port, port, "%s/pvp_multipath.pcap" % self.out_path))
+ self.tester.pktgen.clear_streams()
+ fields_config = {'ip': {'dst': {'action': 'random'}}}
+ streams = self.pktgen_helper.prepare_stream_from_tginput(tgenInput, 100, fields_config, self.tester.pktgen)
+ # set traffic option
+ traffic_opt = {'delay': 5}
+ _, pps = self.tester.pktgen.measure_throughput(stream_ids=streams, options=traffic_opt)
+ Mpps = pps / 1000000.0
+ self.verify(Mpps > 0, "can not receive packets of frame size %d" % (frame_size))
+ throughput = Mpps * 100 / \
+ float(self.wirespeed(self.nic, frame_size, 1))
+ return Mpps, throughput
+
+ def send_and_verify(self, case_info):
+ """
+ start to send packets and verify it
+ """
+ for frame_size in self.frame_sizes:
+ info = "Running test %s, and %d frame size." % (self.running_case, frame_size)
+ self.logger.info(info)
+ Mpps, throughput = self.calculate_avg_throughput(frame_size)
+ self.update_table_info(case_info, frame_size, Mpps, throughput, "Before Restart")
+ self.check_packets_of_each_queue(frame_size)
+ restart_times = 100 if case_info == 'packed_ring_mergeable' else 1
+ self.port_restart(restart_times=restart_times)
+ Mpps, throughput = self.calculate_avg_throughput(frame_size)
+ self.update_table_info(case_info, frame_size, Mpps, throughput, "After Restart")
+ self.check_packets_of_each_queue(frame_size)
+
+ def check_packets_of_each_queue(self, frame_size):
+ """
+ check each queue has receive packets
+ """
+ out = self.dut.send_expect("stop", "testpmd> ", 60)
+ p = re.compile("RX Port= 0/Queue= (\d+) -> TX Port= 0/Queue= \d+.*\n.*RX-packets:\s?(\d+).*TX-packets:\s?(\d+)")
+ res = p.findall(out)
+ self.res_queues = sorted([int(i[0]) for i in res])
+ self.res_rx_pkts = [int(i[1]) for i in res]
+ self.res_tx_pkts = [int(i[2]) for i in res]
+ self.verify(self.res_queues == list(range(self.queue_number)),
+ "frame_size: %s, expect %s queues to handle packets, result %s queues" % (frame_size, list(range(self.queue_number)), self.res_queues))
+ self.verify(all(self.res_rx_pkts), "each queue should has rx packets, result: %s" % self.res_rx_pkts)
+ self.verify(all(self.res_tx_pkts), "each queue should has tx packets, result: %s" % self.res_tx_pkts)
+ self.dut.send_expect("start", "testpmd> ", 60)
+
+ def close_all_testpmd(self):
+ """
+ close testpmd about vhost-user and vm_testpmd
+ """
+ self.vhost.send_expect("quit", "#", 60)
+ self.dut.send_expect("quit", "#", 60)
+
+ def test_perf_pvp_2queues_test_with_packed_ring_mergeable_path(self):
+ self.start_vhost_testpmd()
+ self.start_virtio_user_testpmd(flag="packed_ring_mergeable")
+ self.send_and_verify("packed_ring_mergeable")
+ self.close_all_testpmd()
+ self.result_table_print()
+
+ def test_perf_pvp_2queues_test_with_packed_ring_nonmergeable_path(self):
+ self.start_vhost_testpmd()
+ self.start_virtio_user_testpmd(flag="packed_ring_nonmergeable")
+ self.send_and_verify("packed_ring_nonmergeable")
+ self.close_all_testpmd()
+ self.result_table_print()
+
+ def test_perf_pvp_2queues_test_with_split_ring_inorder_mergeable_path(self):
+ self.start_vhost_testpmd()
+ self.start_virtio_user_testpmd(flag="split_ring_inorder_mergeable")
+ self.send_and_verify("split_ring_inorder_mergeable")
+ self.close_all_testpmd()
+ self.result_table_print()
+
+ def test_perf_pvp_2queues_test_with_split_ring_inorder_nonmergeable_path(self):
+ self.start_vhost_testpmd()
+ self.start_virtio_user_testpmd(flag="split_ring_inorder_nonmergeable")
+ self.send_and_verify("split_ring_inorder_nonmergeable")
+ self.close_all_testpmd()
+ self.result_table_print()
+
+ def test_perf_pvp_2queues_test_with_split_ring_mergeable_path(self):
+ self.start_vhost_testpmd()
+ self.start_virtio_user_testpmd(flag="split_ring_mergeable")
+ self.send_and_verify("split_ring_mergeable")
+ self.close_all_testpmd()
+ self.result_table_print()
+
+ def test_perf_pvp_2queues_test_with_split_ring_nonmergeable_path(self):
+ self.start_vhost_testpmd()
+ self.start_virtio_user_testpmd(flag="split_ring_nonmergeable")
+ self.send_and_verify("split_ring_nonmergeable")
+ self.close_all_testpmd()
+ self.result_table_print()
+
+ def test_perf_pvp_2queues_test_with_split_ring_vector_rx_path(self):
+ self.start_vhost_testpmd()
+ self.start_virtio_user_testpmd(flag="split_ring_vector_rx")
+ self.send_and_verify("split_ring_vector_rx")
+ self.close_all_testpmd()
+ self.result_table_print()
+
+ def test_perf_pvp_2queues_test_with_packed_ring_inorder_mergeable_path(self):
+ self.start_vhost_testpmd()
+ self.start_virtio_user_testpmd(flag="packed_ring_inorder_mergeable")
+ self.send_and_verify("packed_ring_inorder_mergeable")
+ self.close_all_testpmd()
+ self.result_table_print()
+
+ def test_perf_pvp_2queues_test_with_packed_ring_inorder_nonmergeable_path(self):
+ self.start_vhost_testpmd()
+ self.start_virtio_user_testpmd(flag="packed_ring_inorder_nonmergeable")
+ self.send_and_verify("packed_ring_inorder_nonmergeable")
+ self.close_all_testpmd()
+ self.result_table_print()
+
+ def tear_down(self):
+ """
+ Run after each test case.
+ """
+ self.dut.kill_all()
+ time.sleep(2)
+
+ def tear_down_all(self):
+ """
+ Run after each test suite.
+ """
+ self.dut.close_session(self.vhost)
--
1.8.3.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dts] [PATCH V1] add automation for pvp_virtio_user_multi_queues_port_restart
2020-03-31 8:22 [dts] [PATCH V1] add automation for pvp_virtio_user_multi_queues_port_restart Xiao Qimai
@ 2020-03-31 8:29 ` Xiao, QimaiX
2020-03-31 8:42 ` Wang, Yinan
2020-04-16 8:49 ` Tu, Lijuan
1 sibling, 1 reply; 4+ messages in thread
From: Xiao, QimaiX @ 2020-03-31 8:29 UTC (permalink / raw)
To: dts
[-- Attachment #1: Type: text/plain, Size: 15703 bytes --]
Tested-by: Xiao Qimai <qimaix.xiao@intel.com>
Regards,
Xiao Qimai
> -----Original Message-----
> From: Xiao, QimaiX
> Sent: Tuesday, March 31, 2020 4:22 PM
> To: dts@dpdk.org
> Cc: Xiao, QimaiX <qimaix.xiao@intel.com>
> Subject: [PATCH V1] add automation for
> pvp_virtio_user_multi_queues_port_restart
>
> *. add automation for
> test_plans:pvp_virtio_user_multi_queues_port_restart.rst
>
> Signed-off-by: Xiao Qimai <qimaix.xiao@intel.com>
> ---
> ...te_pvp_virtio_user_multi_queues_port_restart.py | 294
> +++++++++++++++++++++
> 1 file changed, 294 insertions(+)
> create mode 100644
> tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
>
> diff --git a/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
> b/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
> new file mode 100644
> index 0000000..58d603f
> --- /dev/null
> +++ b/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
> @@ -0,0 +1,294 @@
> +#
> +# BSD LICENSE
> +#
> +# Copyright(c) 2010-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.
> +This test vhost/virtio-user pvp multi-queues with split virtqueue and
> +packed virtqueue different rx/tx paths, includes split virtqueue
> +in-order mergeable, in-order non-mergeable, mergeable, non-mergeable,
> +vector_rx path test, and packed virtqueue in-order mergeable, in-order
> +non-mergeable, mergeable, non-mergeable path, also cover port restart
> test with each path.
> +"""
> +import time
> +import re
> +from test_case import TestCase
> +from packet import Packet
> +from pktgen import PacketGeneratorHelper
> +
> +
> +class TestPVPVirtioUserMultiQueuesPortRestart(TestCase):
> +
> + def set_up_all(self):
> + """
> + Run at the start of each test suite.
> + """
> + self.frame_sizes = [64]
> + self.dut_ports = self.dut.get_ports()
> + self.verify(len(self.dut_ports) >= 1, "Insufficient ports for testing")
> + # get core mask
> + self.ports_socket = self.dut.get_numa_id(self.dut_ports[0])
> + self.core_list = self.dut.get_core_list('all', socket=self.ports_socket)
> + self.dst_mac = self.dut.get_mac_address(self.dut_ports[0])
> + self.out_path = '/tmp'
> + out = self.tester.send_expect('ls -d %s' % self.out_path, '# ')
> + if 'No such file or directory' in out:
> + self.tester.send_expect('mkdir -p %s' % self.out_path, '# ')
> + # create an instance to set stream field setting
> + self.pktgen_helper = PacketGeneratorHelper()
> + self.pci_info = self.dut.ports_info[0]['pci']
> + self.vhost = self.dut.new_session(suite="vhost-user")
> + self.tx_port = self.tester.get_local_port(self.dut_ports[0])
> + self.queue_number = 2
> + self.dut.kill_all()
> +
> + def set_up(self):
> + """
> + Run before each test case.
> + """
> + # Clean the execution ENV
> + self.dut.send_expect("rm -rf ./vhost.out", "#")
> + # Prepare the result table
> + self.table_header = ["FrameSize(B)", "Mode",
> + "Throughput(Mpps)", "% linerate", "Cycle"]
> + self.result_table_create(self.table_header)
> +
> + def start_vhost_testpmd(self):
> + """
> + start testpmd on vhost
> + """
> + self.dut.send_expect("killall -s INT testpmd", "#")
> + self.dut.send_expect("rm -rf ./vhost-net*", "#")
> + testcmd = self.dut.target + "/app/testpmd "
> + vdev = 'net_vhost0,iface=vhost-net,queues=2,client=0'
> + eal_params = self.dut.create_eal_parameters(cores=self.core_list[2:5],
> prefix='vhost', ports=[self.pci_info],
> + vdevs=[vdev])
> + para = " -- -i --nb-cores=2 --rxq=%s --txq=%s --rss-ip" %
> (self.queue_number, self.queue_number)
> + command_line_vhost = testcmd + eal_params + para
> + self.vhost.send_expect(command_line_vhost, "testpmd> ", 120)
> + self.vhost.send_expect("set fwd mac", "testpmd> ", 120)
> + self.vhost.send_expect("start", "testpmd> ", 120)
> +
> + def start_virtio_user_testpmd(self, flag):
> + """
> + start testpmd in vm depend on different path
> + """
> + testcmd = self.dut.target + "/app/testpmd "
> + vdev = 'net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-
> net,queues=2'
> + if 'packed_ring' in flag:
> + vdev += ',packed_vq=1'
> + if 'nonmergeable' in flag or 'vector' in flag:
> + vdev += ',mrg_rxbuf=0'
> + if 'inorder' not in flag:
> + vdev += ',in_order=0'
> + eal_params = self.dut.create_eal_parameters(cores=self.core_list[5:8],
> prefix='virtio', no_pci=True,
> + vdevs=[vdev])
> + if 'vector' not in flag:
> + para = " -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-
> cores=2 --rxq=%s --txq=%s --rss-ip" % (
> + self.queue_number, self.queue_number)
> + else:
> + para = " -- -i --tx-offloads=0x0 --rss-ip --nb-cores=2 --rxq=%s --txq=%s
> --rss-ip" % (
> + self.queue_number, self.queue_number)
> + command_line_user = testcmd + eal_params + para
> + self.dut.send_expect(command_line_user, "testpmd> ", 30)
> + self.dut.send_expect("set fwd mac", "testpmd> ", 30)
> + self.dut.send_expect("start", "testpmd> ", 30)
> +
> + def check_port_link_status_after_port_restart(self):
> + """
> + check the link status after port restart
> + """
> + loop = 1
> + port_status = 'down'
> + while (loop <= 5):
> + out = self.vhost.send_expect("show port info 0", "testpmd> ", 120)
> + port_status = re.findall("Link\s*status:\s*([a-z]*)", out)
> + if ("down" not in port_status):
> + break
> + time.sleep(2)
> + loop = loop + 1
> + self.verify("down" not in port_status, "port can not up after
> + restart")
> +
> + def port_restart(self, restart_times=1):
> + for i in range(restart_times):
> + self.vhost.send_expect("stop", "testpmd> ", 120)
> + self.vhost.send_expect("port stop 0", "testpmd> ", 120)
> + self.vhost.send_expect("clear port stats 0", "testpmd> ", 120)
> + self.vhost.send_expect("port start 0", "testpmd> ", 120)
> + self.check_port_link_status_after_port_restart()
> + self.vhost.send_expect("start", "testpmd> ", 120)
> +
> + def update_table_info(self, case_info, frame_size, Mpps, throughtput,
> Cycle):
> + results_row = [frame_size]
> + results_row.append(case_info)
> + results_row.append(Mpps)
> + results_row.append(throughtput)
> + results_row.append(Cycle)
> + self.result_table_add(results_row)
> +
> + def calculate_avg_throughput(self, frame_size):
> + """
> + start to send packet and get the throughput
> + """
> + pkt = Packet(pkt_type='IP_RAW', pkt_len=frame_size)
> + pkt.config_layer('ether', {'dst': '%s' % self.dst_mac})
> + pkt.save_pcapfile(self.tester, "%s/pvp_multipath.pcap" %
> + (self.out_path))
> +
> + tgenInput = []
> + port = self.tester.get_local_port(self.dut_ports[0])
> + tgenInput.append((port, port, "%s/pvp_multipath.pcap" %
> self.out_path))
> + self.tester.pktgen.clear_streams()
> + fields_config = {'ip': {'dst': {'action': 'random'}}}
> + streams =
> self.pktgen_helper.prepare_stream_from_tginput(tgenInput, 100,
> fields_config, self.tester.pktgen)
> + # set traffic option
> + traffic_opt = {'delay': 5}
> + _, pps = self.tester.pktgen.measure_throughput(stream_ids=streams,
> options=traffic_opt)
> + Mpps = pps / 1000000.0
> + self.verify(Mpps > 0, "can not receive packets of frame size %d" %
> (frame_size))
> + throughput = Mpps * 100 / \
> + float(self.wirespeed(self.nic, frame_size, 1))
> + return Mpps, throughput
> +
> + def send_and_verify(self, case_info):
> + """
> + start to send packets and verify it
> + """
> + for frame_size in self.frame_sizes:
> + info = "Running test %s, and %d frame size." % (self.running_case,
> frame_size)
> + self.logger.info(info)
> + Mpps, throughput = self.calculate_avg_throughput(frame_size)
> + self.update_table_info(case_info, frame_size, Mpps, throughput,
> "Before Restart")
> + self.check_packets_of_each_queue(frame_size)
> + restart_times = 100 if case_info == 'packed_ring_mergeable' else 1
> + self.port_restart(restart_times=restart_times)
> + Mpps, throughput = self.calculate_avg_throughput(frame_size)
> + self.update_table_info(case_info, frame_size, Mpps, throughput,
> "After Restart")
> + self.check_packets_of_each_queue(frame_size)
> +
> + def check_packets_of_each_queue(self, frame_size):
> + """
> + check each queue has receive packets
> + """
> + out = self.dut.send_expect("stop", "testpmd> ", 60)
> + p = re.compile("RX Port= 0/Queue= (\d+) -> TX Port= 0/Queue=
> \d+.*\n.*RX-packets:\s?(\d+).*TX-packets:\s?(\d+)")
> + res = p.findall(out)
> + self.res_queues = sorted([int(i[0]) for i in res])
> + self.res_rx_pkts = [int(i[1]) for i in res]
> + self.res_tx_pkts = [int(i[2]) for i in res]
> + self.verify(self.res_queues == list(range(self.queue_number)),
> + "frame_size: %s, expect %s queues to handle packets, result %s
> queues" % (frame_size, list(range(self.queue_number)), self.res_queues))
> + self.verify(all(self.res_rx_pkts), "each queue should has rx packets,
> result: %s" % self.res_rx_pkts)
> + self.verify(all(self.res_tx_pkts), "each queue should has tx packets,
> result: %s" % self.res_tx_pkts)
> + self.dut.send_expect("start", "testpmd> ", 60)
> +
> + def close_all_testpmd(self):
> + """
> + close testpmd about vhost-user and vm_testpmd
> + """
> + self.vhost.send_expect("quit", "#", 60)
> + self.dut.send_expect("quit", "#", 60)
> +
> + def
> test_perf_pvp_2queues_test_with_packed_ring_mergeable_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="packed_ring_mergeable")
> + self.send_and_verify("packed_ring_mergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_packed_ring_nonmergeable_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="packed_ring_nonmergeable")
> + self.send_and_verify("packed_ring_nonmergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_split_ring_inorder_mergeable_path(sel
> f):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="split_ring_inorder_mergeable")
> + self.send_and_verify("split_ring_inorder_mergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_split_ring_inorder_nonmergeable_path
> (self):
> + self.start_vhost_testpmd()
> +
> self.start_virtio_user_testpmd(flag="split_ring_inorder_nonmergeable")
> + self.send_and_verify("split_ring_inorder_nonmergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def test_perf_pvp_2queues_test_with_split_ring_mergeable_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="split_ring_mergeable")
> + self.send_and_verify("split_ring_mergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_split_ring_nonmergeable_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="split_ring_nonmergeable")
> + self.send_and_verify("split_ring_nonmergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def test_perf_pvp_2queues_test_with_split_ring_vector_rx_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="split_ring_vector_rx")
> + self.send_and_verify("split_ring_vector_rx")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_packed_ring_inorder_mergeable_path(
> self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="packed_ring_inorder_mergeable")
> + self.send_and_verify("packed_ring_inorder_mergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_packed_ring_inorder_nonmergeable_p
> ath(self):
> + self.start_vhost_testpmd()
> +
> self.start_virtio_user_testpmd(flag="packed_ring_inorder_nonmergeable")
> + self.send_and_verify("packed_ring_inorder_nonmergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def tear_down(self):
> + """
> + Run after each test case.
> + """
> + self.dut.kill_all()
> + time.sleep(2)
> +
> + def tear_down_all(self):
> + """
> + Run after each test suite.
> + """
> + self.dut.close_session(self.vhost)
> --
> 1.8.3.1
[-- Attachment #2: TestPVPVirtioUserMultiQueuesPortRestart.log --]
[-- Type: application/octet-stream, Size: 181816 bytes --]
31/03/2020 15:39:21 dts:
TEST SUITE : TestPVPVirtioUserMultiQueuesPortRestart
31/03/2020 15:39:21 dts: NIC : fortville_spirit
31/03/2020 15:39:21 dut.10.240.183.61:
31/03/2020 15:39:21 tester:
31/03/2020 15:39:21 tester: ls -d /tmp
31/03/2020 15:39:21 tester: /tmp
31/03/2020 15:39:23 dut.10.240.183.61: kill_all: called by dut and has no prefix list.
31/03/2020 15:39:23 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_packed_ring_inorder_mergeable_path Begin
31/03/2020 15:39:23 dut.10.240.183.61:
31/03/2020 15:39:24 tester:
31/03/2020 15:39:24 dut.10.240.183.61: rm -rf ./vhost.out
31/03/2020 15:39:24 dut.10.240.183.61:
31/03/2020 15:39:24 dut.10.240.183.61: killall -s INT testpmd
31/03/2020 15:39:24 dut.10.240.183.61: testpmd: no process found
31/03/2020 15:39:24 dut.10.240.183.61: rm -rf ./vhost-net*
31/03/2020 15:39:24 dut.10.240.183.61:
31/03/2020 15:39:25 dut.10.240.183.61: x86_64-native-linuxapp-gcc/app/testpmd -l 23,24,25 -n 4 --file-prefix=virtio_222123_20200331153848 --no-pci --vdev net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,packed_vq=1 -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --rss-ip
31/03/2020 15:39:25 dut.10.240.183.61: EAL: Detected 72 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/virtio_222123_20200331153848/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
Interactive-mode selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=163456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 1)
Port 0: 00:01:02:03:04:05
Checking link statuses...
Done
31/03/2020 15:39:25 dut.10.240.183.61: set fwd mac
31/03/2020 15:39:25 dut.10.240.183.61: set fwd mac
Set mac packet forwarding mode
31/03/2020 15:39:25 dut.10.240.183.61: start
31/03/2020 15:39:26 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:39:26 TestPVPVirtioUserMultiQueuesPortRestart: Running test test_perf_pvp_2queues_test_with_packed_ring_inorder_mergeable_path, and 64 frame size.
31/03/2020 15:39:26 tester: ls -d /tmp
31/03/2020 15:39:26 tester: /tmp
31/03/2020 15:39:26 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:39:27 pktgen: test port 0 map gen port 0
31/03/2020 15:39:27 pktgen: test port 0 map gen port 0
31/03/2020 15:39:27 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:39:27 pktgen: trex port <0> not support flow control
31/03/2020 15:39:27 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:39:27 pktgen: begin traffic ......
31/03/2020 15:39:27 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:39:32 pktgen: traffic completed.
31/03/2020 15:39:32 pktgen: begin traffic ......
31/03/2020 15:39:32 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:39:42 pktgen: begin get port statistic ...
31/03/2020 15:39:42 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:39:42 pktgen: {0: {'ibytes': 10677675008,
'ierrors': 0,
'ipackets': 166838704,
'obytes': 27334973056,
'oerrors': 0,
'opackets': 427109007,
'rx_bps': 8543475712.0,
'rx_bps_L1': 11213313792.0,
'rx_pps': 16686488.0,
'rx_util': 28.03328448,
'tx_bps': 21852424192.0,
'tx_bps_L1': 28681307392.0,
'tx_pps': 42680520.0,
'tx_util': 71.70326848},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.118642807006836,
'cpu_util': 98.26929473876953,
'queue_full': 12013399,
'rx_bps': 8543475712.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 13308948480.0,
'rx_pps': 16686488.0,
'tx_bps': 21852424192.0,
'tx_pps': 42680520.0},
'latency': {},
'total': {'ibytes': 10677675008,
'ierrors': 0,
'ipackets': 166838704,
'obytes': 27334973056,
'oerrors': 0,
'opackets': 427109007,
'rx_bps': 8543475712.0,
'rx_bps_L1': 11213313792.0,
'rx_pps': 16686488.0,
'rx_util': 28.03328448,
'tx_bps': 21852424192.0,
'tx_bps_L1': 28681307392.0,
'tx_pps': 42680520.0,
'tx_util': 71.70326848}}
31/03/2020 15:39:42 pktgen: {'ibytes': 10677675008,
'ierrors': 0,
'ipackets': 166838704,
'obytes': 27334973056,
'oerrors': 0,
'opackets': 427109007,
'rx_bps': 8543475712.0,
'rx_bps_L1': 11213313792.0,
'rx_pps': 16686488.0,
'rx_util': 28.03328448,
'tx_bps': 21852424192.0,
'tx_bps_L1': 28681307392.0,
'tx_pps': 42680520.0,
'tx_util': 71.70326848}
31/03/2020 15:39:42 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21852424192.000000, tx_pps: 42680520.000000
31/03/2020 15:39:42 pktgen: {'ibytes': 10677675008,
'ierrors': 0,
'ipackets': 166838704,
'obytes': 27334973056,
'oerrors': 0,
'opackets': 427109007,
'rx_bps': 8543475712.0,
'rx_bps_L1': 11213313792.0,
'rx_pps': 16686488.0,
'rx_util': 28.03328448,
'tx_bps': 21852424192.0,
'tx_bps_L1': 28681307392.0,
'tx_pps': 42680520.0,
'tx_util': 71.70326848}
31/03/2020 15:39:42 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 8543475712.000000, rx_pps: 16686488.000000
31/03/2020 15:39:42 pktgen: throughput: pps_rx 16686488.000000, bps_rx 8543475712.000000
31/03/2020 15:39:42 pktgen: traffic completed.
31/03/2020 15:39:42 dut.10.240.183.61: stop
31/03/2020 15:39:42 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 125689757 TX-packets: 125575318 TX-dropped: 114439
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 125690167 TX-packets: 125524676 TX-dropped: 165491
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 251379924 RX-dropped: 0 RX-total: 251379924
TX-packets: 251099994 TX-dropped: 279930 TX-total: 251379924
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 251379924 RX-dropped: 0 RX-total: 251379924
TX-packets: 251099994 TX-dropped: 279930 TX-total: 251379924
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:39:42 dut.10.240.183.61: start
31/03/2020 15:39:42 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:39:45 tester: ls -d /tmp
31/03/2020 15:39:45 tester: /tmp
31/03/2020 15:39:45 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:39:47 pktgen: test port 0 map gen port 0
31/03/2020 15:39:47 pktgen: test port 0 map gen port 0
31/03/2020 15:39:47 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:39:47 pktgen: trex port <0> not support flow control
31/03/2020 15:39:47 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:39:47 pktgen: begin traffic ......
31/03/2020 15:39:47 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:39:52 pktgen: traffic completed.
31/03/2020 15:39:52 pktgen: begin traffic ......
31/03/2020 15:39:52 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:40:02 pktgen: begin get port statistic ...
31/03/2020 15:40:02 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:40:02 pktgen: {0: {'ibytes': 9835011008,
'ierrors': 0,
'ipackets': 153672077,
'obytes': 27350831808,
'oerrors': 0,
'opackets': 427356800,
'rx_bps': 7854215168.0,
'rx_bps_L1': 10308657088.0,
'rx_pps': 15340262.0,
'rx_util': 25.77164272,
'tx_bps': 21845602304.0,
'tx_bps_L1': 28672353024.0,
'tx_pps': 42667192.0,
'tx_util': 71.68088256},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.088395118713379,
'cpu_util': 98.50659942626953,
'queue_full': 12075528,
'rx_bps': 7854215168.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 13991387136.0,
'rx_pps': 15340262.0,
'tx_bps': 21845602304.0,
'tx_pps': 42667192.0},
'latency': {},
'total': {'ibytes': 9835011008,
'ierrors': 0,
'ipackets': 153672077,
'obytes': 27350831808,
'oerrors': 0,
'opackets': 427356800,
'rx_bps': 7854215168.0,
'rx_bps_L1': 10308657088.0,
'rx_pps': 15340262.0,
'rx_util': 25.77164272,
'tx_bps': 21845602304.0,
'tx_bps_L1': 28672353024.0,
'tx_pps': 42667192.0,
'tx_util': 71.68088256}}
31/03/2020 15:40:02 pktgen: {'ibytes': 9835011008,
'ierrors': 0,
'ipackets': 153672077,
'obytes': 27350831808,
'oerrors': 0,
'opackets': 427356800,
'rx_bps': 7854215168.0,
'rx_bps_L1': 10308657088.0,
'rx_pps': 15340262.0,
'rx_util': 25.77164272,
'tx_bps': 21845602304.0,
'tx_bps_L1': 28672353024.0,
'tx_pps': 42667192.0,
'tx_util': 71.68088256}
31/03/2020 15:40:02 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21845602304.000000, tx_pps: 42667192.000000
31/03/2020 15:40:02 pktgen: {'ibytes': 9835011008,
'ierrors': 0,
'ipackets': 153672077,
'obytes': 27350831808,
'oerrors': 0,
'opackets': 427356800,
'rx_bps': 7854215168.0,
'rx_bps_L1': 10308657088.0,
'rx_pps': 15340262.0,
'rx_util': 25.77164272,
'tx_bps': 21845602304.0,
'tx_bps_L1': 28672353024.0,
'tx_pps': 42667192.0,
'tx_util': 71.68088256}
31/03/2020 15:40:02 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 7854215168.000000, rx_pps: 15340262.000000
31/03/2020 15:40:02 pktgen: throughput: pps_rx 15340262.000000, bps_rx 7854215168.000000
31/03/2020 15:40:02 pktgen: traffic completed.
31/03/2020 15:40:02 dut.10.240.183.61: stop
31/03/2020 15:40:02 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 114957048 TX-packets: 114906322 TX-dropped: 50726
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 116012201 TX-packets: 115864226 TX-dropped: 147975
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 230969249 RX-dropped: 0 RX-total: 230969249
TX-packets: 230770548 TX-dropped: 198701 TX-total: 230969249
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 230969249 RX-dropped: 0 RX-total: 230969249
TX-packets: 230770548 TX-dropped: 198701 TX-total: 230969249
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:40:02 dut.10.240.183.61: start
31/03/2020 15:40:02 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:40:03 dut.10.240.183.61: quit
31/03/2020 15:40:04 dut.10.240.183.61: quit
Telling cores to stop...
Waiting for lcores to finish...
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
Stopping port 0...
Stopping ports...
Done
Shutting down port 0...
Closing ports...
31/03/2020 15:40:04 TestPVPVirtioUserMultiQueuesPortRestart:
+--------------+-------------------------------+------------------+------------+----------------+
| FrameSize(B) | Mode | Throughput(Mpps) | % linerate | Cycle |
+==============+===============================+==================+============+================+
| 64 | packed_ring_inorder_mergeable | 16.686 | 28.033 | Before Restart |
+--------------+-------------------------------+------------------+------------+----------------+
| 64 | packed_ring_inorder_mergeable | 15.340 | 25.772 | After Restart |
+--------------+-------------------------------+------------------+------------+----------------+
31/03/2020 15:40:04 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_packed_ring_inorder_mergeable_path Result PASSED:
31/03/2020 15:40:04 dut.10.240.183.61: kill_all: called by dut and prefix list has value.
31/03/2020 15:40:07 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_packed_ring_inorder_nonmergeable_path Begin
31/03/2020 15:40:07 dut.10.240.183.61:
31/03/2020 15:40:07 tester:
31/03/2020 15:40:07 dut.10.240.183.61: rm -rf ./vhost.out
31/03/2020 15:40:08 dut.10.240.183.61:
31/03/2020 15:40:08 dut.10.240.183.61: killall -s INT testpmd
31/03/2020 15:40:08 dut.10.240.183.61: testpmd: no process found
31/03/2020 15:40:08 dut.10.240.183.61: rm -rf ./vhost-net*
31/03/2020 15:40:08 dut.10.240.183.61:
31/03/2020 15:40:09 dut.10.240.183.61: x86_64-native-linuxapp-gcc/app/testpmd -l 23,24,25 -n 4 --file-prefix=virtio_222123_20200331153848 --no-pci --vdev net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,packed_vq=1,mrg_rxbuf=0 -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --rss-ip
31/03/2020 15:40:09 dut.10.240.183.61: EAL: Detected 72 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/virtio_222123_20200331153848/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
Interactive-mode selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=163456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 1)
Port 0: 00:01:02:03:04:05
Checking link statuses...
Done
31/03/2020 15:40:09 dut.10.240.183.61: set fwd mac
31/03/2020 15:40:09 dut.10.240.183.61: set fwd mac
Set mac packet forwarding mode
31/03/2020 15:40:09 dut.10.240.183.61: start
31/03/2020 15:40:09 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:40:09 TestPVPVirtioUserMultiQueuesPortRestart: Running test test_perf_pvp_2queues_test_with_packed_ring_inorder_nonmergeable_path, and 64 frame size.
31/03/2020 15:40:09 tester: ls -d /tmp
31/03/2020 15:40:10 tester: /tmp
31/03/2020 15:40:10 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:40:11 pktgen: test port 0 map gen port 0
31/03/2020 15:40:11 pktgen: test port 0 map gen port 0
31/03/2020 15:40:11 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:40:11 pktgen: trex port <0> not support flow control
31/03/2020 15:40:11 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:40:11 pktgen: begin traffic ......
31/03/2020 15:40:11 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:40:16 pktgen: traffic completed.
31/03/2020 15:40:16 pktgen: begin traffic ......
31/03/2020 15:40:16 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:40:26 pktgen: begin get port statistic ...
31/03/2020 15:40:26 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:40:26 pktgen: {0: {'ibytes': 10783860992,
'ierrors': 0,
'ipackets': 168497860,
'obytes': 27364894336,
'oerrors': 0,
'opackets': 427576533,
'rx_bps': 8608408576.0,
'rx_bps_L1': 11298534656.0,
'rx_pps': 16813288.0,
'rx_util': 28.246336640000003,
'tx_bps': 21863970816.0,
'tx_bps_L1': 28696461056.000004,
'tx_pps': 42703064.0,
'tx_util': 71.74115264000001},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.15357780456543,
'cpu_util': 98.01325988769531,
'queue_full': 11979692,
'rx_bps': 8608408576.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 13255562240.0,
'rx_pps': 16813288.0,
'tx_bps': 21863970816.0,
'tx_pps': 42703064.0},
'latency': {},
'total': {'ibytes': 10783860992,
'ierrors': 0,
'ipackets': 168497860,
'obytes': 27364894336,
'oerrors': 0,
'opackets': 427576533,
'rx_bps': 8608408576.0,
'rx_bps_L1': 11298534656.0,
'rx_pps': 16813288.0,
'rx_util': 28.246336640000003,
'tx_bps': 21863970816.0,
'tx_bps_L1': 28696461056.000004,
'tx_pps': 42703064.0,
'tx_util': 71.74115264000001}}
31/03/2020 15:40:26 pktgen: {'ibytes': 10783860992,
'ierrors': 0,
'ipackets': 168497860,
'obytes': 27364894336,
'oerrors': 0,
'opackets': 427576533,
'rx_bps': 8608408576.0,
'rx_bps_L1': 11298534656.0,
'rx_pps': 16813288.0,
'rx_util': 28.246336640000003,
'tx_bps': 21863970816.0,
'tx_bps_L1': 28696461056.000004,
'tx_pps': 42703064.0,
'tx_util': 71.74115264000001}
31/03/2020 15:40:26 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21863970816.000000, tx_pps: 42703064.000000
31/03/2020 15:40:26 pktgen: {'ibytes': 10783860992,
'ierrors': 0,
'ipackets': 168497860,
'obytes': 27364894336,
'oerrors': 0,
'opackets': 427576533,
'rx_bps': 8608408576.0,
'rx_bps_L1': 11298534656.0,
'rx_pps': 16813288.0,
'rx_util': 28.246336640000003,
'tx_bps': 21863970816.0,
'tx_bps_L1': 28696461056.000004,
'tx_pps': 42703064.0,
'tx_util': 71.74115264000001}
31/03/2020 15:40:26 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 8608408576.000000, rx_pps: 16813288.000000
31/03/2020 15:40:26 pktgen: throughput: pps_rx 16813288.000000, bps_rx 8608408576.000000
31/03/2020 15:40:26 pktgen: traffic completed.
31/03/2020 15:40:26 dut.10.240.183.61: stop
31/03/2020 15:40:26 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 126850903 TX-packets: 126679143 TX-dropped: 171760
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 126459118 TX-packets: 126314166 TX-dropped: 144952
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 253310021 RX-dropped: 0 RX-total: 253310021
TX-packets: 252993309 TX-dropped: 316712 TX-total: 253310021
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 253310021 RX-dropped: 0 RX-total: 253310021
TX-packets: 252993309 TX-dropped: 316712 TX-total: 253310021
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:40:26 dut.10.240.183.61: start
31/03/2020 15:40:26 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:40:29 tester: ls -d /tmp
31/03/2020 15:40:29 tester: /tmp
31/03/2020 15:40:29 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:40:31 pktgen: test port 0 map gen port 0
31/03/2020 15:40:31 pktgen: test port 0 map gen port 0
31/03/2020 15:40:31 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:40:31 pktgen: trex port <0> not support flow control
31/03/2020 15:40:31 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:40:31 pktgen: begin traffic ......
31/03/2020 15:40:31 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:40:36 pktgen: traffic completed.
31/03/2020 15:40:36 pktgen: begin traffic ......
31/03/2020 15:40:36 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:40:46 pktgen: begin get port statistic ...
31/03/2020 15:40:46 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:40:46 pktgen: {0: {'ibytes': 9855985984,
'ierrors': 0,
'ipackets': 153999818,
'obytes': 27366326400,
'oerrors': 0,
'opackets': 427598900,
'rx_bps': 7866627072.0,
'rx_bps_L1': 10324946592.0,
'rx_pps': 15364497.0,
'rx_util': 25.812366479999998,
'tx_bps': 21850935296.0,
'tx_bps_L1': 28679351936.0,
'tx_pps': 42677604.0,
'tx_util': 71.69837984},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.078104019165039,
'cpu_util': 98.62217712402344,
'queue_full': 12008324,
'rx_bps': 7866627072.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 13984308224.0,
'rx_pps': 15364497.0,
'tx_bps': 21850935296.0,
'tx_pps': 42677604.0},
'latency': {},
'total': {'ibytes': 9855985984,
'ierrors': 0,
'ipackets': 153999818,
'obytes': 27366326400,
'oerrors': 0,
'opackets': 427598900,
'rx_bps': 7866627072.0,
'rx_bps_L1': 10324946592.0,
'rx_pps': 15364497.0,
'rx_util': 25.812366479999998,
'tx_bps': 21850935296.0,
'tx_bps_L1': 28679351936.0,
'tx_pps': 42677604.0,
'tx_util': 71.69837984}}
31/03/2020 15:40:46 pktgen: {'ibytes': 9855985984,
'ierrors': 0,
'ipackets': 153999818,
'obytes': 27366326400,
'oerrors': 0,
'opackets': 427598900,
'rx_bps': 7866627072.0,
'rx_bps_L1': 10324946592.0,
'rx_pps': 15364497.0,
'rx_util': 25.812366479999998,
'tx_bps': 21850935296.0,
'tx_bps_L1': 28679351936.0,
'tx_pps': 42677604.0,
'tx_util': 71.69837984}
31/03/2020 15:40:46 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21850935296.000000, tx_pps: 42677604.000000
31/03/2020 15:40:46 pktgen: {'ibytes': 9855985984,
'ierrors': 0,
'ipackets': 153999818,
'obytes': 27366326400,
'oerrors': 0,
'opackets': 427598900,
'rx_bps': 7866627072.0,
'rx_bps_L1': 10324946592.0,
'rx_pps': 15364497.0,
'rx_util': 25.812366479999998,
'tx_bps': 21850935296.0,
'tx_bps_L1': 28679351936.0,
'tx_pps': 42677604.0,
'tx_util': 71.69837984}
31/03/2020 15:40:46 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 7866627072.000000, rx_pps: 15364497.000000
31/03/2020 15:40:46 pktgen: throughput: pps_rx 15364497.000000, bps_rx 7866627072.000000
31/03/2020 15:40:46 pktgen: traffic completed.
31/03/2020 15:40:46 dut.10.240.183.61: stop
31/03/2020 15:40:46 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 115840695 TX-packets: 115674806 TX-dropped: 165889
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 115626083 TX-packets: 115600445 TX-dropped: 25638
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 231466778 RX-dropped: 0 RX-total: 231466778
TX-packets: 231275251 TX-dropped: 191527 TX-total: 231466778
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 231466778 RX-dropped: 0 RX-total: 231466778
TX-packets: 231275251 TX-dropped: 191527 TX-total: 231466778
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:40:46 dut.10.240.183.61: start
31/03/2020 15:40:46 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:40:47 dut.10.240.183.61: quit
31/03/2020 15:40:48 dut.10.240.183.61: quit
Telling cores to stop...
Waiting for lcores to finish...
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
Stopping port 0...
Stopping ports...
Done
Shutting down port 0...
Closing ports...
31/03/2020 15:40:48 TestPVPVirtioUserMultiQueuesPortRestart:
+--------------+----------------------------------+------------------+------------+----------------+
| FrameSize(B) | Mode | Throughput(Mpps) | % linerate | Cycle |
+==============+==================================+==================+============+================+
| 64 | packed_ring_inorder_nonmergeable | 16.813 | 28.246 | Before Restart |
+--------------+----------------------------------+------------------+------------+----------------+
| 64 | packed_ring_inorder_nonmergeable | 15.364 | 25.812 | After Restart |
+--------------+----------------------------------+------------------+------------+----------------+
31/03/2020 15:40:48 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_packed_ring_inorder_nonmergeable_path Result PASSED:
31/03/2020 15:40:48 dut.10.240.183.61: kill_all: called by dut and prefix list has value.
31/03/2020 15:40:51 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_packed_ring_mergeable_path Begin
31/03/2020 15:40:51 dut.10.240.183.61:
31/03/2020 15:40:51 tester:
31/03/2020 15:40:51 dut.10.240.183.61: rm -rf ./vhost.out
31/03/2020 15:40:51 dut.10.240.183.61:
31/03/2020 15:40:51 dut.10.240.183.61: killall -s INT testpmd
31/03/2020 15:40:52 dut.10.240.183.61: testpmd: no process found
31/03/2020 15:40:52 dut.10.240.183.61: rm -rf ./vhost-net*
31/03/2020 15:40:52 dut.10.240.183.61:
31/03/2020 15:40:52 dut.10.240.183.61: x86_64-native-linuxapp-gcc/app/testpmd -l 23,24,25 -n 4 --file-prefix=virtio_222123_20200331153848 --no-pci --vdev net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,packed_vq=1,in_order=0 -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --rss-ip
31/03/2020 15:40:53 dut.10.240.183.61: EAL: Detected 72 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/virtio_222123_20200331153848/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
Interactive-mode selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=163456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 1)
Port 0: 00:01:02:03:04:05
Checking link statuses...
Done
31/03/2020 15:40:53 dut.10.240.183.61: set fwd mac
31/03/2020 15:40:53 dut.10.240.183.61: set fwd mac
Set mac packet forwarding mode
31/03/2020 15:40:53 dut.10.240.183.61: start
31/03/2020 15:40:53 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:40:53 TestPVPVirtioUserMultiQueuesPortRestart: Running test test_perf_pvp_2queues_test_with_packed_ring_mergeable_path, and 64 frame size.
31/03/2020 15:40:53 tester: ls -d /tmp
31/03/2020 15:40:53 tester: /tmp
31/03/2020 15:40:53 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:40:55 pktgen: test port 0 map gen port 0
31/03/2020 15:40:55 pktgen: test port 0 map gen port 0
31/03/2020 15:40:55 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:40:55 pktgen: trex port <0> not support flow control
31/03/2020 15:40:55 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:40:55 pktgen: begin traffic ......
31/03/2020 15:40:55 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:41:00 pktgen: traffic completed.
31/03/2020 15:41:00 pktgen: begin traffic ......
31/03/2020 15:41:00 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:41:10 pktgen: begin get port statistic ...
31/03/2020 15:41:10 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:41:10 pktgen: {0: {'ibytes': 10348049024,
'ierrors': 0,
'ipackets': 161688266,
'obytes': 27339186880,
'oerrors': 0,
'opackets': 427174855,
'rx_bps': 8266870272.0,
'rx_bps_L1': 10850267392.0,
'rx_pps': 16146232.0,
'rx_util': 27.125668479999998,
'tx_bps': 21842440192.0,
'tx_bps_L1': 28668202752.0,
'tx_pps': 42661016.0,
'tx_util': 71.67050687999999},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.12826919555664,
'cpu_util': 98.1394271850586,
'queue_full': 11988215,
'rx_bps': 8266870272.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 13575569408.0,
'rx_pps': 16146232.0,
'tx_bps': 21842440192.0,
'tx_pps': 42661016.0},
'latency': {},
'total': {'ibytes': 10348049024,
'ierrors': 0,
'ipackets': 161688266,
'obytes': 27339186880,
'oerrors': 0,
'opackets': 427174855,
'rx_bps': 8266870272.0,
'rx_bps_L1': 10850267392.0,
'rx_pps': 16146232.0,
'rx_util': 27.125668479999998,
'tx_bps': 21842440192.0,
'tx_bps_L1': 28668202752.0,
'tx_pps': 42661016.0,
'tx_util': 71.67050687999999}}
31/03/2020 15:41:10 pktgen: {'ibytes': 10348049024,
'ierrors': 0,
'ipackets': 161688266,
'obytes': 27339186880,
'oerrors': 0,
'opackets': 427174855,
'rx_bps': 8266870272.0,
'rx_bps_L1': 10850267392.0,
'rx_pps': 16146232.0,
'rx_util': 27.125668479999998,
'tx_bps': 21842440192.0,
'tx_bps_L1': 28668202752.0,
'tx_pps': 42661016.0,
'tx_util': 71.67050687999999}
31/03/2020 15:41:10 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21842440192.000000, tx_pps: 42661016.000000
31/03/2020 15:41:10 pktgen: {'ibytes': 10348049024,
'ierrors': 0,
'ipackets': 161688266,
'obytes': 27339186880,
'oerrors': 0,
'opackets': 427174855,
'rx_bps': 8266870272.0,
'rx_bps_L1': 10850267392.0,
'rx_pps': 16146232.0,
'rx_util': 27.125668479999998,
'tx_bps': 21842440192.0,
'tx_bps_L1': 28668202752.0,
'tx_pps': 42661016.0,
'tx_util': 71.67050687999999}
31/03/2020 15:41:10 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 8266870272.000000, rx_pps: 16146232.000000
31/03/2020 15:41:10 pktgen: throughput: pps_rx 16146232.000000, bps_rx 8266870272.000000
31/03/2020 15:41:10 pktgen: traffic completed.
31/03/2020 15:41:10 dut.10.240.183.61: stop
31/03/2020 15:41:10 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 121522839 TX-packets: 121507747 TX-dropped: 15092
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 121184332 TX-packets: 121183396 TX-dropped: 936
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 242707171 RX-dropped: 0 RX-total: 242707171
TX-packets: 242691143 TX-dropped: 16028 TX-total: 242707171
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 242707171 RX-dropped: 0 RX-total: 242707171
TX-packets: 242691143 TX-dropped: 16028 TX-total: 242707171
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:41:10 dut.10.240.183.61: start
31/03/2020 15:41:10 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:45:41 tester: ls -d /tmp
31/03/2020 15:45:41 tester: /tmp
31/03/2020 15:45:41 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:45:43 pktgen: test port 0 map gen port 0
31/03/2020 15:45:43 pktgen: test port 0 map gen port 0
31/03/2020 15:45:43 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:45:43 pktgen: trex port <0> not support flow control
31/03/2020 15:45:43 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:45:43 pktgen: begin traffic ......
31/03/2020 15:45:43 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:45:48 pktgen: traffic completed.
31/03/2020 15:45:48 pktgen: begin traffic ......
31/03/2020 15:45:48 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:45:58 pktgen: begin get port statistic ...
31/03/2020 15:45:58 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:45:58 pktgen: {0: {'ibytes': 9720822656,
'ierrors': 0,
'ipackets': 151887857,
'obytes': 27319809408,
'oerrors': 0,
'opackets': 426872074,
'rx_bps': 7776747008.0,
'rx_bps_L1': 10206979648.0,
'rx_pps': 15188954.0,
'rx_util': 25.517449120000002,
'tx_bps': 21853208576.0,
'tx_bps_L1': 28682336256.0,
'tx_pps': 42682048.0,
'tx_util': 71.70584063999999},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.16845703125,
'cpu_util': 97.83450317382812,
'queue_full': 11979635,
'rx_bps': 7776747008.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14076462080.0,
'rx_pps': 15188954.0,
'tx_bps': 21853208576.0,
'tx_pps': 42682048.0},
'latency': {},
'total': {'ibytes': 9720822656,
'ierrors': 0,
'ipackets': 151887857,
'obytes': 27319809408,
'oerrors': 0,
'opackets': 426872074,
'rx_bps': 7776747008.0,
'rx_bps_L1': 10206979648.0,
'rx_pps': 15188954.0,
'rx_util': 25.517449120000002,
'tx_bps': 21853208576.0,
'tx_bps_L1': 28682336256.0,
'tx_pps': 42682048.0,
'tx_util': 71.70584063999999}}
31/03/2020 15:45:58 pktgen: {'ibytes': 9720822656,
'ierrors': 0,
'ipackets': 151887857,
'obytes': 27319809408,
'oerrors': 0,
'opackets': 426872074,
'rx_bps': 7776747008.0,
'rx_bps_L1': 10206979648.0,
'rx_pps': 15188954.0,
'rx_util': 25.517449120000002,
'tx_bps': 21853208576.0,
'tx_bps_L1': 28682336256.0,
'tx_pps': 42682048.0,
'tx_util': 71.70584063999999}
31/03/2020 15:45:58 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21853208576.000000, tx_pps: 42682048.000000
31/03/2020 15:45:58 pktgen: {'ibytes': 9720822656,
'ierrors': 0,
'ipackets': 151887857,
'obytes': 27319809408,
'oerrors': 0,
'opackets': 426872074,
'rx_bps': 7776747008.0,
'rx_bps_L1': 10206979648.0,
'rx_pps': 15188954.0,
'rx_util': 25.517449120000002,
'tx_bps': 21853208576.0,
'tx_bps_L1': 28682336256.0,
'tx_pps': 42682048.0,
'tx_util': 71.70584063999999}
31/03/2020 15:45:58 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 7776747008.000000, rx_pps: 15188954.000000
31/03/2020 15:45:58 pktgen: throughput: pps_rx 15188954.000000, bps_rx 7776747008.000000
31/03/2020 15:45:58 pktgen: traffic completed.
31/03/2020 15:45:58 dut.10.240.183.61: stop
31/03/2020 15:45:58 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 111957719 TX-packets: 111957129 TX-dropped: 590
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 117242151 TX-packets: 117241653 TX-dropped: 498
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 229199870 RX-dropped: 0 RX-total: 229199870
TX-packets: 229198782 TX-dropped: 1088 TX-total: 229199870
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 229199870 RX-dropped: 0 RX-total: 229199870
TX-packets: 229198782 TX-dropped: 1088 TX-total: 229199870
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:45:58 dut.10.240.183.61: start
31/03/2020 15:45:58 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:45:59 dut.10.240.183.61: quit
31/03/2020 15:46:00 dut.10.240.183.61: quit
Telling cores to stop...
Waiting for lcores to finish...
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
Stopping port 0...
Stopping ports...
Done
Shutting down port 0...
Closing ports...
31/03/2020 15:46:00 TestPVPVirtioUserMultiQueuesPortRestart:
+--------------+-----------------------+------------------+------------+----------------+
| FrameSize(B) | Mode | Throughput(Mpps) | % linerate | Cycle |
+==============+=======================+==================+============+================+
| 64 | packed_ring_mergeable | 16.146 | 27.126 | Before Restart |
+--------------+-----------------------+------------------+------------+----------------+
| 64 | packed_ring_mergeable | 15.189 | 25.517 | After Restart |
+--------------+-----------------------+------------------+------------+----------------+
31/03/2020 15:46:00 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_packed_ring_mergeable_path Result PASSED:
31/03/2020 15:46:00 dut.10.240.183.61: kill_all: called by dut and prefix list has value.
31/03/2020 15:46:03 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_packed_ring_nonmergeable_path Begin
31/03/2020 15:46:03 dut.10.240.183.61:
31/03/2020 15:46:03 tester:
31/03/2020 15:46:03 dut.10.240.183.61: rm -rf ./vhost.out
31/03/2020 15:46:03 dut.10.240.183.61:
31/03/2020 15:46:03 dut.10.240.183.61: killall -s INT testpmd
31/03/2020 15:46:04 dut.10.240.183.61: testpmd: no process found
31/03/2020 15:46:04 dut.10.240.183.61: rm -rf ./vhost-net*
31/03/2020 15:46:04 dut.10.240.183.61:
31/03/2020 15:46:04 dut.10.240.183.61: x86_64-native-linuxapp-gcc/app/testpmd -l 23,24,25 -n 4 --file-prefix=virtio_222123_20200331153848 --no-pci --vdev net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=0 -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --rss-ip
31/03/2020 15:46:06 dut.10.240.183.61: EAL: Detected 72 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/virtio_222123_20200331153848/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
Interactive-mode selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=163456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 1)
Port 0: 00:01:02:03:04:05
Checking link statuses...
Done
31/03/2020 15:46:06 dut.10.240.183.61: set fwd mac
31/03/2020 15:46:06 dut.10.240.183.61: set fwd mac
Set mac packet forwarding mode
31/03/2020 15:46:06 dut.10.240.183.61: start
31/03/2020 15:46:06 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:46:06 TestPVPVirtioUserMultiQueuesPortRestart: Running test test_perf_pvp_2queues_test_with_packed_ring_nonmergeable_path, and 64 frame size.
31/03/2020 15:46:06 tester: ls -d /tmp
31/03/2020 15:46:06 tester: /tmp
31/03/2020 15:46:06 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:46:07 pktgen: test port 0 map gen port 0
31/03/2020 15:46:07 pktgen: test port 0 map gen port 0
31/03/2020 15:46:07 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:46:07 pktgen: trex port <0> not support flow control
31/03/2020 15:46:07 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:46:07 pktgen: begin traffic ......
31/03/2020 15:46:07 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:46:12 pktgen: traffic completed.
31/03/2020 15:46:12 pktgen: begin traffic ......
31/03/2020 15:46:12 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:46:23 pktgen: begin get port statistic ...
31/03/2020 15:46:23 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:46:23 pktgen: {0: {'ibytes': 10337994304,
'ierrors': 0,
'ipackets': 161531189,
'obytes': 27326429120,
'oerrors': 0,
'opackets': 426975506,
'rx_bps': 8278067200.0,
'rx_bps_L1': 10864965920.0,
'rx_pps': 16168117.0,
'rx_util': 27.1624148,
'tx_bps': 21900531712.0,
'tx_bps_L1': 28744447231.999996,
'tx_pps': 42774472.0,
'tx_util': 71.86111807999998},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.148337364196777,
'cpu_util': 98.22331237792969,
'queue_full': 12010549,
'rx_bps': 8278067200.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 13622463488.0,
'rx_pps': 16168117.0,
'tx_bps': 21900531712.0,
'tx_pps': 42774472.0},
'latency': {},
'total': {'ibytes': 10337994304,
'ierrors': 0,
'ipackets': 161531189,
'obytes': 27326429120,
'oerrors': 0,
'opackets': 426975506,
'rx_bps': 8278067200.0,
'rx_bps_L1': 10864965920.0,
'rx_pps': 16168117.0,
'rx_util': 27.1624148,
'tx_bps': 21900531712.0,
'tx_bps_L1': 28744447231.999996,
'tx_pps': 42774472.0,
'tx_util': 71.86111807999998}}
31/03/2020 15:46:23 pktgen: {'ibytes': 10337994304,
'ierrors': 0,
'ipackets': 161531189,
'obytes': 27326429120,
'oerrors': 0,
'opackets': 426975506,
'rx_bps': 8278067200.0,
'rx_bps_L1': 10864965920.0,
'rx_pps': 16168117.0,
'rx_util': 27.1624148,
'tx_bps': 21900531712.0,
'tx_bps_L1': 28744447231.999996,
'tx_pps': 42774472.0,
'tx_util': 71.86111807999998}
31/03/2020 15:46:23 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21900531712.000000, tx_pps: 42774472.000000
31/03/2020 15:46:23 pktgen: {'ibytes': 10337994304,
'ierrors': 0,
'ipackets': 161531189,
'obytes': 27326429120,
'oerrors': 0,
'opackets': 426975506,
'rx_bps': 8278067200.0,
'rx_bps_L1': 10864965920.0,
'rx_pps': 16168117.0,
'rx_util': 27.1624148,
'tx_bps': 21900531712.0,
'tx_bps_L1': 28744447231.999996,
'tx_pps': 42774472.0,
'tx_util': 71.86111807999998}
31/03/2020 15:46:23 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 8278067200.000000, rx_pps: 16168117.000000
31/03/2020 15:46:23 pktgen: throughput: pps_rx 16168117.000000, bps_rx 8278067200.000000
31/03/2020 15:46:23 pktgen: traffic completed.
31/03/2020 15:46:23 dut.10.240.183.61: stop
31/03/2020 15:46:23 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 121404323 TX-packets: 121403355 TX-dropped: 968
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 121299223 TX-packets: 121298699 TX-dropped: 524
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 242703546 RX-dropped: 0 RX-total: 242703546
TX-packets: 242702054 TX-dropped: 1492 TX-total: 242703546
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 242703546 RX-dropped: 0 RX-total: 242703546
TX-packets: 242702054 TX-dropped: 1492 TX-total: 242703546
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:46:23 dut.10.240.183.61: start
31/03/2020 15:46:23 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:46:25 tester: ls -d /tmp
31/03/2020 15:46:26 tester: /tmp
31/03/2020 15:46:26 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:46:27 pktgen: test port 0 map gen port 0
31/03/2020 15:46:27 pktgen: test port 0 map gen port 0
31/03/2020 15:46:27 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:46:27 pktgen: trex port <0> not support flow control
31/03/2020 15:46:27 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:46:27 pktgen: begin traffic ......
31/03/2020 15:46:27 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:46:32 pktgen: traffic completed.
31/03/2020 15:46:32 pktgen: begin traffic ......
31/03/2020 15:46:32 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:46:42 pktgen: begin get port statistic ...
31/03/2020 15:46:42 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:46:42 pktgen: {0: {'ibytes': 9530899648,
'ierrors': 0,
'ipackets': 148920313,
'obytes': 27317190400,
'oerrors': 0,
'opackets': 426831153,
'rx_bps': 7642819072.0,
'rx_bps_L1': 10031197792.0,
'rx_pps': 14927367.0,
'rx_util': 25.077994479999997,
'tx_bps': 21847332864.0,
'tx_bps_L1': 28674624384.0,
'tx_pps': 42670572.0,
'tx_util': 71.68656096},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.057981491088867,
'cpu_util': 98.78535461425781,
'queue_full': 11955310,
'rx_bps': 7642819072.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14204513280.0,
'rx_pps': 14927367.0,
'tx_bps': 21847332864.0,
'tx_pps': 42670572.0},
'latency': {},
'total': {'ibytes': 9530899648,
'ierrors': 0,
'ipackets': 148920313,
'obytes': 27317190400,
'oerrors': 0,
'opackets': 426831153,
'rx_bps': 7642819072.0,
'rx_bps_L1': 10031197792.0,
'rx_pps': 14927367.0,
'rx_util': 25.077994479999997,
'tx_bps': 21847332864.0,
'tx_bps_L1': 28674624384.0,
'tx_pps': 42670572.0,
'tx_util': 71.68656096}}
31/03/2020 15:46:42 pktgen: {'ibytes': 9530899648,
'ierrors': 0,
'ipackets': 148920313,
'obytes': 27317190400,
'oerrors': 0,
'opackets': 426831153,
'rx_bps': 7642819072.0,
'rx_bps_L1': 10031197792.0,
'rx_pps': 14927367.0,
'rx_util': 25.077994479999997,
'tx_bps': 21847332864.0,
'tx_bps_L1': 28674624384.0,
'tx_pps': 42670572.0,
'tx_util': 71.68656096}
31/03/2020 15:46:42 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21847332864.000000, tx_pps: 42670572.000000
31/03/2020 15:46:42 pktgen: {'ibytes': 9530899648,
'ierrors': 0,
'ipackets': 148920313,
'obytes': 27317190400,
'oerrors': 0,
'opackets': 426831153,
'rx_bps': 7642819072.0,
'rx_bps_L1': 10031197792.0,
'rx_pps': 14927367.0,
'rx_util': 25.077994479999997,
'tx_bps': 21847332864.0,
'tx_bps_L1': 28674624384.0,
'tx_pps': 42670572.0,
'tx_util': 71.68656096}
31/03/2020 15:46:42 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 7642819072.000000, rx_pps: 14927367.000000
31/03/2020 15:46:42 pktgen: throughput: pps_rx 14927367.000000, bps_rx 7642819072.000000
31/03/2020 15:46:42 pktgen: traffic completed.
31/03/2020 15:46:42 dut.10.240.183.61: stop
31/03/2020 15:46:42 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 111713714 TX-packets: 111713280 TX-dropped: 434
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 111715959 TX-packets: 111715617 TX-dropped: 342
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 223429673 RX-dropped: 0 RX-total: 223429673
TX-packets: 223428897 TX-dropped: 776 TX-total: 223429673
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 223429673 RX-dropped: 0 RX-total: 223429673
TX-packets: 223428897 TX-dropped: 776 TX-total: 223429673
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:46:42 dut.10.240.183.61: start
31/03/2020 15:46:42 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:46:44 dut.10.240.183.61: quit
31/03/2020 15:46:45 dut.10.240.183.61: quit
Telling cores to stop...
Waiting for lcores to finish...
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
Stopping port 0...
Stopping ports...
Done
Shutting down port 0...
Closing ports...
31/03/2020 15:46:45 TestPVPVirtioUserMultiQueuesPortRestart:
+--------------+--------------------------+------------------+------------+----------------+
| FrameSize(B) | Mode | Throughput(Mpps) | % linerate | Cycle |
+==============+==========================+==================+============+================+
| 64 | packed_ring_nonmergeable | 16.168 | 27.162 | Before Restart |
+--------------+--------------------------+------------------+------------+----------------+
| 64 | packed_ring_nonmergeable | 14.927 | 25.078 | After Restart |
+--------------+--------------------------+------------------+------------+----------------+
31/03/2020 15:46:45 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_packed_ring_nonmergeable_path Result PASSED:
31/03/2020 15:46:45 dut.10.240.183.61: kill_all: called by dut and prefix list has value.
31/03/2020 15:46:48 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_split_ring_inorder_mergeable_path Begin
31/03/2020 15:46:48 dut.10.240.183.61:
31/03/2020 15:46:48 tester:
31/03/2020 15:46:48 dut.10.240.183.61: rm -rf ./vhost.out
31/03/2020 15:46:48 dut.10.240.183.61:
31/03/2020 15:46:48 dut.10.240.183.61: killall -s INT testpmd
31/03/2020 15:46:48 dut.10.240.183.61: testpmd: no process found
31/03/2020 15:46:48 dut.10.240.183.61: rm -rf ./vhost-net*
31/03/2020 15:46:48 dut.10.240.183.61:
31/03/2020 15:46:49 dut.10.240.183.61: x86_64-native-linuxapp-gcc/app/testpmd -l 23,24,25 -n 4 --file-prefix=virtio_222123_20200331153848 --no-pci --vdev net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2 -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --rss-ip
31/03/2020 15:46:50 dut.10.240.183.61: EAL: Detected 72 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/virtio_222123_20200331153848/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
Interactive-mode selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=163456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 1)
Port 0: 00:01:02:03:04:05
Checking link statuses...
Done
31/03/2020 15:46:50 dut.10.240.183.61: set fwd mac
31/03/2020 15:46:50 dut.10.240.183.61: set fwd mac
Set mac packet forwarding mode
31/03/2020 15:46:50 dut.10.240.183.61: start
31/03/2020 15:46:50 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:46:50 TestPVPVirtioUserMultiQueuesPortRestart: Running test test_perf_pvp_2queues_test_with_split_ring_inorder_mergeable_path, and 64 frame size.
31/03/2020 15:46:50 tester: ls -d /tmp
31/03/2020 15:46:50 tester: /tmp
31/03/2020 15:46:50 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:46:51 pktgen: test port 0 map gen port 0
31/03/2020 15:46:51 pktgen: test port 0 map gen port 0
31/03/2020 15:46:51 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:46:51 pktgen: trex port <0> not support flow control
31/03/2020 15:46:51 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:46:51 pktgen: begin traffic ......
31/03/2020 15:46:51 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:46:56 pktgen: traffic completed.
31/03/2020 15:46:56 pktgen: begin traffic ......
31/03/2020 15:46:56 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:47:06 pktgen: begin get port statistic ...
31/03/2020 15:47:06 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:47:06 pktgen: {0: {'ibytes': 8641960128,
'ierrors': 0,
'ipackets': 135030674,
'obytes': 27314267328,
'oerrors': 0,
'opackets': 426785460,
'rx_bps': 6900058624.0,
'rx_bps_L1': 9056325824.0,
'rx_pps': 13476670.0,
'rx_util': 22.64081456,
'tx_bps': 21828347904.0,
'tx_bps_L1': 28649705984.0,
'tx_pps': 42633488.0,
'tx_util': 71.62426495999999},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.093605995178223,
'cpu_util': 98.38256072998047,
'queue_full': 12370761,
'rx_bps': 6900058624.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14928288768.0,
'rx_pps': 13476670.0,
'tx_bps': 21828347904.0,
'tx_pps': 42633488.0},
'latency': {},
'total': {'ibytes': 8641960128,
'ierrors': 0,
'ipackets': 135030674,
'obytes': 27314267328,
'oerrors': 0,
'opackets': 426785460,
'rx_bps': 6900058624.0,
'rx_bps_L1': 9056325824.0,
'rx_pps': 13476670.0,
'rx_util': 22.64081456,
'tx_bps': 21828347904.0,
'tx_bps_L1': 28649705984.0,
'tx_pps': 42633488.0,
'tx_util': 71.62426495999999}}
31/03/2020 15:47:06 pktgen: {'ibytes': 8641960128,
'ierrors': 0,
'ipackets': 135030674,
'obytes': 27314267328,
'oerrors': 0,
'opackets': 426785460,
'rx_bps': 6900058624.0,
'rx_bps_L1': 9056325824.0,
'rx_pps': 13476670.0,
'rx_util': 22.64081456,
'tx_bps': 21828347904.0,
'tx_bps_L1': 28649705984.0,
'tx_pps': 42633488.0,
'tx_util': 71.62426495999999}
31/03/2020 15:47:06 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21828347904.000000, tx_pps: 42633488.000000
31/03/2020 15:47:06 pktgen: {'ibytes': 8641960128,
'ierrors': 0,
'ipackets': 135030674,
'obytes': 27314267328,
'oerrors': 0,
'opackets': 426785460,
'rx_bps': 6900058624.0,
'rx_bps_L1': 9056325824.0,
'rx_pps': 13476670.0,
'rx_util': 22.64081456,
'tx_bps': 21828347904.0,
'tx_bps_L1': 28649705984.0,
'tx_pps': 42633488.0,
'tx_util': 71.62426495999999}
31/03/2020 15:47:06 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 6900058624.000000, rx_pps: 13476670.000000
31/03/2020 15:47:06 pktgen: throughput: pps_rx 13476670.000000, bps_rx 6900058624.000000
31/03/2020 15:47:06 pktgen: traffic completed.
31/03/2020 15:47:06 dut.10.240.183.61: stop
31/03/2020 15:47:06 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 102299600 TX-packets: 102299600 TX-dropped: 0
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 100486839 TX-packets: 100486839 TX-dropped: 0
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 202786439 RX-dropped: 0 RX-total: 202786439
TX-packets: 202786439 TX-dropped: 0 TX-total: 202786439
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 202786439 RX-dropped: 0 RX-total: 202786439
TX-packets: 202786439 TX-dropped: 0 TX-total: 202786439
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:47:06 dut.10.240.183.61: start
31/03/2020 15:47:07 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:47:09 tester: ls -d /tmp
31/03/2020 15:47:09 tester: /tmp
31/03/2020 15:47:09 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:47:11 pktgen: test port 0 map gen port 0
31/03/2020 15:47:11 pktgen: test port 0 map gen port 0
31/03/2020 15:47:11 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:47:11 pktgen: trex port <0> not support flow control
31/03/2020 15:47:11 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:47:11 pktgen: begin traffic ......
31/03/2020 15:47:11 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:47:16 pktgen: traffic completed.
31/03/2020 15:47:16 pktgen: begin traffic ......
31/03/2020 15:47:16 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:47:26 pktgen: begin get port statistic ...
31/03/2020 15:47:26 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:47:26 pktgen: {0: {'ibytes': 8685471808,
'ierrors': 0,
'ipackets': 135710499,
'obytes': 27304372800,
'oerrors': 0,
'opackets': 426630876,
'rx_bps': 6940920832.0,
'rx_bps_L1': 9109957952.0,
'rx_pps': 13556482.0,
'rx_util': 22.774894879999998,
'tx_bps': 21831391232.0,
'tx_bps_L1': 28653700351.999996,
'tx_pps': 42639432.0,
'tx_util': 71.63425088},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.084308624267578,
'cpu_util': 98.47881317138672,
'queue_full': 12411658,
'rx_bps': 6940920832.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14890469376.0,
'rx_pps': 13556482.0,
'tx_bps': 21831391232.0,
'tx_pps': 42639432.0},
'latency': {},
'total': {'ibytes': 8685471808,
'ierrors': 0,
'ipackets': 135710499,
'obytes': 27304372800,
'oerrors': 0,
'opackets': 426630876,
'rx_bps': 6940920832.0,
'rx_bps_L1': 9109957952.0,
'rx_pps': 13556482.0,
'rx_util': 22.774894879999998,
'tx_bps': 21831391232.0,
'tx_bps_L1': 28653700351.999996,
'tx_pps': 42639432.0,
'tx_util': 71.63425088}}
31/03/2020 15:47:26 pktgen: {'ibytes': 8685471808,
'ierrors': 0,
'ipackets': 135710499,
'obytes': 27304372800,
'oerrors': 0,
'opackets': 426630876,
'rx_bps': 6940920832.0,
'rx_bps_L1': 9109957952.0,
'rx_pps': 13556482.0,
'rx_util': 22.774894879999998,
'tx_bps': 21831391232.0,
'tx_bps_L1': 28653700351.999996,
'tx_pps': 42639432.0,
'tx_util': 71.63425088}
31/03/2020 15:47:26 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21831391232.000000, tx_pps: 42639432.000000
31/03/2020 15:47:26 pktgen: {'ibytes': 8685471808,
'ierrors': 0,
'ipackets': 135710499,
'obytes': 27304372800,
'oerrors': 0,
'opackets': 426630876,
'rx_bps': 6940920832.0,
'rx_bps_L1': 9109957952.0,
'rx_pps': 13556482.0,
'rx_util': 22.774894879999998,
'tx_bps': 21831391232.0,
'tx_bps_L1': 28653700351.999996,
'tx_pps': 42639432.0,
'tx_util': 71.63425088}
31/03/2020 15:47:26 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 6940920832.000000, rx_pps: 13556482.000000
31/03/2020 15:47:26 pktgen: throughput: pps_rx 13556482.000000, bps_rx 6940920832.000000
31/03/2020 15:47:26 pktgen: traffic completed.
31/03/2020 15:47:26 dut.10.240.183.61: stop
31/03/2020 15:47:26 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 102363720 TX-packets: 102363720 TX-dropped: 0
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 101294231 TX-packets: 101294231 TX-dropped: 0
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 203657951 RX-dropped: 0 RX-total: 203657951
TX-packets: 203657951 TX-dropped: 0 TX-total: 203657951
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 203657951 RX-dropped: 0 RX-total: 203657951
TX-packets: 203657951 TX-dropped: 0 TX-total: 203657951
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:47:26 dut.10.240.183.61: start
31/03/2020 15:47:26 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:47:28 dut.10.240.183.61: quit
31/03/2020 15:47:29 dut.10.240.183.61: quit
Telling cores to stop...
Waiting for lcores to finish...
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
Stopping port 0...
Stopping ports...
Done
Shutting down port 0...
Closing ports...
31/03/2020 15:47:29 TestPVPVirtioUserMultiQueuesPortRestart:
+--------------+------------------------------+------------------+------------+----------------+
| FrameSize(B) | Mode | Throughput(Mpps) | % linerate | Cycle |
+==============+==============================+==================+============+================+
| 64 | split_ring_inorder_mergeable | 13.477 | 22.641 | Before Restart |
+--------------+------------------------------+------------------+------------+----------------+
| 64 | split_ring_inorder_mergeable | 13.556 | 22.775 | After Restart |
+--------------+------------------------------+------------------+------------+----------------+
31/03/2020 15:47:29 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_split_ring_inorder_mergeable_path Result PASSED:
31/03/2020 15:47:29 dut.10.240.183.61: kill_all: called by dut and prefix list has value.
31/03/2020 15:47:31 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_split_ring_inorder_nonmergeable_path Begin
31/03/2020 15:47:32 dut.10.240.183.61:
31/03/2020 15:47:32 tester:
31/03/2020 15:47:32 dut.10.240.183.61: rm -rf ./vhost.out
31/03/2020 15:47:32 dut.10.240.183.61:
31/03/2020 15:47:32 dut.10.240.183.61: killall -s INT testpmd
31/03/2020 15:47:32 dut.10.240.183.61: testpmd: no process found
31/03/2020 15:47:32 dut.10.240.183.61: rm -rf ./vhost-net*
31/03/2020 15:47:32 dut.10.240.183.61:
31/03/2020 15:47:33 dut.10.240.183.61: x86_64-native-linuxapp-gcc/app/testpmd -l 23,24,25 -n 4 --file-prefix=virtio_222123_20200331153848 --no-pci --vdev net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,mrg_rxbuf=0 -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --rss-ip
31/03/2020 15:47:33 dut.10.240.183.61: EAL: Detected 72 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/virtio_222123_20200331153848/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
Interactive-mode selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=163456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 1)
Port 0: 00:01:02:03:04:05
Checking link statuses...
Done
31/03/2020 15:47:33 dut.10.240.183.61: set fwd mac
31/03/2020 15:47:33 dut.10.240.183.61: set fwd mac
Set mac packet forwarding mode
31/03/2020 15:47:33 dut.10.240.183.61: start
31/03/2020 15:47:34 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:47:34 TestPVPVirtioUserMultiQueuesPortRestart: Running test test_perf_pvp_2queues_test_with_split_ring_inorder_nonmergeable_path, and 64 frame size.
31/03/2020 15:47:34 tester: ls -d /tmp
31/03/2020 15:47:34 tester: /tmp
31/03/2020 15:47:34 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:47:35 pktgen: test port 0 map gen port 0
31/03/2020 15:47:35 pktgen: test port 0 map gen port 0
31/03/2020 15:47:35 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:47:35 pktgen: trex port <0> not support flow control
31/03/2020 15:47:35 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:47:35 pktgen: begin traffic ......
31/03/2020 15:47:35 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:47:40 pktgen: traffic completed.
31/03/2020 15:47:40 pktgen: begin traffic ......
31/03/2020 15:47:40 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:47:50 pktgen: begin get port statistic ...
31/03/2020 15:47:50 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:47:50 pktgen: {0: {'ibytes': 8627098624,
'ierrors': 0,
'ipackets': 134798416,
'obytes': 27326395648,
'oerrors': 0,
'opackets': 426974988,
'rx_bps': 6893798912.0,
'rx_bps_L1': 9048110592.0,
'rx_pps': 13464448.0,
'rx_util': 22.62027648,
'tx_bps': 21846743040.0,
'tx_bps_L1': 28673850240.0,
'tx_pps': 42669420.0,
'tx_util': 71.68462559999999},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.146927833557129,
'cpu_util': 97.99446105957031,
'queue_full': 12393421,
'rx_bps': 6893798912.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14952943616.0,
'rx_pps': 13464448.0,
'tx_bps': 21846743040.0,
'tx_pps': 42669420.0},
'latency': {},
'total': {'ibytes': 8627098624,
'ierrors': 0,
'ipackets': 134798416,
'obytes': 27326395648,
'oerrors': 0,
'opackets': 426974988,
'rx_bps': 6893798912.0,
'rx_bps_L1': 9048110592.0,
'rx_pps': 13464448.0,
'rx_util': 22.62027648,
'tx_bps': 21846743040.0,
'tx_bps_L1': 28673850240.0,
'tx_pps': 42669420.0,
'tx_util': 71.68462559999999}}
31/03/2020 15:47:50 pktgen: {'ibytes': 8627098624,
'ierrors': 0,
'ipackets': 134798416,
'obytes': 27326395648,
'oerrors': 0,
'opackets': 426974988,
'rx_bps': 6893798912.0,
'rx_bps_L1': 9048110592.0,
'rx_pps': 13464448.0,
'rx_util': 22.62027648,
'tx_bps': 21846743040.0,
'tx_bps_L1': 28673850240.0,
'tx_pps': 42669420.0,
'tx_util': 71.68462559999999}
31/03/2020 15:47:50 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21846743040.000000, tx_pps: 42669420.000000
31/03/2020 15:47:50 pktgen: {'ibytes': 8627098624,
'ierrors': 0,
'ipackets': 134798416,
'obytes': 27326395648,
'oerrors': 0,
'opackets': 426974988,
'rx_bps': 6893798912.0,
'rx_bps_L1': 9048110592.0,
'rx_pps': 13464448.0,
'rx_util': 22.62027648,
'tx_bps': 21846743040.0,
'tx_bps_L1': 28673850240.0,
'tx_pps': 42669420.0,
'tx_util': 71.68462559999999}
31/03/2020 15:47:50 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 6893798912.000000, rx_pps: 13464448.000000
31/03/2020 15:47:50 pktgen: throughput: pps_rx 13464448.000000, bps_rx 6893798912.000000
31/03/2020 15:47:50 pktgen: traffic completed.
31/03/2020 15:47:50 dut.10.240.183.61: stop
31/03/2020 15:47:50 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 101146264 TX-packets: 101146264 TX-dropped: 0
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 101238807 TX-packets: 101238807 TX-dropped: 0
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 202385071 RX-dropped: 0 RX-total: 202385071
TX-packets: 202385071 TX-dropped: 0 TX-total: 202385071
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 202385071 RX-dropped: 0 RX-total: 202385071
TX-packets: 202385071 TX-dropped: 0 TX-total: 202385071
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:47:50 dut.10.240.183.61: start
31/03/2020 15:47:50 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:47:53 tester: ls -d /tmp
31/03/2020 15:47:53 tester: /tmp
31/03/2020 15:47:53 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:47:55 pktgen: test port 0 map gen port 0
31/03/2020 15:47:55 pktgen: test port 0 map gen port 0
31/03/2020 15:47:55 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:47:55 pktgen: trex port <0> not support flow control
31/03/2020 15:47:55 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:47:55 pktgen: begin traffic ......
31/03/2020 15:47:55 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:48:00 pktgen: traffic completed.
31/03/2020 15:48:00 pktgen: begin traffic ......
31/03/2020 15:48:00 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:48:10 pktgen: begin get port statistic ...
31/03/2020 15:48:10 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:48:10 pktgen: {0: {'ibytes': 8597999360,
'ierrors': 0,
'ipackets': 134343784,
'obytes': 27315563776,
'oerrors': 0,
'opackets': 426805734,
'rx_bps': 6872324096.0,
'rx_bps_L1': 9019927616.0,
'rx_pps': 13422522.0,
'rx_util': 22.54981904,
'tx_bps': 21852985344.0,
'tx_bps_L1': 28682044544.0,
'tx_pps': 42681620.0,
'tx_util': 71.70511135999999},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.073654174804688,
'cpu_util': 98.67106628417969,
'queue_full': 12368423,
'rx_bps': 6872324096.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14980662272.0,
'rx_pps': 13422522.0,
'tx_bps': 21852985344.0,
'tx_pps': 42681620.0},
'latency': {},
'total': {'ibytes': 8597999360,
'ierrors': 0,
'ipackets': 134343784,
'obytes': 27315563776,
'oerrors': 0,
'opackets': 426805734,
'rx_bps': 6872324096.0,
'rx_bps_L1': 9019927616.0,
'rx_pps': 13422522.0,
'rx_util': 22.54981904,
'tx_bps': 21852985344.0,
'tx_bps_L1': 28682044544.0,
'tx_pps': 42681620.0,
'tx_util': 71.70511135999999}}
31/03/2020 15:48:10 pktgen: {'ibytes': 8597999360,
'ierrors': 0,
'ipackets': 134343784,
'obytes': 27315563776,
'oerrors': 0,
'opackets': 426805734,
'rx_bps': 6872324096.0,
'rx_bps_L1': 9019927616.0,
'rx_pps': 13422522.0,
'rx_util': 22.54981904,
'tx_bps': 21852985344.0,
'tx_bps_L1': 28682044544.0,
'tx_pps': 42681620.0,
'tx_util': 71.70511135999999}
31/03/2020 15:48:10 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21852985344.000000, tx_pps: 42681620.000000
31/03/2020 15:48:10 pktgen: {'ibytes': 8597999360,
'ierrors': 0,
'ipackets': 134343784,
'obytes': 27315563776,
'oerrors': 0,
'opackets': 426805734,
'rx_bps': 6872324096.0,
'rx_bps_L1': 9019927616.0,
'rx_pps': 13422522.0,
'rx_util': 22.54981904,
'tx_bps': 21852985344.0,
'tx_bps_L1': 28682044544.0,
'tx_pps': 42681620.0,
'tx_util': 71.70511135999999}
31/03/2020 15:48:10 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 6872324096.000000, rx_pps: 13422522.000000
31/03/2020 15:48:10 pktgen: throughput: pps_rx 13422522.000000, bps_rx 6872324096.000000
31/03/2020 15:48:10 pktgen: traffic completed.
31/03/2020 15:48:10 dut.10.240.183.61: stop
31/03/2020 15:48:10 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 100728311 TX-packets: 100728311 TX-dropped: 0
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 101013673 TX-packets: 101013673 TX-dropped: 0
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 201741984 RX-dropped: 0 RX-total: 201741984
TX-packets: 201741984 TX-dropped: 0 TX-total: 201741984
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 201741984 RX-dropped: 0 RX-total: 201741984
TX-packets: 201741984 TX-dropped: 0 TX-total: 201741984
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:48:10 dut.10.240.183.61: start
31/03/2020 15:48:10 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:48:11 dut.10.240.183.61: quit
31/03/2020 15:48:12 dut.10.240.183.61: quit
Telling cores to stop...
Waiting for lcores to finish...
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
Stopping port 0...
Stopping ports...
Done
Shutting down port 0...
Closing ports...
31/03/2020 15:48:12 TestPVPVirtioUserMultiQueuesPortRestart:
+--------------+---------------------------------+------------------+------------+----------------+
| FrameSize(B) | Mode | Throughput(Mpps) | % linerate | Cycle |
+==============+=================================+==================+============+================+
| 64 | split_ring_inorder_nonmergeable | 13.464 | 22.620 | Before Restart |
+--------------+---------------------------------+------------------+------------+----------------+
| 64 | split_ring_inorder_nonmergeable | 13.423 | 22.550 | After Restart |
+--------------+---------------------------------+------------------+------------+----------------+
31/03/2020 15:48:12 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_split_ring_inorder_nonmergeable_path Result PASSED:
31/03/2020 15:48:12 dut.10.240.183.61: kill_all: called by dut and prefix list has value.
31/03/2020 15:48:15 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_split_ring_mergeable_path Begin
31/03/2020 15:48:15 dut.10.240.183.61:
31/03/2020 15:48:15 tester:
31/03/2020 15:48:15 dut.10.240.183.61: rm -rf ./vhost.out
31/03/2020 15:48:15 dut.10.240.183.61:
31/03/2020 15:48:15 dut.10.240.183.61: killall -s INT testpmd
31/03/2020 15:48:16 dut.10.240.183.61: testpmd: no process found
31/03/2020 15:48:16 dut.10.240.183.61: rm -rf ./vhost-net*
31/03/2020 15:48:16 dut.10.240.183.61:
31/03/2020 15:48:16 dut.10.240.183.61: x86_64-native-linuxapp-gcc/app/testpmd -l 23,24,25 -n 4 --file-prefix=virtio_222123_20200331153848 --no-pci --vdev net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,in_order=0 -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --rss-ip
31/03/2020 15:48:17 dut.10.240.183.61: EAL: Detected 72 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/virtio_222123_20200331153848/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
Interactive-mode selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=163456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 1)
Port 0: 00:01:02:03:04:05
Checking link statuses...
Done
31/03/2020 15:48:17 dut.10.240.183.61: set fwd mac
31/03/2020 15:48:17 dut.10.240.183.61: set fwd mac
Set mac packet forwarding mode
31/03/2020 15:48:17 dut.10.240.183.61: start
31/03/2020 15:48:17 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:48:17 TestPVPVirtioUserMultiQueuesPortRestart: Running test test_perf_pvp_2queues_test_with_split_ring_mergeable_path, and 64 frame size.
31/03/2020 15:48:17 tester: ls -d /tmp
31/03/2020 15:48:17 tester: /tmp
31/03/2020 15:48:17 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:48:19 pktgen: test port 0 map gen port 0
31/03/2020 15:48:19 pktgen: test port 0 map gen port 0
31/03/2020 15:48:19 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:48:19 pktgen: trex port <0> not support flow control
31/03/2020 15:48:19 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:48:19 pktgen: begin traffic ......
31/03/2020 15:48:19 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:48:24 pktgen: traffic completed.
31/03/2020 15:48:24 pktgen: begin traffic ......
31/03/2020 15:48:24 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:48:34 pktgen: begin get port statistic ...
31/03/2020 15:48:34 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:48:34 pktgen: {0: {'ibytes': 8570805504,
'ierrors': 0,
'ipackets': 133918866,
'obytes': 27320517312,
'oerrors': 0,
'opackets': 426883127,
'rx_bps': 6843722240.0,
'rx_bps_L1': 8982386400.0,
'rx_pps': 13366651.0,
'rx_util': 22.455966,
'tx_bps': 21839046656.0,
'tx_bps_L1': 28663749375.999996,
'tx_pps': 42654392.0,
'tx_util': 71.65937344},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.126381874084473,
'cpu_util': 98.14083099365234,
'queue_full': 12380927,
'rx_bps': 6843722240.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14995323904.0,
'rx_pps': 13366651.0,
'tx_bps': 21839046656.0,
'tx_pps': 42654392.0},
'latency': {},
'total': {'ibytes': 8570805504,
'ierrors': 0,
'ipackets': 133918866,
'obytes': 27320517312,
'oerrors': 0,
'opackets': 426883127,
'rx_bps': 6843722240.0,
'rx_bps_L1': 8982386400.0,
'rx_pps': 13366651.0,
'rx_util': 22.455966,
'tx_bps': 21839046656.0,
'tx_bps_L1': 28663749375.999996,
'tx_pps': 42654392.0,
'tx_util': 71.65937344}}
31/03/2020 15:48:34 pktgen: {'ibytes': 8570805504,
'ierrors': 0,
'ipackets': 133918866,
'obytes': 27320517312,
'oerrors': 0,
'opackets': 426883127,
'rx_bps': 6843722240.0,
'rx_bps_L1': 8982386400.0,
'rx_pps': 13366651.0,
'rx_util': 22.455966,
'tx_bps': 21839046656.0,
'tx_bps_L1': 28663749375.999996,
'tx_pps': 42654392.0,
'tx_util': 71.65937344}
31/03/2020 15:48:34 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21839046656.000000, tx_pps: 42654392.000000
31/03/2020 15:48:34 pktgen: {'ibytes': 8570805504,
'ierrors': 0,
'ipackets': 133918866,
'obytes': 27320517312,
'oerrors': 0,
'opackets': 426883127,
'rx_bps': 6843722240.0,
'rx_bps_L1': 8982386400.0,
'rx_pps': 13366651.0,
'rx_util': 22.455966,
'tx_bps': 21839046656.0,
'tx_bps_L1': 28663749375.999996,
'tx_pps': 42654392.0,
'tx_util': 71.65937344}
31/03/2020 15:48:34 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 6843722240.000000, rx_pps: 13366651.000000
31/03/2020 15:48:34 pktgen: throughput: pps_rx 13366651.000000, bps_rx 6843722240.000000
31/03/2020 15:48:34 pktgen: traffic completed.
31/03/2020 15:48:34 dut.10.240.183.61: stop
31/03/2020 15:48:34 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 100577998 TX-packets: 100577998 TX-dropped: 0
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 100264340 TX-packets: 100264340 TX-dropped: 0
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 200842338 RX-dropped: 0 RX-total: 200842338
TX-packets: 200842338 TX-dropped: 0 TX-total: 200842338
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 200842338 RX-dropped: 0 RX-total: 200842338
TX-packets: 200842338 TX-dropped: 0 TX-total: 200842338
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:48:34 dut.10.240.183.61: start
31/03/2020 15:48:34 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:48:37 tester: ls -d /tmp
31/03/2020 15:48:37 tester: /tmp
31/03/2020 15:48:37 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:48:38 pktgen: test port 0 map gen port 0
31/03/2020 15:48:38 pktgen: test port 0 map gen port 0
31/03/2020 15:48:38 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:48:38 pktgen: trex port <0> not support flow control
31/03/2020 15:48:38 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:48:39 pktgen: begin traffic ......
31/03/2020 15:48:39 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:48:44 pktgen: traffic completed.
31/03/2020 15:48:44 pktgen: begin traffic ......
31/03/2020 15:48:44 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:48:54 pktgen: begin get port statistic ...
31/03/2020 15:48:54 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:48:54 pktgen: {0: {'ibytes': 8633374912,
'ierrors': 0,
'ipackets': 134896496,
'obytes': 27318839744,
'oerrors': 0,
'opackets': 426856926,
'rx_bps': 6891996672.0,
'rx_bps_L1': 9045745952.0,
'rx_pps': 13460933.0,
'rx_util': 22.61436488,
'tx_bps': 21833076736.0,
'tx_bps_L1': 28656045056.000004,
'tx_pps': 42643552.0,
'tx_util': 71.64011264000001},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.057165145874023,
'cpu_util': 98.72818756103516,
'queue_full': 12381981,
'rx_bps': 6891996672.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14941080576.0,
'rx_pps': 13460933.0,
'tx_bps': 21833076736.0,
'tx_pps': 42643552.0},
'latency': {},
'total': {'ibytes': 8633374912,
'ierrors': 0,
'ipackets': 134896496,
'obytes': 27318839744,
'oerrors': 0,
'opackets': 426856926,
'rx_bps': 6891996672.0,
'rx_bps_L1': 9045745952.0,
'rx_pps': 13460933.0,
'rx_util': 22.61436488,
'tx_bps': 21833076736.0,
'tx_bps_L1': 28656045056.000004,
'tx_pps': 42643552.0,
'tx_util': 71.64011264000001}}
31/03/2020 15:48:54 pktgen: {'ibytes': 8633374912,
'ierrors': 0,
'ipackets': 134896496,
'obytes': 27318839744,
'oerrors': 0,
'opackets': 426856926,
'rx_bps': 6891996672.0,
'rx_bps_L1': 9045745952.0,
'rx_pps': 13460933.0,
'rx_util': 22.61436488,
'tx_bps': 21833076736.0,
'tx_bps_L1': 28656045056.000004,
'tx_pps': 42643552.0,
'tx_util': 71.64011264000001}
31/03/2020 15:48:54 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21833076736.000000, tx_pps: 42643552.000000
31/03/2020 15:48:54 pktgen: {'ibytes': 8633374912,
'ierrors': 0,
'ipackets': 134896496,
'obytes': 27318839744,
'oerrors': 0,
'opackets': 426856926,
'rx_bps': 6891996672.0,
'rx_bps_L1': 9045745952.0,
'rx_pps': 13460933.0,
'rx_util': 22.61436488,
'tx_bps': 21833076736.0,
'tx_bps_L1': 28656045056.000004,
'tx_pps': 42643552.0,
'tx_util': 71.64011264000001}
31/03/2020 15:48:54 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 6891996672.000000, rx_pps: 13460933.000000
31/03/2020 15:48:54 pktgen: throughput: pps_rx 13460933.000000, bps_rx 6891996672.000000
31/03/2020 15:48:54 pktgen: traffic completed.
31/03/2020 15:48:54 dut.10.240.183.61: stop
31/03/2020 15:48:54 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 101228814 TX-packets: 101228814 TX-dropped: 0
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 101089618 TX-packets: 101089618 TX-dropped: 0
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 202318432 RX-dropped: 0 RX-total: 202318432
TX-packets: 202318432 TX-dropped: 0 TX-total: 202318432
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 202318432 RX-dropped: 0 RX-total: 202318432
TX-packets: 202318432 TX-dropped: 0 TX-total: 202318432
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:48:54 dut.10.240.183.61: start
31/03/2020 15:48:54 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:48:55 dut.10.240.183.61: quit
31/03/2020 15:48:56 dut.10.240.183.61: quit
Telling cores to stop...
Waiting for lcores to finish...
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
Stopping port 0...
Stopping ports...
Done
Shutting down port 0...
Closing ports...
31/03/2020 15:48:56 TestPVPVirtioUserMultiQueuesPortRestart:
+--------------+----------------------+------------------+------------+----------------+
| FrameSize(B) | Mode | Throughput(Mpps) | % linerate | Cycle |
+==============+======================+==================+============+================+
| 64 | split_ring_mergeable | 13.367 | 22.456 | Before Restart |
+--------------+----------------------+------------------+------------+----------------+
| 64 | split_ring_mergeable | 13.461 | 22.614 | After Restart |
+--------------+----------------------+------------------+------------+----------------+
31/03/2020 15:48:56 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_split_ring_mergeable_path Result PASSED:
31/03/2020 15:48:56 dut.10.240.183.61: kill_all: called by dut and prefix list has value.
31/03/2020 15:48:59 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_split_ring_nonmergeable_path Begin
31/03/2020 15:48:59 dut.10.240.183.61:
31/03/2020 15:48:59 tester:
31/03/2020 15:48:59 dut.10.240.183.61: rm -rf ./vhost.out
31/03/2020 15:48:59 dut.10.240.183.61:
31/03/2020 15:48:59 dut.10.240.183.61: killall -s INT testpmd
31/03/2020 15:48:59 dut.10.240.183.61: testpmd: no process found
31/03/2020 15:48:59 dut.10.240.183.61: rm -rf ./vhost-net*
31/03/2020 15:48:59 dut.10.240.183.61:
31/03/2020 15:49:00 dut.10.240.183.61: x86_64-native-linuxapp-gcc/app/testpmd -l 23,24,25 -n 4 --file-prefix=virtio_222123_20200331153848 --no-pci --vdev net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,mrg_rxbuf=0,in_order=0 -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --rss-ip
31/03/2020 15:49:02 dut.10.240.183.61: EAL: Detected 72 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/virtio_222123_20200331153848/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
Interactive-mode selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=163456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 1)
Port 0: 00:01:02:03:04:05
Checking link statuses...
Done
31/03/2020 15:49:02 dut.10.240.183.61: set fwd mac
31/03/2020 15:49:02 dut.10.240.183.61: set fwd mac
Set mac packet forwarding mode
31/03/2020 15:49:02 dut.10.240.183.61: start
31/03/2020 15:49:02 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:49:02 TestPVPVirtioUserMultiQueuesPortRestart: Running test test_perf_pvp_2queues_test_with_split_ring_nonmergeable_path, and 64 frame size.
31/03/2020 15:49:02 tester: ls -d /tmp
31/03/2020 15:49:02 tester: /tmp
31/03/2020 15:49:02 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:49:03 pktgen: test port 0 map gen port 0
31/03/2020 15:49:03 pktgen: test port 0 map gen port 0
31/03/2020 15:49:03 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:49:03 pktgen: trex port <0> not support flow control
31/03/2020 15:49:03 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:49:03 pktgen: begin traffic ......
31/03/2020 15:49:03 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:49:08 pktgen: traffic completed.
31/03/2020 15:49:08 pktgen: begin traffic ......
31/03/2020 15:49:08 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:49:18 pktgen: begin get port statistic ...
31/03/2020 15:49:18 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:49:18 pktgen: {0: {'ibytes': 8561961088,
'ierrors': 0,
'ipackets': 133780674,
'obytes': 27305100736,
'oerrors': 0,
'opackets': 426642255,
'rx_bps': 6842356736.0,
'rx_bps_L1': 8980592096.0,
'rx_pps': 13363971.0,
'rx_util': 22.45148024,
'tx_bps': 21834559488.0,
'tx_bps_L1': 28657859328.0,
'tx_pps': 42645624.0,
'tx_util': 71.64464832},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.135926246643066,
'cpu_util': 98.03656768798828,
'queue_full': 12392898,
'rx_bps': 6842356736.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14992200704.0,
'rx_pps': 13363971.0,
'tx_bps': 21834559488.0,
'tx_pps': 42645624.0},
'latency': {},
'total': {'ibytes': 8561961088,
'ierrors': 0,
'ipackets': 133780674,
'obytes': 27305100736,
'oerrors': 0,
'opackets': 426642255,
'rx_bps': 6842356736.0,
'rx_bps_L1': 8980592096.0,
'rx_pps': 13363971.0,
'rx_util': 22.45148024,
'tx_bps': 21834559488.0,
'tx_bps_L1': 28657859328.0,
'tx_pps': 42645624.0,
'tx_util': 71.64464832}}
31/03/2020 15:49:18 pktgen: {'ibytes': 8561961088,
'ierrors': 0,
'ipackets': 133780674,
'obytes': 27305100736,
'oerrors': 0,
'opackets': 426642255,
'rx_bps': 6842356736.0,
'rx_bps_L1': 8980592096.0,
'rx_pps': 13363971.0,
'rx_util': 22.45148024,
'tx_bps': 21834559488.0,
'tx_bps_L1': 28657859328.0,
'tx_pps': 42645624.0,
'tx_util': 71.64464832}
31/03/2020 15:49:18 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21834559488.000000, tx_pps: 42645624.000000
31/03/2020 15:49:18 pktgen: {'ibytes': 8561961088,
'ierrors': 0,
'ipackets': 133780674,
'obytes': 27305100736,
'oerrors': 0,
'opackets': 426642255,
'rx_bps': 6842356736.0,
'rx_bps_L1': 8980592096.0,
'rx_pps': 13363971.0,
'rx_util': 22.45148024,
'tx_bps': 21834559488.0,
'tx_bps_L1': 28657859328.0,
'tx_pps': 42645624.0,
'tx_util': 71.64464832}
31/03/2020 15:49:18 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 6842356736.000000, rx_pps: 13363971.000000
31/03/2020 15:49:18 pktgen: throughput: pps_rx 13363971.000000, bps_rx 6842356736.000000
31/03/2020 15:49:18 pktgen: traffic completed.
31/03/2020 15:49:18 dut.10.240.183.61: stop
31/03/2020 15:49:18 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 100581621 TX-packets: 100581621 TX-dropped: 0
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 100130519 TX-packets: 100130519 TX-dropped: 0
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 200712140 RX-dropped: 0 RX-total: 200712140
TX-packets: 200712140 TX-dropped: 0 TX-total: 200712140
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 200712140 RX-dropped: 0 RX-total: 200712140
TX-packets: 200712140 TX-dropped: 0 TX-total: 200712140
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:49:18 dut.10.240.183.61: start
31/03/2020 15:49:19 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:49:21 tester: ls -d /tmp
31/03/2020 15:49:21 tester: /tmp
31/03/2020 15:49:21 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:49:23 pktgen: test port 0 map gen port 0
31/03/2020 15:49:23 pktgen: test port 0 map gen port 0
31/03/2020 15:49:23 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:49:23 pktgen: trex port <0> not support flow control
31/03/2020 15:49:23 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:49:23 pktgen: begin traffic ......
31/03/2020 15:49:23 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:49:28 pktgen: traffic completed.
31/03/2020 15:49:28 pktgen: begin traffic ......
31/03/2020 15:49:28 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:49:38 pktgen: begin get port statistic ...
31/03/2020 15:49:38 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:49:38 pktgen: {0: {'ibytes': 8583549248,
'ierrors': 0,
'ipackets': 134117994,
'obytes': 27327387200,
'oerrors': 0,
'opackets': 426990476,
'rx_bps': 6855127552.0,
'rx_bps_L1': 8997355392.0,
'rx_pps': 13388924.0,
'rx_util': 22.49338848,
'tx_bps': 21838714880.0,
'tx_bps_L1': 28663312639.999996,
'tx_pps': 42653736.0,
'tx_util': 71.6582816},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.066710472106934,
'cpu_util': 98.66850280761719,
'queue_full': 12361306,
'rx_bps': 6855127552.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14983587840.0,
'rx_pps': 13388924.0,
'tx_bps': 21838714880.0,
'tx_pps': 42653736.0},
'latency': {},
'total': {'ibytes': 8583549248,
'ierrors': 0,
'ipackets': 134117994,
'obytes': 27327387200,
'oerrors': 0,
'opackets': 426990476,
'rx_bps': 6855127552.0,
'rx_bps_L1': 8997355392.0,
'rx_pps': 13388924.0,
'rx_util': 22.49338848,
'tx_bps': 21838714880.0,
'tx_bps_L1': 28663312639.999996,
'tx_pps': 42653736.0,
'tx_util': 71.6582816}}
31/03/2020 15:49:38 pktgen: {'ibytes': 8583549248,
'ierrors': 0,
'ipackets': 134117994,
'obytes': 27327387200,
'oerrors': 0,
'opackets': 426990476,
'rx_bps': 6855127552.0,
'rx_bps_L1': 8997355392.0,
'rx_pps': 13388924.0,
'rx_util': 22.49338848,
'tx_bps': 21838714880.0,
'tx_bps_L1': 28663312639.999996,
'tx_pps': 42653736.0,
'tx_util': 71.6582816}
31/03/2020 15:49:38 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21838714880.000000, tx_pps: 42653736.000000
31/03/2020 15:49:38 pktgen: {'ibytes': 8583549248,
'ierrors': 0,
'ipackets': 134117994,
'obytes': 27327387200,
'oerrors': 0,
'opackets': 426990476,
'rx_bps': 6855127552.0,
'rx_bps_L1': 8997355392.0,
'rx_pps': 13388924.0,
'rx_util': 22.49338848,
'tx_bps': 21838714880.0,
'tx_bps_L1': 28663312639.999996,
'tx_pps': 42653736.0,
'tx_util': 71.6582816}
31/03/2020 15:49:38 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 6855127552.000000, rx_pps: 13388924.000000
31/03/2020 15:49:38 pktgen: throughput: pps_rx 13388924.000000, bps_rx 6855127552.000000
31/03/2020 15:49:38 pktgen: traffic completed.
31/03/2020 15:49:38 dut.10.240.183.61: stop
31/03/2020 15:49:38 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 100978391 TX-packets: 100978391 TX-dropped: 0
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 100197992 TX-packets: 100197992 TX-dropped: 0
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 201176383 RX-dropped: 0 RX-total: 201176383
TX-packets: 201176383 TX-dropped: 0 TX-total: 201176383
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 201176383 RX-dropped: 0 RX-total: 201176383
TX-packets: 201176383 TX-dropped: 0 TX-total: 201176383
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:49:38 dut.10.240.183.61: start
31/03/2020 15:49:38 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x1 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x1
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:49:40 dut.10.240.183.61: quit
31/03/2020 15:49:40 dut.10.240.183.61: quit
Telling cores to stop...
Waiting for lcores to finish...
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
Stopping port 0...
Stopping ports...
Done
Shutting down port 0...
Closing ports...
31/03/2020 15:49:41 TestPVPVirtioUserMultiQueuesPortRestart:
+--------------+-------------------------+------------------+------------+----------------+
| FrameSize(B) | Mode | Throughput(Mpps) | % linerate | Cycle |
+==============+=========================+==================+============+================+
| 64 | split_ring_nonmergeable | 13.364 | 22.451 | Before Restart |
+--------------+-------------------------+------------------+------------+----------------+
| 64 | split_ring_nonmergeable | 13.389 | 22.493 | After Restart |
+--------------+-------------------------+------------------+------------+----------------+
31/03/2020 15:49:41 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_split_ring_nonmergeable_path Result PASSED:
31/03/2020 15:49:41 dut.10.240.183.61: kill_all: called by dut and prefix list has value.
31/03/2020 15:49:43 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_split_ring_vector_rx_path Begin
31/03/2020 15:49:43 dut.10.240.183.61:
31/03/2020 15:49:44 tester:
31/03/2020 15:49:44 dut.10.240.183.61: rm -rf ./vhost.out
31/03/2020 15:49:44 dut.10.240.183.61:
31/03/2020 15:49:44 dut.10.240.183.61: killall -s INT testpmd
31/03/2020 15:49:44 dut.10.240.183.61: testpmd: no process found
31/03/2020 15:49:44 dut.10.240.183.61: rm -rf ./vhost-net*
31/03/2020 15:49:44 dut.10.240.183.61:
31/03/2020 15:49:45 dut.10.240.183.61: x86_64-native-linuxapp-gcc/app/testpmd -l 23,24,25 -n 4 --file-prefix=virtio_222123_20200331153848 --no-pci --vdev net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,mrg_rxbuf=0,in_order=0 -- -i --tx-offloads=0x0 --rss-ip --nb-cores=2 --rxq=2 --txq=2 --rss-ip
31/03/2020 15:49:45 dut.10.240.183.61: EAL: Detected 72 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/virtio_222123_20200331153848/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: Probing VFIO support...
EAL: VFIO support initialized
Interactive-mode selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=163456, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.
Configuring Port 0 (socket 1)
Port 0: 00:01:02:03:04:05
Checking link statuses...
Done
31/03/2020 15:49:45 dut.10.240.183.61: set fwd mac
31/03/2020 15:49:45 dut.10.240.183.61: set fwd mac
Set mac packet forwarding mode
31/03/2020 15:49:45 dut.10.240.183.61: start
31/03/2020 15:49:46 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x0 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x0
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:49:46 TestPVPVirtioUserMultiQueuesPortRestart: Running test test_perf_pvp_2queues_test_with_split_ring_vector_rx_path, and 64 frame size.
31/03/2020 15:49:46 tester: ls -d /tmp
31/03/2020 15:49:46 tester: /tmp
31/03/2020 15:49:46 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:49:47 pktgen: test port 0 map gen port 0
31/03/2020 15:49:47 pktgen: test port 0 map gen port 0
31/03/2020 15:49:47 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:49:47 pktgen: trex port <0> not support flow control
31/03/2020 15:49:47 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:49:47 pktgen: begin traffic ......
31/03/2020 15:49:47 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:49:52 pktgen: traffic completed.
31/03/2020 15:49:52 pktgen: begin traffic ......
31/03/2020 15:49:52 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:50:02 pktgen: begin get port statistic ...
31/03/2020 15:50:02 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:50:02 pktgen: {0: {'ibytes': 8617808960,
'ierrors': 0,
'ipackets': 134653265,
'obytes': 27317646720,
'oerrors': 0,
'opackets': 426838281,
'rx_bps': 6882782208.0,
'rx_bps_L1': 9033652928.0,
'rx_pps': 13442942.0,
'rx_util': 22.58413232,
'tx_bps': 21843070976.0,
'tx_bps_L1': 28669030656.0,
'tx_pps': 42662248.0,
'tx_util': 71.67257664},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.123735427856445,
'cpu_util': 98.18226623535156,
'queue_full': 12383347,
'rx_bps': 6882782208.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14960287744.0,
'rx_pps': 13442942.0,
'tx_bps': 21843070976.0,
'tx_pps': 42662248.0},
'latency': {},
'total': {'ibytes': 8617808960,
'ierrors': 0,
'ipackets': 134653265,
'obytes': 27317646720,
'oerrors': 0,
'opackets': 426838281,
'rx_bps': 6882782208.0,
'rx_bps_L1': 9033652928.0,
'rx_pps': 13442942.0,
'rx_util': 22.58413232,
'tx_bps': 21843070976.0,
'tx_bps_L1': 28669030656.0,
'tx_pps': 42662248.0,
'tx_util': 71.67257664}}
31/03/2020 15:50:02 pktgen: {'ibytes': 8617808960,
'ierrors': 0,
'ipackets': 134653265,
'obytes': 27317646720,
'oerrors': 0,
'opackets': 426838281,
'rx_bps': 6882782208.0,
'rx_bps_L1': 9033652928.0,
'rx_pps': 13442942.0,
'rx_util': 22.58413232,
'tx_bps': 21843070976.0,
'tx_bps_L1': 28669030656.0,
'tx_pps': 42662248.0,
'tx_util': 71.67257664}
31/03/2020 15:50:02 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21843070976.000000, tx_pps: 42662248.000000
31/03/2020 15:50:02 pktgen: {'ibytes': 8617808960,
'ierrors': 0,
'ipackets': 134653265,
'obytes': 27317646720,
'oerrors': 0,
'opackets': 426838281,
'rx_bps': 6882782208.0,
'rx_bps_L1': 9033652928.0,
'rx_pps': 13442942.0,
'rx_util': 22.58413232,
'tx_bps': 21843070976.0,
'tx_bps_L1': 28669030656.0,
'tx_pps': 42662248.0,
'tx_util': 71.67257664}
31/03/2020 15:50:02 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 6882782208.000000, rx_pps: 13442942.000000
31/03/2020 15:50:02 pktgen: throughput: pps_rx 13442942.000000, bps_rx 6882782208.000000
31/03/2020 15:50:02 pktgen: traffic completed.
31/03/2020 15:50:02 dut.10.240.183.61: stop
31/03/2020 15:50:02 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 101600525 TX-packets: 101600525 TX-dropped: 0
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 100740439 TX-packets: 100740439 TX-dropped: 0
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 202340964 RX-dropped: 0 RX-total: 202340964
TX-packets: 202340964 TX-dropped: 0 TX-total: 202340964
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 202340964 RX-dropped: 0 RX-total: 202340964
TX-packets: 202340964 TX-dropped: 0 TX-total: 202340964
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:50:02 dut.10.240.183.61: start
31/03/2020 15:50:02 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x0 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x0
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:50:05 tester: ls -d /tmp
31/03/2020 15:50:05 tester: /tmp
31/03/2020 15:50:05 tester: scp -v /home/xqm/dts_virtio/output/tmp/pcap/pvp_multipath.pcap root@10.240.183.52:/tmp/pvp_multipath.pcap
31/03/2020 15:50:07 pktgen: test port 0 map gen port 0
31/03/2020 15:50:07 pktgen: test port 0 map gen port 0
31/03/2020 15:50:07 pktgen: {'arp': '-',
'cores': [0, 1, 2, 3],
'description': 'Ethernet Controller XL710 for 40GbE QSFP+',
'dest': '00:00:00:00:01:00',
'driver': 'net_i40e',
'fc': 'none',
'fc_supported': 'no',
'grat_arp': 'off',
'hw_mac': '3c:fd:fe:d5:e1:d0',
'index': 0,
'ipv6': 'off',
'is_fc_supported': False,
'is_led_supported': True,
'is_link_supported': True,
'is_prom_supported': True,
'is_virtual': 'no',
'is_vxlan_supported': 'yes',
'layer_mode': 'Ethernet',
'led_change_supported': 'yes',
'link': 'UP',
'link_change_supported': 'yes',
'mult': 'off',
'numa': 1,
'pci_addr': '0000:b1:00.0',
'prom': 'off',
'prom_supported': 'yes',
'rx': {'caps': ['flow_stats', 'latency'], 'counters': 127},
'rx_filter_mode': 'hardware match',
'rx_queue': 'off',
'speed': 40.0,
'src_ipv4': '-',
'src_mac': '3c:fd:fe:d5:e1:d0',
'status': 'IDLE',
'supp_speeds': [40000],
'vlan': '-',
'vxlan_fs': '-'}
31/03/2020 15:50:07 pktgen: trex port <0> not support flow control
31/03/2020 15:50:07 pktgen: trex packet generator: run traffic 5s to warm up ...
31/03/2020 15:50:07 pktgen: begin traffic ......
31/03/2020 15:50:07 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:50:12 pktgen: traffic completed.
31/03/2020 15:50:12 pktgen: begin traffic ......
31/03/2020 15:50:12 pktgen: {'ports': [0], 'mult': '100%', 'core_mask': None, 'force': True}
31/03/2020 15:50:22 pktgen: begin get port statistic ...
31/03/2020 15:50:22 pktgen: {'options': {'fields_config': {'ip': {'dst': {'action': 'random',
'end': '48.0.0.64',
'start': '48.0.0.1',
'step': 1}}},
'pcap': '/tmp/pvp_multipath.pcap',
'stream_config': {'rate': 100,
'transmit_mode': 'continuous',
'txmode': {}}},
'pcap_file': '/tmp/pvp_multipath.pcap',
'rx_port': 0,
'tx_port': 0}
31/03/2020 15:50:22 pktgen: {0: {'ibytes': 8606210240,
'ierrors': 0,
'ipackets': 134472035,
'obytes': 27334392768,
'oerrors': 0,
'opackets': 427099944,
'rx_bps': 6886019584.0,
'rx_bps_L1': 9037901184.0,
'rx_pps': 13449260.0,
'rx_util': 22.59475296,
'tx_bps': 21884631040.0,
'tx_bps_L1': 28723578240.0,
'tx_pps': 42743420.0,
'tx_util': 71.8089456},
1: {'ibytes': 0,
'ierrors': 0,
'ipackets': 0,
'obytes': 0,
'oerrors': 0,
'opackets': 0,
'rx_bps': 0.0,
'rx_bps_L1': 0,
'rx_pps': 0.0,
'rx_util': 0.0,
'tx_bps': 0.0,
'tx_bps_L1': 0,
'tx_pps': 0.0,
'tx_util': 0.0},
'flow_stats': {},
'global': {'bw_per_core': 11.08084487915039,
'cpu_util': 98.74983215332031,
'queue_full': 12390831,
'rx_bps': 6886019584.0,
'rx_cpu_util': 0.0,
'rx_drop_bps': 14998610944.0,
'rx_pps': 13449260.0,
'tx_bps': 21884631040.0,
'tx_pps': 42743420.0},
'latency': {},
'total': {'ibytes': 8606210240,
'ierrors': 0,
'ipackets': 134472035,
'obytes': 27334392768,
'oerrors': 0,
'opackets': 427099944,
'rx_bps': 6886019584.0,
'rx_bps_L1': 9037901184.0,
'rx_pps': 13449260.0,
'rx_util': 22.59475296,
'tx_bps': 21884631040.0,
'tx_bps_L1': 28723578240.0,
'tx_pps': 42743420.0,
'tx_util': 71.8089456}}
31/03/2020 15:50:22 pktgen: {'ibytes': 8606210240,
'ierrors': 0,
'ipackets': 134472035,
'obytes': 27334392768,
'oerrors': 0,
'opackets': 427099944,
'rx_bps': 6886019584.0,
'rx_bps_L1': 9037901184.0,
'rx_pps': 13449260.0,
'rx_util': 22.59475296,
'tx_bps': 21884631040.0,
'tx_bps_L1': 28723578240.0,
'tx_pps': 42743420.0,
'tx_util': 71.8089456}
31/03/2020 15:50:22 pktgen: Tx Port 0 stats:
tx_port: 0, tx_bps: 21884631040.000000, tx_pps: 42743420.000000
31/03/2020 15:50:22 pktgen: {'ibytes': 8606210240,
'ierrors': 0,
'ipackets': 134472035,
'obytes': 27334392768,
'oerrors': 0,
'opackets': 427099944,
'rx_bps': 6886019584.0,
'rx_bps_L1': 9037901184.0,
'rx_pps': 13449260.0,
'rx_util': 22.59475296,
'tx_bps': 21884631040.0,
'tx_bps_L1': 28723578240.0,
'tx_pps': 42743420.0,
'tx_util': 71.8089456}
31/03/2020 15:50:22 pktgen: Rx Port 0 stats:
rx_port: 0, rx_bps: 6886019584.000000, rx_pps: 13449260.000000
31/03/2020 15:50:22 pktgen: throughput: pps_rx 13449260.000000, bps_rx 6886019584.000000
31/03/2020 15:50:22 pktgen: traffic completed.
31/03/2020 15:50:22 dut.10.240.183.61: stop
31/03/2020 15:50:22 dut.10.240.183.61: stop
Telling cores to stop...
Waiting for lcores to finish...
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
RX-packets: 101260631 TX-packets: 101260631 TX-dropped: 0
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 100675063 TX-packets: 100675063 TX-dropped: 0
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 201935694 RX-dropped: 0 RX-total: 201935694
TX-packets: 201935694 TX-dropped: 0 TX-total: 201935694
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 201935694 RX-dropped: 0 RX-total: 201935694
TX-packets: 201935694 TX-dropped: 0 TX-total: 201935694
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
31/03/2020 15:50:22 dut.10.240.183.61: start
31/03/2020 15:50:22 dut.10.240.183.61: start
mac packet forwarding - ports=1 - cores=2 - streams=2 - NUMA support enabled, MP allocation mode: native
Logical Core 24 (socket 1) forwards packets on 1 streams:
RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00
Logical Core 25 (socket 1) forwards packets on 1 streams:
RX P=0/Q=1 (socket 1) -> TX P=0/Q=1 (socket 1) peer=02:00:00:00:00:00
mac packet forwarding packets/burst=32
nb forwarding cores=2 - nb forwarding ports=1
port 0: RX queue number: 2 Tx queue number: 2
Rx offloads=0x0 Tx offloads=0x0
RX queue: 0
RX desc=0 - RX free threshold=0
RX threshold registers: pthresh=0 hthresh=0 wthresh=0
RX Offloads=0x0
TX queue: 0
TX desc=0 - TX free threshold=0
TX threshold registers: pthresh=0 hthresh=0 wthresh=0
TX offloads=0x0 - TX RS bit threshold=0
31/03/2020 15:50:23 dut.10.240.183.61: quit
31/03/2020 15:50:24 dut.10.240.183.61: quit
Telling cores to stop...
Waiting for lcores to finish...
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 3 TX-dropped: 0 TX-total: 3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Done.
Stopping port 0...
Stopping ports...
Done
Shutting down port 0...
Closing ports...
31/03/2020 15:50:24 TestPVPVirtioUserMultiQueuesPortRestart:
+--------------+----------------------+------------------+------------+----------------+
| FrameSize(B) | Mode | Throughput(Mpps) | % linerate | Cycle |
+==============+======================+==================+============+================+
| 64 | split_ring_vector_rx | 13.443 | 22.584 | Before Restart |
+--------------+----------------------+------------------+------------+----------------+
| 64 | split_ring_vector_rx | 13.449 | 22.595 | After Restart |
+--------------+----------------------+------------------+------------+----------------+
31/03/2020 15:50:24 TestPVPVirtioUserMultiQueuesPortRestart: Test Case test_perf_pvp_2queues_test_with_split_ring_vector_rx_path Result PASSED:
31/03/2020 15:50:24 dut.10.240.183.61: kill_all: called by dut and prefix list has value.
31/03/2020 15:50:27 dts:
TEST SUITE ENDED: TestPVPVirtioUserMultiQueuesPortRestart
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dts] [PATCH V1] add automation for pvp_virtio_user_multi_queues_port_restart
2020-03-31 8:29 ` Xiao, QimaiX
@ 2020-03-31 8:42 ` Wang, Yinan
0 siblings, 0 replies; 4+ messages in thread
From: Wang, Yinan @ 2020-03-31 8:42 UTC (permalink / raw)
To: Xiao, QimaiX, dts
Acked-by: Wang, Yinan <yinan.wang@intel.com>
> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Xiao, QimaiX
> Sent: 2020年3月31日 16:29
> To: dts@dpdk.org
> Subject: Re: [dts] [PATCH V1] add automation for
> pvp_virtio_user_multi_queues_port_restart
>
> Tested-by: Xiao Qimai <qimaix.xiao@intel.com>
>
> Regards,
> Xiao Qimai
>
>
> > -----Original Message-----
> > From: Xiao, QimaiX
> > Sent: Tuesday, March 31, 2020 4:22 PM
> > To: dts@dpdk.org
> > Cc: Xiao, QimaiX <qimaix.xiao@intel.com>
> > Subject: [PATCH V1] add automation for
> > pvp_virtio_user_multi_queues_port_restart
> >
> > *. add automation for
> > test_plans:pvp_virtio_user_multi_queues_port_restart.rst
> >
> > Signed-off-by: Xiao Qimai <qimaix.xiao@intel.com>
> > ---
> > ...te_pvp_virtio_user_multi_queues_port_restart.py | 294
> > +++++++++++++++++++++
> > 1 file changed, 294 insertions(+)
> > create mode 100644
> > tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
> >
> > diff --git
> > a/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
> > b/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
> > new file mode 100644
> > index 0000000..58d603f
> > --- /dev/null
> > +++ b/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
> > @@ -0,0 +1,294 @@
> > +#
> > +# BSD LICENSE
> > +#
> > +# Copyright(c) 2010-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.
> > +This test vhost/virtio-user pvp multi-queues with split virtqueue and
> > +packed virtqueue different rx/tx paths, includes split virtqueue
> > +in-order mergeable, in-order non-mergeable, mergeable, non-mergeable,
> > +vector_rx path test, and packed virtqueue in-order mergeable,
> > +in-order non-mergeable, mergeable, non-mergeable path, also cover
> > +port restart
> > test with each path.
> > +"""
> > +import time
> > +import re
> > +from test_case import TestCase
> > +from packet import Packet
> > +from pktgen import PacketGeneratorHelper
> > +
> > +
> > +class TestPVPVirtioUserMultiQueuesPortRestart(TestCase):
> > +
> > + def set_up_all(self):
> > + """
> > + Run at the start of each test suite.
> > + """
> > + self.frame_sizes = [64]
> > + self.dut_ports = self.dut.get_ports()
> > + self.verify(len(self.dut_ports) >= 1, "Insufficient ports for testing")
> > + # get core mask
> > + self.ports_socket = self.dut.get_numa_id(self.dut_ports[0])
> > + self.core_list = self.dut.get_core_list('all', socket=self.ports_socket)
> > + self.dst_mac = self.dut.get_mac_address(self.dut_ports[0])
> > + self.out_path = '/tmp'
> > + out = self.tester.send_expect('ls -d %s' % self.out_path, '# ')
> > + if 'No such file or directory' in out:
> > + self.tester.send_expect('mkdir -p %s' % self.out_path, '# ')
> > + # create an instance to set stream field setting
> > + self.pktgen_helper = PacketGeneratorHelper()
> > + self.pci_info = self.dut.ports_info[0]['pci']
> > + self.vhost = self.dut.new_session(suite="vhost-user")
> > + self.tx_port = self.tester.get_local_port(self.dut_ports[0])
> > + self.queue_number = 2
> > + self.dut.kill_all()
> > +
> > + def set_up(self):
> > + """
> > + Run before each test case.
> > + """
> > + # Clean the execution ENV
> > + self.dut.send_expect("rm -rf ./vhost.out", "#")
> > + # Prepare the result table
> > + self.table_header = ["FrameSize(B)", "Mode",
> > + "Throughput(Mpps)", "% linerate", "Cycle"]
> > + self.result_table_create(self.table_header)
> > +
> > + def start_vhost_testpmd(self):
> > + """
> > + start testpmd on vhost
> > + """
> > + self.dut.send_expect("killall -s INT testpmd", "#")
> > + self.dut.send_expect("rm -rf ./vhost-net*", "#")
> > + testcmd = self.dut.target + "/app/testpmd "
> > + vdev = 'net_vhost0,iface=vhost-net,queues=2,client=0'
> > + eal_params =
> > + self.dut.create_eal_parameters(cores=self.core_list[2:5],
> > prefix='vhost', ports=[self.pci_info],
> > + vdevs=[vdev])
> > + para = " -- -i --nb-cores=2 --rxq=%s --txq=%s --rss-ip" %
> > (self.queue_number, self.queue_number)
> > + command_line_vhost = testcmd + eal_params + para
> > + self.vhost.send_expect(command_line_vhost, "testpmd> ", 120)
> > + self.vhost.send_expect("set fwd mac", "testpmd> ", 120)
> > + self.vhost.send_expect("start", "testpmd> ", 120)
> > +
> > + def start_virtio_user_testpmd(self, flag):
> > + """
> > + start testpmd in vm depend on different path
> > + """
> > + testcmd = self.dut.target + "/app/testpmd "
> > + vdev = 'net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-
> > net,queues=2'
> > + if 'packed_ring' in flag:
> > + vdev += ',packed_vq=1'
> > + if 'nonmergeable' in flag or 'vector' in flag:
> > + vdev += ',mrg_rxbuf=0'
> > + if 'inorder' not in flag:
> > + vdev += ',in_order=0'
> > + eal_params =
> > + self.dut.create_eal_parameters(cores=self.core_list[5:8],
> > prefix='virtio', no_pci=True,
> > + vdevs=[vdev])
> > + if 'vector' not in flag:
> > + para = " -- -i --tx-offloads=0x0 --enable-hw-vlan-strip
> > + --rss-ip --nb-
> > cores=2 --rxq=%s --txq=%s --rss-ip" % (
> > + self.queue_number, self.queue_number)
> > + else:
> > + para = " -- -i --tx-offloads=0x0 --rss-ip --nb-cores=2
> > + --rxq=%s --txq=%s
> > --rss-ip" % (
> > + self.queue_number, self.queue_number)
> > + command_line_user = testcmd + eal_params + para
> > + self.dut.send_expect(command_line_user, "testpmd> ", 30)
> > + self.dut.send_expect("set fwd mac", "testpmd> ", 30)
> > + self.dut.send_expect("start", "testpmd> ", 30)
> > +
> > + def check_port_link_status_after_port_restart(self):
> > + """
> > + check the link status after port restart
> > + """
> > + loop = 1
> > + port_status = 'down'
> > + while (loop <= 5):
> > + out = self.vhost.send_expect("show port info 0", "testpmd> ", 120)
> > + port_status = re.findall("Link\s*status:\s*([a-z]*)", out)
> > + if ("down" not in port_status):
> > + break
> > + time.sleep(2)
> > + loop = loop + 1
> > + self.verify("down" not in port_status, "port can not up after
> > + restart")
> > +
> > + def port_restart(self, restart_times=1):
> > + for i in range(restart_times):
> > + self.vhost.send_expect("stop", "testpmd> ", 120)
> > + self.vhost.send_expect("port stop 0", "testpmd> ", 120)
> > + self.vhost.send_expect("clear port stats 0", "testpmd> ", 120)
> > + self.vhost.send_expect("port start 0", "testpmd> ", 120)
> > + self.check_port_link_status_after_port_restart()
> > + self.vhost.send_expect("start", "testpmd> ", 120)
> > +
> > + def update_table_info(self, case_info, frame_size, Mpps,
> > + throughtput,
> > Cycle):
> > + results_row = [frame_size]
> > + results_row.append(case_info)
> > + results_row.append(Mpps)
> > + results_row.append(throughtput)
> > + results_row.append(Cycle)
> > + self.result_table_add(results_row)
> > +
> > + def calculate_avg_throughput(self, frame_size):
> > + """
> > + start to send packet and get the throughput
> > + """
> > + pkt = Packet(pkt_type='IP_RAW', pkt_len=frame_size)
> > + pkt.config_layer('ether', {'dst': '%s' % self.dst_mac})
> > + pkt.save_pcapfile(self.tester, "%s/pvp_multipath.pcap" %
> > + (self.out_path))
> > +
> > + tgenInput = []
> > + port = self.tester.get_local_port(self.dut_ports[0])
> > + tgenInput.append((port, port, "%s/pvp_multipath.pcap" %
> > self.out_path))
> > + self.tester.pktgen.clear_streams()
> > + fields_config = {'ip': {'dst': {'action': 'random'}}}
> > + streams =
> > self.pktgen_helper.prepare_stream_from_tginput(tgenInput, 100,
> > fields_config, self.tester.pktgen)
> > + # set traffic option
> > + traffic_opt = {'delay': 5}
> > + _, pps =
> > + self.tester.pktgen.measure_throughput(stream_ids=streams,
> > options=traffic_opt)
> > + Mpps = pps / 1000000.0
> > + self.verify(Mpps > 0, "can not receive packets of frame size
> > + %d" %
> > (frame_size))
> > + throughput = Mpps * 100 / \
> > + float(self.wirespeed(self.nic, frame_size, 1))
> > + return Mpps, throughput
> > +
> > + def send_and_verify(self, case_info):
> > + """
> > + start to send packets and verify it
> > + """
> > + for frame_size in self.frame_sizes:
> > + info = "Running test %s, and %d frame size." %
> > + (self.running_case,
> > frame_size)
> > + self.logger.info(info)
> > + Mpps, throughput = self.calculate_avg_throughput(frame_size)
> > + self.update_table_info(case_info, frame_size, Mpps,
> > + throughput,
> > "Before Restart")
> > + self.check_packets_of_each_queue(frame_size)
> > + restart_times = 100 if case_info == 'packed_ring_mergeable' else 1
> > + self.port_restart(restart_times=restart_times)
> > + Mpps, throughput = self.calculate_avg_throughput(frame_size)
> > + self.update_table_info(case_info, frame_size, Mpps,
> > + throughput,
> > "After Restart")
> > + self.check_packets_of_each_queue(frame_size)
> > +
> > + def check_packets_of_each_queue(self, frame_size):
> > + """
> > + check each queue has receive packets
> > + """
> > + out = self.dut.send_expect("stop", "testpmd> ", 60)
> > + p = re.compile("RX Port= 0/Queue= (\d+) -> TX Port= 0/Queue=
> > \d+.*\n.*RX-packets:\s?(\d+).*TX-packets:\s?(\d+)")
> > + res = p.findall(out)
> > + self.res_queues = sorted([int(i[0]) for i in res])
> > + self.res_rx_pkts = [int(i[1]) for i in res]
> > + self.res_tx_pkts = [int(i[2]) for i in res]
> > + self.verify(self.res_queues == list(range(self.queue_number)),
> > + "frame_size: %s, expect %s queues to handle
> > + packets, result %s
> > queues" % (frame_size, list(range(self.queue_number)),
> > self.res_queues))
> > + self.verify(all(self.res_rx_pkts), "each queue should has rx
> > + packets,
> > result: %s" % self.res_rx_pkts)
> > + self.verify(all(self.res_tx_pkts), "each queue should has tx
> > + packets,
> > result: %s" % self.res_tx_pkts)
> > + self.dut.send_expect("start", "testpmd> ", 60)
> > +
> > + def close_all_testpmd(self):
> > + """
> > + close testpmd about vhost-user and vm_testpmd
> > + """
> > + self.vhost.send_expect("quit", "#", 60)
> > + self.dut.send_expect("quit", "#", 60)
> > +
> > + def
> > test_perf_pvp_2queues_test_with_packed_ring_mergeable_path(self):
> > + self.start_vhost_testpmd()
> > + self.start_virtio_user_testpmd(flag="packed_ring_mergeable")
> > + self.send_and_verify("packed_ring_mergeable")
> > + self.close_all_testpmd()
> > + self.result_table_print()
> > +
> > + def
> > test_perf_pvp_2queues_test_with_packed_ring_nonmergeable_path(self):
> > + self.start_vhost_testpmd()
> > + self.start_virtio_user_testpmd(flag="packed_ring_nonmergeable")
> > + self.send_and_verify("packed_ring_nonmergeable")
> > + self.close_all_testpmd()
> > + self.result_table_print()
> > +
> > + def
> > test_perf_pvp_2queues_test_with_split_ring_inorder_mergeable_path(sel
> > f):
> > + self.start_vhost_testpmd()
> > + self.start_virtio_user_testpmd(flag="split_ring_inorder_mergeable")
> > + self.send_and_verify("split_ring_inorder_mergeable")
> > + self.close_all_testpmd()
> > + self.result_table_print()
> > +
> > + def
> > test_perf_pvp_2queues_test_with_split_ring_inorder_nonmergeable_path
> > (self):
> > + self.start_vhost_testpmd()
> > +
> > self.start_virtio_user_testpmd(flag="split_ring_inorder_nonmergeable")
> > + self.send_and_verify("split_ring_inorder_nonmergeable")
> > + self.close_all_testpmd()
> > + self.result_table_print()
> > +
> > + def test_perf_pvp_2queues_test_with_split_ring_mergeable_path(self):
> > + self.start_vhost_testpmd()
> > + self.start_virtio_user_testpmd(flag="split_ring_mergeable")
> > + self.send_and_verify("split_ring_mergeable")
> > + self.close_all_testpmd()
> > + self.result_table_print()
> > +
> > + def
> > test_perf_pvp_2queues_test_with_split_ring_nonmergeable_path(self):
> > + self.start_vhost_testpmd()
> > + self.start_virtio_user_testpmd(flag="split_ring_nonmergeable")
> > + self.send_and_verify("split_ring_nonmergeable")
> > + self.close_all_testpmd()
> > + self.result_table_print()
> > +
> > + def test_perf_pvp_2queues_test_with_split_ring_vector_rx_path(self):
> > + self.start_vhost_testpmd()
> > + self.start_virtio_user_testpmd(flag="split_ring_vector_rx")
> > + self.send_and_verify("split_ring_vector_rx")
> > + self.close_all_testpmd()
> > + self.result_table_print()
> > +
> > + def
> > test_perf_pvp_2queues_test_with_packed_ring_inorder_mergeable_path(
> > self):
> > + self.start_vhost_testpmd()
> > + self.start_virtio_user_testpmd(flag="packed_ring_inorder_mergeable")
> > + self.send_and_verify("packed_ring_inorder_mergeable")
> > + self.close_all_testpmd()
> > + self.result_table_print()
> > +
> > + def
> > test_perf_pvp_2queues_test_with_packed_ring_inorder_nonmergeable_p
> > ath(self):
> > + self.start_vhost_testpmd()
> > +
> > self.start_virtio_user_testpmd(flag="packed_ring_inorder_nonmergeable"
> > )
> > + self.send_and_verify("packed_ring_inorder_nonmergeable")
> > + self.close_all_testpmd()
> > + self.result_table_print()
> > +
> > + def tear_down(self):
> > + """
> > + Run after each test case.
> > + """
> > + self.dut.kill_all()
> > + time.sleep(2)
> > +
> > + def tear_down_all(self):
> > + """
> > + Run after each test suite.
> > + """
> > + self.dut.close_session(self.vhost)
> > --
> > 1.8.3.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dts] [PATCH V1] add automation for pvp_virtio_user_multi_queues_port_restart
2020-03-31 8:22 [dts] [PATCH V1] add automation for pvp_virtio_user_multi_queues_port_restart Xiao Qimai
2020-03-31 8:29 ` Xiao, QimaiX
@ 2020-04-16 8:49 ` Tu, Lijuan
1 sibling, 0 replies; 4+ messages in thread
From: Tu, Lijuan @ 2020-04-16 8:49 UTC (permalink / raw)
To: Xiao, QimaiX, dts; +Cc: Xiao, QimaiX
Applied, thanks
> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Xiao Qimai
> Sent: Tuesday, March 31, 2020 4:22 PM
> To: dts@dpdk.org
> Cc: Xiao, QimaiX <qimaix.xiao@intel.com>
> Subject: [dts] [PATCH V1] add automation for
> pvp_virtio_user_multi_queues_port_restart
>
> *. add automation for
> test_plans:pvp_virtio_user_multi_queues_port_restart.rst
>
> Signed-off-by: Xiao Qimai <qimaix.xiao@intel.com>
> ---
> ...te_pvp_virtio_user_multi_queues_port_restart.py | 294
> +++++++++++++++++++++
> 1 file changed, 294 insertions(+)
> create mode 100644
> tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
>
> diff --git a/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
> b/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
> new file mode 100644
> index 0000000..58d603f
> --- /dev/null
> +++ b/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py
> @@ -0,0 +1,294 @@
> +#
> +# BSD LICENSE
> +#
> +# Copyright(c) 2010-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.
> +This test vhost/virtio-user pvp multi-queues with split virtqueue and
> +packed virtqueue different rx/tx paths, includes split virtqueue
> +in-order mergeable, in-order non-mergeable, mergeable, non-mergeable,
> +vector_rx path test, and packed virtqueue in-order mergeable, in-order
> +non-mergeable, mergeable, non-mergeable path, also cover port restart
> test with each path.
> +"""
> +import time
> +import re
> +from test_case import TestCase
> +from packet import Packet
> +from pktgen import PacketGeneratorHelper
> +
> +
> +class TestPVPVirtioUserMultiQueuesPortRestart(TestCase):
> +
> + def set_up_all(self):
> + """
> + Run at the start of each test suite.
> + """
> + self.frame_sizes = [64]
> + self.dut_ports = self.dut.get_ports()
> + self.verify(len(self.dut_ports) >= 1, "Insufficient ports for testing")
> + # get core mask
> + self.ports_socket = self.dut.get_numa_id(self.dut_ports[0])
> + self.core_list = self.dut.get_core_list('all', socket=self.ports_socket)
> + self.dst_mac = self.dut.get_mac_address(self.dut_ports[0])
> + self.out_path = '/tmp'
> + out = self.tester.send_expect('ls -d %s' % self.out_path, '# ')
> + if 'No such file or directory' in out:
> + self.tester.send_expect('mkdir -p %s' % self.out_path, '# ')
> + # create an instance to set stream field setting
> + self.pktgen_helper = PacketGeneratorHelper()
> + self.pci_info = self.dut.ports_info[0]['pci']
> + self.vhost = self.dut.new_session(suite="vhost-user")
> + self.tx_port = self.tester.get_local_port(self.dut_ports[0])
> + self.queue_number = 2
> + self.dut.kill_all()
> +
> + def set_up(self):
> + """
> + Run before each test case.
> + """
> + # Clean the execution ENV
> + self.dut.send_expect("rm -rf ./vhost.out", "#")
> + # Prepare the result table
> + self.table_header = ["FrameSize(B)", "Mode",
> + "Throughput(Mpps)", "% linerate", "Cycle"]
> + self.result_table_create(self.table_header)
> +
> + def start_vhost_testpmd(self):
> + """
> + start testpmd on vhost
> + """
> + self.dut.send_expect("killall -s INT testpmd", "#")
> + self.dut.send_expect("rm -rf ./vhost-net*", "#")
> + testcmd = self.dut.target + "/app/testpmd "
> + vdev = 'net_vhost0,iface=vhost-net,queues=2,client=0'
> + eal_params = self.dut.create_eal_parameters(cores=self.core_list[2:5],
> prefix='vhost', ports=[self.pci_info],
> + vdevs=[vdev])
> + para = " -- -i --nb-cores=2 --rxq=%s --txq=%s --rss-ip" %
> (self.queue_number, self.queue_number)
> + command_line_vhost = testcmd + eal_params + para
> + self.vhost.send_expect(command_line_vhost, "testpmd> ", 120)
> + self.vhost.send_expect("set fwd mac", "testpmd> ", 120)
> + self.vhost.send_expect("start", "testpmd> ", 120)
> +
> + def start_virtio_user_testpmd(self, flag):
> + """
> + start testpmd in vm depend on different path
> + """
> + testcmd = self.dut.target + "/app/testpmd "
> + vdev = 'net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-
> net,queues=2'
> + if 'packed_ring' in flag:
> + vdev += ',packed_vq=1'
> + if 'nonmergeable' in flag or 'vector' in flag:
> + vdev += ',mrg_rxbuf=0'
> + if 'inorder' not in flag:
> + vdev += ',in_order=0'
> + eal_params = self.dut.create_eal_parameters(cores=self.core_list[5:8],
> prefix='virtio', no_pci=True,
> + vdevs=[vdev])
> + if 'vector' not in flag:
> + para = " -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-
> cores=2 --rxq=%s --txq=%s --rss-ip" % (
> + self.queue_number, self.queue_number)
> + else:
> + para = " -- -i --tx-offloads=0x0 --rss-ip --nb-cores=2 --rxq=%s --txq=%s
> --rss-ip" % (
> + self.queue_number, self.queue_number)
> + command_line_user = testcmd + eal_params + para
> + self.dut.send_expect(command_line_user, "testpmd> ", 30)
> + self.dut.send_expect("set fwd mac", "testpmd> ", 30)
> + self.dut.send_expect("start", "testpmd> ", 30)
> +
> + def check_port_link_status_after_port_restart(self):
> + """
> + check the link status after port restart
> + """
> + loop = 1
> + port_status = 'down'
> + while (loop <= 5):
> + out = self.vhost.send_expect("show port info 0", "testpmd> ", 120)
> + port_status = re.findall("Link\s*status:\s*([a-z]*)", out)
> + if ("down" not in port_status):
> + break
> + time.sleep(2)
> + loop = loop + 1
> + self.verify("down" not in port_status, "port can not up after
> + restart")
> +
> + def port_restart(self, restart_times=1):
> + for i in range(restart_times):
> + self.vhost.send_expect("stop", "testpmd> ", 120)
> + self.vhost.send_expect("port stop 0", "testpmd> ", 120)
> + self.vhost.send_expect("clear port stats 0", "testpmd> ", 120)
> + self.vhost.send_expect("port start 0", "testpmd> ", 120)
> + self.check_port_link_status_after_port_restart()
> + self.vhost.send_expect("start", "testpmd> ", 120)
> +
> + def update_table_info(self, case_info, frame_size, Mpps, throughtput,
> Cycle):
> + results_row = [frame_size]
> + results_row.append(case_info)
> + results_row.append(Mpps)
> + results_row.append(throughtput)
> + results_row.append(Cycle)
> + self.result_table_add(results_row)
> +
> + def calculate_avg_throughput(self, frame_size):
> + """
> + start to send packet and get the throughput
> + """
> + pkt = Packet(pkt_type='IP_RAW', pkt_len=frame_size)
> + pkt.config_layer('ether', {'dst': '%s' % self.dst_mac})
> + pkt.save_pcapfile(self.tester, "%s/pvp_multipath.pcap" %
> + (self.out_path))
> +
> + tgenInput = []
> + port = self.tester.get_local_port(self.dut_ports[0])
> + tgenInput.append((port, port, "%s/pvp_multipath.pcap" %
> self.out_path))
> + self.tester.pktgen.clear_streams()
> + fields_config = {'ip': {'dst': {'action': 'random'}}}
> + streams = self.pktgen_helper.prepare_stream_from_tginput(tgenInput,
> 100, fields_config, self.tester.pktgen)
> + # set traffic option
> + traffic_opt = {'delay': 5}
> + _, pps = self.tester.pktgen.measure_throughput(stream_ids=streams,
> options=traffic_opt)
> + Mpps = pps / 1000000.0
> + self.verify(Mpps > 0, "can not receive packets of frame size %d" %
> (frame_size))
> + throughput = Mpps * 100 / \
> + float(self.wirespeed(self.nic, frame_size, 1))
> + return Mpps, throughput
> +
> + def send_and_verify(self, case_info):
> + """
> + start to send packets and verify it
> + """
> + for frame_size in self.frame_sizes:
> + info = "Running test %s, and %d frame size." % (self.running_case,
> frame_size)
> + self.logger.info(info)
> + Mpps, throughput = self.calculate_avg_throughput(frame_size)
> + self.update_table_info(case_info, frame_size, Mpps, throughput,
> "Before Restart")
> + self.check_packets_of_each_queue(frame_size)
> + restart_times = 100 if case_info == 'packed_ring_mergeable' else 1
> + self.port_restart(restart_times=restart_times)
> + Mpps, throughput = self.calculate_avg_throughput(frame_size)
> + self.update_table_info(case_info, frame_size, Mpps, throughput,
> "After Restart")
> + self.check_packets_of_each_queue(frame_size)
> +
> + def check_packets_of_each_queue(self, frame_size):
> + """
> + check each queue has receive packets
> + """
> + out = self.dut.send_expect("stop", "testpmd> ", 60)
> + p = re.compile("RX Port= 0/Queue= (\d+) -> TX Port= 0/Queue=
> \d+.*\n.*RX-packets:\s?(\d+).*TX-packets:\s?(\d+)")
> + res = p.findall(out)
> + self.res_queues = sorted([int(i[0]) for i in res])
> + self.res_rx_pkts = [int(i[1]) for i in res]
> + self.res_tx_pkts = [int(i[2]) for i in res]
> + self.verify(self.res_queues == list(range(self.queue_number)),
> + "frame_size: %s, expect %s queues to handle packets, result %s
> queues" % (frame_size, list(range(self.queue_number)), self.res_queues))
> + self.verify(all(self.res_rx_pkts), "each queue should has rx packets,
> result: %s" % self.res_rx_pkts)
> + self.verify(all(self.res_tx_pkts), "each queue should has tx packets,
> result: %s" % self.res_tx_pkts)
> + self.dut.send_expect("start", "testpmd> ", 60)
> +
> + def close_all_testpmd(self):
> + """
> + close testpmd about vhost-user and vm_testpmd
> + """
> + self.vhost.send_expect("quit", "#", 60)
> + self.dut.send_expect("quit", "#", 60)
> +
> + def
> test_perf_pvp_2queues_test_with_packed_ring_mergeable_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="packed_ring_mergeable")
> + self.send_and_verify("packed_ring_mergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_packed_ring_nonmergeable_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="packed_ring_nonmergeable")
> + self.send_and_verify("packed_ring_nonmergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_split_ring_inorder_mergeable_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="split_ring_inorder_mergeable")
> + self.send_and_verify("split_ring_inorder_mergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_split_ring_inorder_nonmergeable_path(s
> elf):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="split_ring_inorder_nonmergeable")
> + self.send_and_verify("split_ring_inorder_nonmergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def test_perf_pvp_2queues_test_with_split_ring_mergeable_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="split_ring_mergeable")
> + self.send_and_verify("split_ring_mergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_split_ring_nonmergeable_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="split_ring_nonmergeable")
> + self.send_and_verify("split_ring_nonmergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def test_perf_pvp_2queues_test_with_split_ring_vector_rx_path(self):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="split_ring_vector_rx")
> + self.send_and_verify("split_ring_vector_rx")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_packed_ring_inorder_mergeable_path(se
> lf):
> + self.start_vhost_testpmd()
> + self.start_virtio_user_testpmd(flag="packed_ring_inorder_mergeable")
> + self.send_and_verify("packed_ring_inorder_mergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def
> test_perf_pvp_2queues_test_with_packed_ring_inorder_nonmergeable_pat
> h(self):
> + self.start_vhost_testpmd()
> +
> self.start_virtio_user_testpmd(flag="packed_ring_inorder_nonmergeable")
> + self.send_and_verify("packed_ring_inorder_nonmergeable")
> + self.close_all_testpmd()
> + self.result_table_print()
> +
> + def tear_down(self):
> + """
> + Run after each test case.
> + """
> + self.dut.kill_all()
> + time.sleep(2)
> +
> + def tear_down_all(self):
> + """
> + Run after each test suite.
> + """
> + self.dut.close_session(self.vhost)
> --
> 1.8.3.1
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-04-16 8:49 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-31 8:22 [dts] [PATCH V1] add automation for pvp_virtio_user_multi_queues_port_restart Xiao Qimai
2020-03-31 8:29 ` Xiao, QimaiX
2020-03-31 8:42 ` Wang, Yinan
2020-04-16 8:49 ` 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).