@@ -45,8 +45,6 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
self.dut.send_expect("rm -rf %s/vhost-net*" % self.base_dir, "#")
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
# Prepare the result table
self.table_header = [
"Frame Size",
@@ -249,8 +247,8 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 1: loopback vhost async test with split ring inorder mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -280,8 +278,8 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 2: loopback vhost async test with split ring inorder non-mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -311,8 +309,8 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 3: loopback vhost async test with split ring mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -342,8 +340,8 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 4: loopback vhost async test with split ring non-mergeable path path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -373,8 +371,8 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 5: loopback vhost async test with split ring vectorized path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -404,8 +402,8 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 6: loopback vhost async test with packed ring inorder mergeable path path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -435,8 +433,8 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 7: loopback vhost async test with packed ring inorder non-mergeable path path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -466,8 +464,8 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 8: loopback vhost async test with packed ring mergeable path path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -497,8 +495,8 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 9: loopback vhost async test with packed ring non-mergeable path path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -528,8 +526,8 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 10: loopback vhost async test with packed ring vectorized path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -559,20 +557,20 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 11: loopback vhost async test with split ring inorder mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
virtio_eal_param = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,in_order=1,mrg_rxbuf=1"
@@ -599,20 +597,20 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 12: loopback vhost async test with split ring inorder non-mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
virtio_eal_param = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,in_order=1,mrg_rxbuf=0"
@@ -639,20 +637,20 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 13: loopback vhost async test with split ring mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
virtio_eal_param = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,in_order=0,mrg_rxbuf=1"
@@ -679,20 +677,20 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 14: loopback vhost async test with split ring non-mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
virtio_eal_param = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,in_order=0,mrg_rxbuf=0"
@@ -719,20 +717,20 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 15: loopback vhost async test with split ring vectorized path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
virtio_eal_param = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,in_order=0,mrg_rxbuf=0,vectorized=1"
@@ -759,20 +757,20 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 16: loopback vhost async test with packed ring inorder mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
virtio_eal_param = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1,in_order=1,mrg_rxbuf=1"
@@ -799,20 +797,20 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 17: loopback vhost async test with packed ring inorder non-mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
virtio_eal_param = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1,in_order=1,mrg_rxbuf=0"
@@ -839,20 +837,20 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 18: loopback vhost async test with packed ring mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
virtio_eal_param = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1,in_order=0,mrg_rxbuf=1"
@@ -879,20 +877,20 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 19: loopback vhost async test with packed ring non-mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
virtio_eal_param = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1,in_order=0,mrg_rxbuf=0"
@@ -919,20 +917,20 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
Test Case 20: loopback vhost async test with packed ring vectorized path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
virtio_eal_param = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1,in_order=0,mrg_rxbuf=0,vectorized=1"
@@ -965,8 +963,6 @@ class TestLoopbackVhostAsyncPerfDsa(TestCase):
"""
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
self.dut.send_expect("rm -rf %s/vhost-net*" % self.base_dir, "#")
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
def tear_down_all(self):
"""
@@ -50,9 +50,6 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"Cycle",
]
self.result_table_create(self.table_header)
- self.use_dsa_list = []
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
@property
def check_2M_env(self):
@@ -190,25 +187,22 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
Test Case 1: Loopback split ring server mode large chain packets stress test with dsa dpdk driver
"""
if not self.check_2M_env:
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
- )
- dmas = "txq0@%s-q0;" "rxq0@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
+ dmas = "txq0@%s-q0;rxq0@%s-q0" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=1,dmas=[%s],client=1'"
% dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024 --mbuf-size=65535"
- port_options = {self.use_dsa_list[0]: "max_queues=1"}
+ port_options = {dsas[0]: "max_queues=1"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -230,25 +224,22 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
Test Case 2: Loopback packed ring server mode large chain packets stress test with dsa dpdk driver
"""
if not self.check_2M_env:
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
- )
- dmas = "txq0@%s-q0;" "rxq0@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
+ dmas = "txq0@%s-q0;rxq0@%s-q0" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=1,dmas=[%s],client=1'"
% dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024 --mbuf-size=65535"
- port_options = {self.use_dsa_list[0]: "max_queues=1"}
+ port_options = {dsas[0]: "max_queues=1"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -269,8 +260,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 3: Loopback split ring inorder mergeable path multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -286,31 +277,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -333,8 +324,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 4: Loopback split ring mergeable path multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -350,31 +341,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -397,8 +388,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 5: Loopback split ring non-mergeable path multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -414,31 +405,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -463,8 +454,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 6: Loopback split ring inorder non-mergeable path multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -480,31 +471,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -527,8 +518,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 7: Loopback split ring vectorized path multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -544,31 +535,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -591,8 +582,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 8: Loopback packed ring inorder mergeable path multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -608,31 +599,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -655,8 +646,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 9: Loopback packed ring mergeable path multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -672,31 +663,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -719,8 +710,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 10: Loopback packed ring non-mergeable path multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -736,31 +727,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -783,8 +774,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 11: Loopback packed ring inorder non-mergeable path multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -800,31 +791,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -847,8 +838,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 12: Loopback packed ring vectorized path multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -864,31 +855,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -911,8 +902,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 13: Loopback packed ring vectorized path and ring size is not power of 2 multi-queues payload check with server mode and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -928,31 +919,31 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -976,8 +967,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
Test Case 14: Loopback split ring server mode large chain packets stress test with dsa kernel driver
"""
if not self.check_2M_env:
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.0"
+ wqs = self.DC.create_wq(wq_num=1, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=1,dmas=[%s],client=1'"
% dmas
@@ -1008,8 +999,8 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
Test Case 15: Loopback packed ring server mode large chain packets stress test with dsa kernel driver
"""
if not self.check_2M_env:
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.0"
+ wqs = self.DC.create_wq(wq_num=1, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=1,dmas=[%s],client=1'"
% dmas
@@ -1039,21 +1030,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 16: Loopback split ring inorder mergeable path multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1080,18 +1084,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1115,21 +1133,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 17: Loopback split ring mergeable path multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1157,18 +1188,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1192,21 +1237,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 18: Loopback split ring non-mergeable path multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1236,18 +1294,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1271,21 +1343,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 19: Loopback split ring inorder non-mergeable path multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1313,18 +1398,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1348,21 +1447,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 20: Loopback split ring vectorized path multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1390,18 +1502,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1425,21 +1551,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 21: Loopback packed ring inorder mergeable path multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1467,18 +1606,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1502,21 +1655,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 22: Loopback packed ring mergeable path multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1544,18 +1710,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1579,21 +1759,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 23: Loopback packed ring non-mergeable path multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1621,18 +1814,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1656,21 +1863,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 24: Loopback packed ring inorder non-mergeable path multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1698,18 +1918,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1733,21 +1967,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 25: Loopback packed ring vectorized path multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1775,18 +2022,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1810,21 +2071,34 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 26: Loopback packed ring vectorized path and ring size is not power of 2 multi-queues payload check with server mode and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1852,18 +2126,32 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1887,45 +2175,52 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
Test Case 27: PV split and packed ring server mode test txonly mode with dsa dpdk and kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2,
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2,
driver_name="vfio-pci",
- dsa_index_list=[2, 3],
+ dsa_idxs=[2, 3],
socket=self.ports_socket,
)
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
"txq4@%s-q0;"
"txq5@%s-q0;"
"rxq2@%s-q1;"
"rxq3@%s-q1;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ wqs[8],
+ wqs[8],
+ wqs[8],
+ wqs[8],
)
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
port_options=port_options,
iova_mode="va",
)
@@ -1967,8 +2262,6 @@ class TestLoopbackVirtioUserServerModeDsa(TestCase):
"""
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
self.dut.kill_all()
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
def tear_down_all(self):
"""
@@ -51,8 +51,6 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
self.dut.send_expect("rm -rf %s/vhost-net*" % self.base_dir, "#")
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
# Prepare the result table
self.table_header = ["Frame"]
self.table_header.append("Mode/RXD-TXD")
@@ -273,8 +271,8 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 1: pvp vhost async test with split ring inorder mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -301,8 +299,8 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 2: pvp vhost async test with split ring inorder non-mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -329,8 +327,8 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 3: pvp vhost async test with split ring mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -357,8 +355,8 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 4: pvp vhost async test with split ring non-mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -385,8 +383,8 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 5: pvp vhost async test with split ring vectorized path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -413,8 +411,8 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 6: pvp vhost async test with packed ring inorder mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -441,8 +439,8 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 7: pvp vhost async test with packed ring inorder non-mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -469,8 +467,8 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 8: pvp vhost async test with packed ring mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -497,8 +495,8 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 9: pvp vhost async test with packed ring non-mergeable path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -525,8 +523,8 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 10: pvp vhost async test with packed ring vectorized path using IDXD kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
@@ -553,17 +551,17 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 11: pvp vhost async test with split ring inorder mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
@@ -588,17 +586,17 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 12: pvp vhost async test with split ring inorder non-mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
@@ -623,17 +621,17 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 13: pvp vhost async test with split ring mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
@@ -658,17 +656,17 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 14: pvp vhost async test with split ring non-mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
@@ -693,17 +691,17 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 15: pvp vhost async test with split ring vectorized_rx path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
@@ -728,17 +726,17 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 16: pvp vhost async test with packed ring inorder mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
@@ -763,17 +761,17 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 17: pvp vhost async test with packed ring inorder non-mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
@@ -798,17 +796,17 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 18: pvp vhost async test with packed ring mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
@@ -833,17 +831,17 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 19: pvp vhost async test with packed ring non-mergeable path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
@@ -868,17 +866,17 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
Test Case 20: pvp vhost async test with split ring vectorized path using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;" "rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=1 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_user_testpmd(
eal_param=vhost_eal_param,
param=vhost_param,
@@ -909,8 +907,6 @@ class TestPVPVhostAsyncMultiPathsPerformanceDsa(TestCase):
"""
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
self.dut.send_expect("rm -rf %s/vhost-net*" % self.base_dir, "#")
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
def tear_down_all(self):
"""
@@ -22,6 +22,7 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Run at the start of each test suite.
"""
+ self.frame_sizes = [64, 128, 256, 512, 1024, 1280, 1518, 2048, 4096]
self.vhost_user = self.dut.new_session(suite="vhost-user")
self.vhost_user_pmd = PmdOutput(self.dut, self.vhost_user)
self.dut_ports = self.dut.get_ports()
@@ -51,8 +52,6 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
self.dut.send_expect("killall -s INT qemu-system-x86_64", "#")
self.dut.send_expect("rm -rf %s/vhost-net*" % self.base_dir, "#")
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
# Prepare the result table
self.table_header = ["Frame"]
self.table_header.append("Mode/RXD-TXD")
@@ -104,7 +103,7 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"mq=on,vectors=%s," % (2 + self.queues * 2) if self.queues > 1 else ""
)
vm_params["opt_settings"] = (
- "disable-modern=false,mrg_rxbuf=on,%srx_queue_size=1024,tx_queue_size=1024,csum=off,guest_csum=off,gso= off,host_tso4=off,guest_tso4=off,guest_ecn=off%s"
+ "disable-modern=false,mrg_rxbuf=on,%srx_queue_size=1024,tx_queue_size=1024,csum=off,guest_csum=off,gso=off,host_tso4=off,guest_tso4=off,guest_ecn=off%s"
% (mq_param, packed_param)
)
self.vm.set_vm_device(**vm_params)
@@ -134,11 +133,7 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Send packet with packet generator and verify
"""
- if "4c_4q" or "4c_8q" not in self.running_case:
- frame_sizes = [64, 128, 256, 512, 1024, 1280, 1518]
- else:
- frame_sizes = [64, 128, 256, 512, 1024, 1280, 1518, 2048, 4096]
- for frame_size in frame_sizes:
+ for frame_size in self.frame_sizes:
payload_size = frame_size - self.headers_size
tgen_input = []
self.throughput[frame_size] = dict()
@@ -308,10 +303,7 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"--socket-mem 8192 --vdev 'net_vhost0,iface=vhost-net,queues=%d,dmas=[%s]'"
% (self.queues, self.dmas)
)
- if "4c_4q" or "4c_8q" not in self.running_case:
- max_len_param = ""
- else:
- max_len_param = "--max-pkt-len=5200 --tx-offloads=0x00008000"
+ max_len_param = "--max-pkt-len=5200 --tx-offloads=0x00008000"
vhost_param = (
"--nb-cores=%d --txq=%d --rxq=%d --txd=2048 --rxd=2048 %s --forward-mode=mac -a"
% (self.nb_cores, self.queues, self.queues, max_len_param)
@@ -348,9 +340,9 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 1: pvp split ring vhost async test with 1core 1queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
self.queues = 1
- self.dmas = "txq0@wq0.0;rxq0@wq0.1"
+ self.dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
self.nb_cores = 1
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
self.perf_test(
@@ -361,9 +353,9 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 2: pvp split ring vhost async test with 1core 2queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=4, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=4, dsa_idxs=[0])
self.queues = 2
- self.dmas = "txq0@wq0.0;rxq0@wq0.1;txq1@wq0.2;rxq1@wq0.3"
+ self.dmas = "txq0@%s;rxq0@%s;txq1@%s;rxq1@%s" % (wqs[0], wqs[1], wqs[2], wqs[3])
self.nb_cores = 1
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
self.perf_test(
@@ -374,9 +366,9 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 3: pvp split ring vhost async test with 2core 2queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=4, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=4, dsa_idxs=[0])
self.queues = 2
- self.dmas = "txq0@wq0.0;rxq0@wq0.1;txq1@wq0.2;rxq1@wq0.3"
+ self.dmas = "txq0@%s;rxq0@%s;txq1@%s;rxq1@%s" % (wqs[0], wqs[1], wqs[2], wqs[3])
self.nb_cores = 2
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
self.perf_test(
@@ -387,17 +379,17 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 4: pvp split ring vhost async test with 2core 4queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0])
self.queues = 4
self.dmas = (
- "txq0@wq0.0;"
- "rxq0@wq0.1;"
- "txq1@wq0.2;"
- "rxq1@wq0.3;"
- "txq2@wq0.4;"
- "rxq2@wq0.5;"
- "txq3@wq0.6;"
- "rxq3@wq0.7"
+ "txq0@%s;"
+ "rxq0@%s;"
+ "txq1@%s;"
+ "rxq1@%s;"
+ "txq2@%s;"
+ "rxq2@%s;"
+ "txq3@%s;"
+ "rxq3@%s" % (wqs[0], wqs[1], wqs[2], wqs[3], wqs[4], wqs[5], wqs[6], wqs[7])
)
self.nb_cores = 2
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
@@ -409,17 +401,17 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 5: pvp split ring vhost async test with 4core 4queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0])
self.queues = 4
self.dmas = (
- "txq0@wq0.0;"
- "rxq0@wq0.1;"
- "txq1@wq0.2;"
- "rxq1@wq0.3;"
- "txq2@wq0.4;"
- "rxq2@wq0.5;"
- "txq3@wq0.6;"
- "rxq3@wq0.7"
+ "txq0@%s;"
+ "rxq0@%s;"
+ "txq1@%s;"
+ "rxq1@%s;"
+ "txq2@%s;"
+ "rxq2@%s;"
+ "txq3@%s;"
+ "rxq3@%s" % (wqs[0], wqs[1], wqs[2], wqs[3], wqs[4], wqs[5], wqs[6], wqs[7])
)
self.nb_cores = 4
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
@@ -431,25 +423,43 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 6: pvp split ring vhost async test with 4core 8queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0])
self.queues = 8
self.dmas = (
- "txq0@wq0.0;"
- "rxq0@wq0.0;"
- "txq1@wq0.1;"
- "rxq1@wq0.1;"
- "txq2@wq0.2;"
- "rxq2@wq0.2;"
- "txq3@wq0.3;"
- "rxq3@wq0.3;"
- "txq4@wq0.4;"
- "rxq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq5@wq0.5;"
- "txq6@wq0.6;"
- "rxq6@wq0.6;"
- "txq7@wq0.7;"
- "rxq7@wq0.7"
+ "txq0@%s;"
+ "rxq0@%s;"
+ "txq1@%s;"
+ "rxq1@%s;"
+ "txq2@%s;"
+ "rxq2@%s;"
+ "txq3@%s;"
+ "rxq3@%s;"
+ "txq4@%s;"
+ "rxq4@%s;"
+ "txq5@%s;"
+ "rxq5@%s;"
+ "txq6@%s;"
+ "rxq6@%s;"
+ "txq7@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[2],
+ wqs[2],
+ wqs[3],
+ wqs[3],
+ wqs[4],
+ wqs[4],
+ wqs[5],
+ wqs[5],
+ wqs[6],
+ wqs[6],
+ wqs[7],
+ wqs[7],
+ )
)
self.nb_cores = 4
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
@@ -461,9 +471,9 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 7: pvp packed ring vhost async test with 1core 1queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
self.queues = 1
- self.dmas = "txq0@wq0.0;rxq0@wq0.1"
+ self.dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[1])
self.nb_cores = 1
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
self.perf_test(
@@ -474,9 +484,9 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 8: pvp packed ring vhost async test with 1core 2queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=4, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=4, dsa_idxs=[0])
self.queues = 2
- self.dmas = "txq0@wq0.0;rxq0@wq0.1;txq1@wq0.2;rxq1@wq0.3"
+ self.dmas = "txq0@%s;rxq0@%s;txq1@%s;rxq1@%s" % (wqs[0], wqs[1], wqs[2], wqs[3])
self.nb_cores = 1
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
self.perf_test(
@@ -487,9 +497,9 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 9: pvp packed ring vhost async test with 2core 2queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=4, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=4, dsa_idxs=[0])
self.queues = 2
- self.dmas = "txq0@wq0.0;rxq0@wq0.1;txq1@wq0.2;rxq1@wq0.3"
+ self.dmas = "txq0@%s;rxq0@%s;txq1@%s;rxq1@%s" % (wqs[0], wqs[1], wqs[2], wqs[3])
self.nb_cores = 2
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
self.perf_test(
@@ -500,17 +510,17 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 10: pvp packed ring vhost async test with 2core 4queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0])
self.queues = 4
self.dmas = (
- "txq0@wq0.0;"
- "rxq0@wq0.1;"
- "txq1@wq0.2;"
- "rxq1@wq0.3;"
- "txq2@wq0.4;"
- "rxq2@wq0.5;"
- "txq3@wq0.6;"
- "rxq3@wq0.7"
+ "txq0@%s;"
+ "rxq0@%s;"
+ "txq1@%s;"
+ "rxq1@%s;"
+ "txq2@%s;"
+ "rxq2@%s;"
+ "txq3@%s;"
+ "rxq3@%s" % (wqs[0], wqs[1], wqs[2], wqs[3], wqs[4], wqs[5], wqs[6], wqs[7])
)
self.nb_cores = 2
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
@@ -522,17 +532,17 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 11: pvp packed ring vhost async test with 4core 4queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0])
self.queues = 4
self.dmas = (
- "txq0@wq0.0;"
- "rxq0@wq0.1;"
- "txq1@wq0.2;"
- "rxq1@wq0.3;"
- "txq2@wq0.4;"
- "rxq2@wq0.5;"
- "txq3@wq0.6;"
- "rxq3@wq0.7"
+ "txq0@%s;"
+ "rxq0@%s;"
+ "txq1@%s;"
+ "rxq1@%s;"
+ "txq2@%s;"
+ "rxq2@%s;"
+ "txq3@%s;"
+ "rxq3@%s" % (wqs[0], wqs[1], wqs[2], wqs[3], wqs[4], wqs[5], wqs[6], wqs[7])
)
self.nb_cores = 4
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
@@ -544,25 +554,43 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 12: pvp packed ring vhost async test with 4core 8queue using idxd kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0])
self.queues = 8
self.dmas = (
- "txq0@wq0.0;"
- "rxq0@wq0.0;"
- "txq1@wq0.1;"
- "rxq1@wq0.1;"
- "txq2@wq0.2;"
- "rxq2@wq0.2;"
- "txq3@wq0.3;"
- "rxq3@wq0.3;"
- "txq4@wq0.4;"
- "rxq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq5@wq0.5;"
- "txq6@wq0.6;"
- "rxq6@wq0.6;"
- "txq7@wq0.7;"
- "rxq7@wq0.7"
+ "txq0@%s;"
+ "rxq0@%s;"
+ "txq1@%s;"
+ "rxq1@%s;"
+ "txq2@%s;"
+ "rxq2@%s;"
+ "txq3@%s;"
+ "rxq3@%s;"
+ "txq4@%s;"
+ "rxq4@%s;"
+ "txq5@%s;"
+ "rxq5@%s;"
+ "txq6@%s;"
+ "rxq6@%s;"
+ "txq7@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[2],
+ wqs[2],
+ wqs[3],
+ wqs[3],
+ wqs[4],
+ wqs[4],
+ wqs[5],
+ wqs[5],
+ wqs[6],
+ wqs[6],
+ wqs[7],
+ wqs[7],
+ )
)
self.nb_cores = 4
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
@@ -574,18 +602,18 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 13: pvp split ring vhost async test with 1core 1queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 1
self.dmas = "txq0@%s-q0;rxq0@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
self.nb_cores = 1
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -597,8 +625,8 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 14: pvp split ring vhost async test with 1core 2queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 2
self.dmas = (
@@ -607,16 +635,16 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"txq1@%s-q2;"
"rxq1@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
self.nb_cores = 1
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=4"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -628,8 +656,8 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 15: pvp split ring vhost async test with 2core 2queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 2
self.dmas = (
@@ -638,16 +666,16 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"txq1@%s-q2;"
"rxq1@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
self.nb_cores = 2
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=4"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -659,8 +687,8 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 16: pvp split ring vhost async test with 2core 4queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 4
self.dmas = (
@@ -673,20 +701,20 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"txq3@%s-q6;"
"rxq3@%s-q7"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
self.nb_cores = 2
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=8"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -698,8 +726,8 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 17: pvp split ring vhost async test with 4core 4queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 4
self.dmas = (
@@ -712,20 +740,20 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"txq3@%s-q6;"
"rxq3@%s-q7"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
self.nb_cores = 4
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=8"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -737,8 +765,8 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 18: pvp split ring vhost async test with 4core 8queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 8
self.dmas = (
@@ -751,20 +779,20 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"txq3@%s-q6;"
"rxq3@%s-q7"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
self.nb_cores = 4
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=8"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -776,18 +804,18 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 19: pvp packed ring vhost async test with 1core 1queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 1
self.dmas = "txq0@%s-q0;rxq0@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
self.nb_cores = 1
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -799,8 +827,8 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 20: pvp packed ring vhost async test with 1core 2queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 2
self.dmas = (
@@ -809,16 +837,16 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"txq1@%s-q2;"
"rxq1@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
self.nb_cores = 1
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=4"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -830,8 +858,8 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 21: pvp packed ring vhost async test with 2core 2queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 2
self.dmas = (
@@ -840,16 +868,16 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"txq1@%s-q2;"
"rxq1@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
self.nb_cores = 2
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=4"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -861,8 +889,8 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 22: pvp packed ring vhost async test with 2core 4queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 4
self.dmas = (
@@ -875,20 +903,20 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"txq3@%s-q6;"
"rxq3@%s-q7"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
self.nb_cores = 2
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=8"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -900,8 +928,8 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 23: pvp packed ring vhost async test with 4core 4queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 4
self.dmas = (
@@ -914,20 +942,20 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"txq3@%s-q6;"
"rxq3@%s-q7"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
self.nb_cores = 4
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=8"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -939,8 +967,8 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"""
Test Case 24: pvp packed ring vhost async test with 4core 8queue using vfio-pci driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
self.queues = 8
self.dmas = (
@@ -953,20 +981,20 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
"txq3@%s-q6;"
"rxq3@%s-q7"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
self.nb_cores = 4
ports = [self.dut.ports_info[self.dut_ports[0]]["pci"]]
- ports.append(self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ ports.append(dsas[0])
+ port_options = {dsas[0]: "max_queues=8"}
self.perf_test(
case_info=self.running_case,
ports=ports,
@@ -985,8 +1013,6 @@ class TestPVPVhostAsyncVirtioPmdPerfDsa(TestCase):
Run after each test case.
"""
self.stop_vm_and_quit_testpmd()
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
def tear_down_all(self):
"""
@@ -76,8 +76,6 @@ class TestVhostDsa(TestCase):
self.dut.send_expect("killall -I %s" % self.testpmd_name, "#", 20)
self.dut.send_expect("rm -rf %s/vhost-net*" % self.base_dir, "#")
self.mode_list = []
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
def get_vhost_port_num(self):
out = self.vhost_user.send_expect("show port summary all", "testpmd> ", 60)
@@ -166,8 +164,8 @@ class TestVhostDsa(TestCase):
"""
Test Case 1: PVP split ring vhost async operation test with each tx/rx queue using one DSA dpdk driver channel
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -175,10 +173,10 @@ class TestVhostDsa(TestCase):
"rxq0@%s-q2;"
"rxq1@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
@@ -187,9 +185,9 @@ class TestVhostDsa(TestCase):
vhost_param = "--nb-cores=1 --txq=2 --rxq=2 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[0]["pci"]]
- for i in self.use_dsa_list:
+ for i in dsas:
ports.append(i)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
param=vhost_param,
@@ -233,10 +231,10 @@ class TestVhostDsa(TestCase):
"rxq0@%s-q0;"
"rxq1@%s-q1"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[0],
+ dsas[0],
+ dsas[1],
+ dsas[1],
)
)
vhost_param = "--nb-cores=2 --txq=2 --rxq=2 --txd=1024 --rxd=1024"
@@ -244,8 +242,8 @@ class TestVhostDsa(TestCase):
"--vdev 'net_vhost0,iface=vhost-net0,queues=2,dmas=[%s]'" % dmas
)
port_options = {
- self.use_dsa_list[0]: "max_queues=2",
- self.use_dsa_list[1]: "max_queues=2",
+ dsas[0]: "max_queues=2",
+ dsas[1]: "max_queues=2",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -293,8 +291,8 @@ class TestVhostDsa(TestCase):
"""
Test Case 2: PVP split ring vhost async operations test with one DSA dpdk driver channel being shared among multiple tx/rx queues
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -314,22 +312,22 @@ class TestVhostDsa(TestCase):
"rxq6@%s-q1;"
"rxq7@%s-q1"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
@@ -337,9 +335,9 @@ class TestVhostDsa(TestCase):
)
vhost_param = "--nb-cores=4 --txq=8 --rxq=8 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[0]["pci"]]
- for i in self.use_dsa_list:
+ for i in dsas:
ports.append(i)
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
param=vhost_param,
@@ -395,29 +393,29 @@ class TestVhostDsa(TestCase):
"rxq6@%s-q6;"
"rxq7@%s-q7"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=6 --txq=8 --rxq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
param=vhost_param,
@@ -470,29 +468,29 @@ class TestVhostDsa(TestCase):
"rxq6@%s-q0;"
"rxq7@%s-q0"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=6 --txq=8 --rxq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=1"}
+ port_options = {dsas[0]: "max_queues=1"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
param=vhost_param,
@@ -539,8 +537,8 @@ class TestVhostDsa(TestCase):
"""
Test Case 3: PVP split ring dynamic queues vhost async operation with dsa dpdk driver channels
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -548,10 +546,10 @@ class TestVhostDsa(TestCase):
"txq2@%s-q2;"
"txq3@%s-q2"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
@@ -559,9 +557,9 @@ class TestVhostDsa(TestCase):
)
vhost_param = "--nb-cores=4 --txq=4 --rxq=4 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[0]["pci"]]
- for i in self.use_dsa_list:
+ for i in dsas:
ports.append(i)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
param=vhost_param,
@@ -610,17 +608,17 @@ class TestVhostDsa(TestCase):
"rxq2@%s-q1;"
"rxq3@%s-q0"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --txq=4 --rxq=4 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
param=vhost_param,
@@ -649,18 +647,18 @@ class TestVhostDsa(TestCase):
"rxq6@%s-q2;"
"rxq7@%s-q2"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
)
vhost_eal_param = (
@@ -668,8 +666,8 @@ class TestVhostDsa(TestCase):
)
vhost_param = "--nb-cores=4 --txq=8 --rxq=8 --txd=1024 --rxd=1024"
port_options = {
- self.use_dsa_list[0]: "max_queues=4",
- self.use_dsa_list[1]: "max_queues=4",
+ dsas[0]: "max_queues=4",
+ dsas[1]: "max_queues=4",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -711,19 +709,19 @@ class TestVhostDsa(TestCase):
"rxq2@%s-q1;"
"rxq3@%s-q1"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=5 --txq=8 --rxq=8 --txd=1024 --rxd=1024"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
param=vhost_param,
@@ -751,8 +749,8 @@ class TestVhostDsa(TestCase):
"""
Test Case 4: PVP packed ring vhost async operation test with each tx/rx queue using one DSA dpdk driver channel
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -760,10 +758,10 @@ class TestVhostDsa(TestCase):
"rxq0@%s-q2;"
"rxq1@%s-q2"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
@@ -771,9 +769,9 @@ class TestVhostDsa(TestCase):
)
vhost_param = "--nb-cores=1 --txq=2 --rxq=2 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[0]["pci"]]
- for i in self.use_dsa_list:
+ for i in dsas:
ports.append(i)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
param=vhost_param,
@@ -818,10 +816,10 @@ class TestVhostDsa(TestCase):
"rxq0@%s-q0;"
"rxq1@%s-q1"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[0],
+ dsas[0],
+ dsas[1],
+ dsas[1],
)
)
vhost_eal_param = (
@@ -875,8 +873,8 @@ class TestVhostDsa(TestCase):
"""
Test Case 5: PVP packed ring vhost async operation test with one DSA dpdk driver channel being shared among multiple tx/rx queues
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -896,22 +894,22 @@ class TestVhostDsa(TestCase):
"rxq6@%s-q1;"
"rxq7@%s-q1"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
@@ -919,9 +917,9 @@ class TestVhostDsa(TestCase):
)
vhost_param = "--nb-cores=4 --txq=8 --rxq=8 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[0]["pci"]]
- for i in self.use_dsa_list:
+ for i in dsas:
ports.append(i)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
param=vhost_param,
@@ -978,22 +976,22 @@ class TestVhostDsa(TestCase):
"rxq6@%s-q0;"
"rxq7@%s-q0"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
@@ -1047,17 +1045,17 @@ class TestVhostDsa(TestCase):
"""
Test Case 6: PVP packed ring dynamic queues vhost async operation with dsa dpdk driver channels
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
"txq1@%s-q0;"
"txq2@%s-q1"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
@@ -1065,11 +1063,11 @@ class TestVhostDsa(TestCase):
)
vhost_param = "--nb-cores=4 --txq=4 --rxq=4 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[0]["pci"]]
- for i in self.use_dsa_list:
+ for i in dsas:
ports.append(i)
port_options = {
- self.use_dsa_list[0]: "max_queues=4",
- self.use_dsa_list[1]: "max_queues=4",
+ dsas[0]: "max_queues=4",
+ dsas[1]: "max_queues=4",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -1118,9 +1116,9 @@ class TestVhostDsa(TestCase):
"rxq1@%s-q1;"
"rxq2@%s-q1"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
vhost_eal_param = (
@@ -1155,18 +1153,18 @@ class TestVhostDsa(TestCase):
"rxq6@%s-q2;"
"rxq7@%s-q2"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
)
vhost_eal_param = (
@@ -1244,8 +1242,8 @@ class TestVhostDsa(TestCase):
"""
Test Case 7: PVP split ring vhost async operation test with each tx/rx queue using one DSA kernel driver channel
"""
- self.DC.create_work_queue(work_queue_number=4, dsa_index=0)
- dmas = "txq0@wq0.0;" "txq1@wq0.1;" "rxq0@wq0.2;" "rxq1@wq0.3"
+ wqs = self.DC.create_wq(wq_num=4, dsa_idxs=[0])
+ dmas = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[0], wqs[1], wqs[2], wqs[3])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=2,dmas=[%s]'" % dmas
)
@@ -1300,24 +1298,42 @@ class TestVhostDsa(TestCase):
"""
Test Case 8: PVP split ring all path multi-queues vhost async operation test with one DSA kernel driver channel being shared among multiple tx/rx queues
"""
- self.DC.create_work_queue(work_queue_number=4, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=4, dsa_idxs=[0])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "txq6@wq0.1;"
- "txq7@wq0.1;"
- "rxq0@wq0.0;"
- "rxq1@wq0.0;"
- "rxq2@wq0.0;"
- "rxq3@wq0.0;"
- "rxq4@wq0.1;"
- "rxq5@wq0.1;"
- "rxq6@wq0.1;"
- "rxq7@wq0.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "txq6@%s;"
+ "txq7@%s;"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ )
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,dmas=[%s]'" % dmas
@@ -1362,22 +1378,40 @@ class TestVhostDsa(TestCase):
if not self.check_2M_env:
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.1;"
- "txq3@wq0.1;"
- "txq4@wq0.2;"
- "txq5@wq0.2;"
- "txq6@wq0.3;"
- "txq7@wq0.3;"
- "rxq0@wq0.0;"
- "rxq1@wq0.0;"
- "rxq2@wq0.1;"
- "rxq3@wq0.1;"
- "rxq4@wq0.2;"
- "rxq5@wq0.2;"
- "rxq6@wq0.3;"
- "rxq7@wq0.3"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "txq6@%s;"
+ "txq7@%s;"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[2],
+ wqs[2],
+ wqs[3],
+ wqs[3],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[2],
+ wqs[2],
+ wqs[3],
+ wqs[3],
+ )
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,dmas=[%s]'" % dmas
@@ -1406,9 +1440,8 @@ class TestVhostDsa(TestCase):
"""
Test Case 9: PVP split ring dynamic queues vhost async operation with dsa kernel driver channels
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
- dmas = "txq0@wq0.0;" "txq1@wq0.1;" "txq2@wq0.2;" "txq3@wq0.2"
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
+ dmas = "txq0@%s;txq1@%s;txq2@%s;txq3@%s" % (wqs[0], wqs[1], wqs[2], wqs[2])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
@@ -1456,7 +1489,7 @@ class TestVhostDsa(TestCase):
self.check_each_queue_of_port_packets(queues=1)
self.vhost_user_pmd.quit()
- dmas = "rxq0@wq0.0;" "rxq1@wq0.1;" "rxq2@wq0.1;" "rxq3@wq0.0"
+ dmas = "rxq0@%s;rxq1@%s;rxq2@%s;rxq3@%s" % (wqs[0], wqs[1], wqs[1], wqs[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
@@ -1476,18 +1509,32 @@ class TestVhostDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.2;"
- "rxq2@wq1.0;"
- "rxq3@wq1.1;"
- "rxq4@wq1.2;"
- "rxq5@wq1.2;"
- "rxq6@wq1.2;"
- "rxq7@wq1.2"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[8],
+ wqs[9],
+ wqs[10],
+ wqs[10],
+ wqs[10],
+ wqs[10],
+ )
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1508,18 +1555,32 @@ class TestVhostDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1571,9 +1632,8 @@ class TestVhostDsa(TestCase):
Test Case 10: PVP packed ring all path multi-queues vhost async operation test with each tx/rx queue using one DSA kernel driver channel
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=2, dsa_index=1)
- dmas = "txq0@wq0.0;" "txq1@wq0.1;" "rxq0@wq1.0;" "rxq1@wq1.1"
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0, 1])
+ dmas = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[0], wqs[1], wqs[2], wqs[3])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=2,dmas=[%s]'" % dmas
)
@@ -1629,24 +1689,42 @@ class TestVhostDsa(TestCase):
"""
Test Case 11: PVP packed ring all path multi-queues vhost async operation test with one DSA kernel driver channel being shared among multiple tx/rx queues
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "txq6@wq0.1;"
- "txq7@wq0.1;"
- "rxq0@wq0.0;"
- "rxq1@wq0.0;"
- "rxq2@wq0.0;"
- "rxq3@wq0.0;"
- "rxq4@wq0.1;"
- "rxq5@wq0.1;"
- "rxq6@wq0.1;"
- "rxq7@wq0.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "txq6@%s;"
+ "txq7@%s;"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ )
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,dmas=[%s]'" % dmas
@@ -1691,24 +1769,6 @@ class TestVhostDsa(TestCase):
if not self.check_2M_env:
self.vhost_user_pmd.quit()
- dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "txq6@wq0.1;"
- "txq7@wq0.1;"
- "rxq0@wq0.0;"
- "rxq1@wq0.0;"
- "rxq2@wq0.0;"
- "rxq3@wq0.0;"
- "rxq4@wq0.1;"
- "rxq5@wq0.1;"
- "rxq6@wq0.1;"
- "rxq7@wq0.1"
- )
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,dmas=[%s]'" % dmas
)
@@ -1736,9 +1796,8 @@ class TestVhostDsa(TestCase):
"""
Test Case 12: PVP packed ring dynamic queues vhost async operation with dsa kernel driver channels
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
- dmas = "txq0@wq0.0;" "txq1@wq0.1;" "txq2@wq0.2;" "txq3@wq0.2"
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
+ dmas = "txq0@%s;txq1@%s;txq2@%s;txq3@%s" % (wqs[0], wqs[1], wqs[2], wqs[2])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
@@ -1786,7 +1845,7 @@ class TestVhostDsa(TestCase):
self.check_each_queue_of_port_packets(queues=1)
self.vhost_user_pmd.quit()
- dmas = "rxq0@wq0.0;" "rxq1@wq0.1;" "rxq2@wq0.1;" "rxq3@wq0.0"
+ dmas = "rxq0@%s;rxq1@%s;rxq2@%s;rxq3@%s" % (wqs[0], wqs[1], wqs[1], wqs[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
@@ -1806,18 +1865,32 @@ class TestVhostDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.2;"
- "rxq2@wq1.0;"
- "rxq3@wq1.1;"
- "rxq4@wq1.2;"
- "rxq5@wq1.2;"
- "rxq6@wq1.2;"
- "rxq7@wq1.2"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[8],
+ wqs[9],
+ wqs[10],
+ wqs[10],
+ wqs[10],
+ wqs[10],
+ )
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1838,18 +1911,32 @@ class TestVhostDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
@@ -1894,15 +1981,14 @@ class TestVhostDsa(TestCase):
"""
Test Case 13: PVP split and packed ring dynamic queues vhost async operation with dsa dpdk and kernel driver channels
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2,
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2,
driver_name="vfio-pci",
- dsa_index_list=[2, 3],
+ dsa_idxs=[2, 3],
socket=self.ports_socket,
)
- dmas = "txq0@wq0.0;" "txq1@wq0.0"
+ dmas = "txq0@%s;txq1@%s" % (wqs[0], wqs[0])
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
@@ -1944,14 +2030,14 @@ class TestVhostDsa(TestCase):
"rxq2@%s-q1;"
"rxq3@%s-q2"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
)
vhost_eal_param = (
@@ -1959,11 +2045,11 @@ class TestVhostDsa(TestCase):
)
vhost_param = "--nb-cores=4 --txq=8 --rxq=8 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[0]["pci"]]
- for i in self.use_dsa_list:
+ for i in dsas:
ports.append(i)
port_options = {
- self.use_dsa_list[0]: "max_queues=2",
- self.use_dsa_list[1]: "max_queues=4",
+ dsas[0]: "max_queues=2",
+ dsas[1]: "max_queues=4",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -1980,13 +2066,13 @@ class TestVhostDsa(TestCase):
self.vhost_user_pmd.quit()
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "txq6@wq0.6;"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "txq6@%s;"
"rxq2@%s-q0;"
"rxq3@%s-q1;"
"rxq4@%s-q0;"
@@ -1994,12 +2080,19 @@ class TestVhostDsa(TestCase):
"rxq6@%s-q2;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[6],
+ dsas[0],
+ dsas[0],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
)
vhost_eal_param = (
@@ -2007,11 +2100,11 @@ class TestVhostDsa(TestCase):
)
vhost_param = "--nb-cores=4 --txq=8 --rxq=8 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[0]["pci"]]
- for i in self.use_dsa_list:
+ for i in dsas:
ports.append(i)
port_options = {
- self.use_dsa_list[0]: "max_queues=2",
- self.use_dsa_list[1]: "max_queues=4",
+ dsas[0]: "max_queues=2",
+ dsas[1]: "max_queues=4",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -2045,39 +2138,16 @@ class TestVhostDsa(TestCase):
self.check_each_queue_of_port_packets(queues=8)
self.vhost_user_pmd.quit()
- dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "txq6@wq0.6;"
- "rxq2@%s-q0;"
- "rxq3@%s-q1;"
- "rxq4@%s-q0;"
- "rxq5@%s-q1;"
- "rxq6@%s-q2;"
- "rxq7@%s-q3"
- % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- )
- )
vhost_eal_param = (
"--vdev 'net_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[%s]'" % dmas
)
vhost_param = "--nb-cores=4 --txq=8 --rxq=8 --txd=1024 --rxd=1024"
ports = [self.dut.ports_info[0]["pci"]]
- for i in self.use_dsa_list:
+ for i in dsas:
ports.append(i)
port_options = {
- self.use_dsa_list[0]: "max_queues=2",
- self.use_dsa_list[1]: "max_queues=4",
+ dsas[0]: "max_queues=2",
+ dsas[1]: "max_queues=4",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -2,16 +2,14 @@
# Copyright(c) 2022 Intel Corporation
#
-import random
import re
-import string
-import time
import framework.utils as utils
from framework.pmd_output import PmdOutput
from framework.test_case import TestCase
from framework.virt_common import VM
+from .virtio_common import basic_common as BC
from .virtio_common import dsa_common as DC
@@ -22,28 +20,22 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
self.cores_list = self.dut.get_core_list(config="all", socket=self.ports_socket)
self.vhost_core_list = self.cores_list[0:9]
self.vm_num = 2
- self.virtio_ip1 = "1.1.1.1"
- self.virtio_ip2 = "1.1.1.2"
- self.virtio_mac1 = "52:54:00:00:00:01"
- self.virtio_mac2 = "52:54:00:00:00:02"
self.base_dir = self.dut.base_dir.replace("~", "/root")
- self.random_string = string.ascii_letters + string.digits
socket_num = len(set([int(core["socket"]) for core in self.dut.cores]))
self.socket_mem = ",".join(["2048"] * socket_num)
self.vhost_user = self.dut.new_session(suite="vhost")
self.vhost_user_pmd = PmdOutput(self.dut, self.vhost_user)
self.app_testpmd_path = self.dut.apps_name["test-pmd"]
self.testpmd_name = self.app_testpmd_path.split("/")[-1]
+ self.BC = BC(self)
self.DC = DC(self)
def set_up(self):
self.dut.send_expect("rm -rf %s/vhost-net*" % self.base_dir, "#")
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
+ self.dut.send_expect("killall -s INT qemu-system-x86_64", "#")
self.vm_dut = []
self.vm = []
- self.use_dsa_list = []
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
def start_vhost_testpmd(
self,
@@ -115,86 +107,6 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
self.vm_dut.append(vm_dut)
self.vm.append(vm_info)
- def config_vm_ip(self):
- """
- set virtio device IP and run arp protocal
- """
- vm1_intf = self.vm_dut[0].ports_info[0]["intf"]
- vm2_intf = self.vm_dut[1].ports_info[0]["intf"]
- self.vm_dut[0].send_expect(
- "ifconfig %s %s" % (vm1_intf, self.virtio_ip1), "#", 10
- )
- self.vm_dut[1].send_expect(
- "ifconfig %s %s" % (vm2_intf, self.virtio_ip2), "#", 10
- )
- self.vm_dut[0].send_expect(
- "arp -s %s %s" % (self.virtio_ip2, self.virtio_mac2), "#", 10
- )
- self.vm_dut[1].send_expect(
- "arp -s %s %s" % (self.virtio_ip1, self.virtio_mac1), "#", 10
- )
-
- def config_vm_combined(self, combined=1):
- """
- set virtio device combined
- """
- vm1_intf = self.vm_dut[0].ports_info[0]["intf"]
- vm2_intf = self.vm_dut[1].ports_info[0]["intf"]
- self.vm_dut[0].send_expect(
- "ethtool -L %s combined %d" % (vm1_intf, combined), "#", 10
- )
- self.vm_dut[1].send_expect(
- "ethtool -L %s combined %d" % (vm2_intf, combined), "#", 10
- )
-
- def check_ping_between_vms(self):
- ping_out = self.vm_dut[0].send_expect(
- "ping {} -c 4".format(self.virtio_ip2), "#", 20
- )
- self.logger.info(ping_out)
-
- def start_iperf(self):
- """
- run perf command between to vms
- """
- self.vhost_user_pmd.execute_cmd("clear port xstats all")
-
- server = "iperf -s -i 1"
- client = "iperf -c {} -i 1 -t 60".format(self.virtio_ip1)
- self.vm_dut[0].send_expect("{} > iperf_server.log &".format(server), "", 10)
- self.vm_dut[1].send_expect("{} > iperf_client.log &".format(client), "", 10)
- time.sleep(60)
-
- def get_perf_result(self):
- """
- get the iperf test result
- """
- self.table_header = ["Mode", "[M|G]bits/sec"]
- self.result_table_create(self.table_header)
- self.vm_dut[0].send_expect("pkill iperf", "# ")
- self.vm_dut[1].session.copy_file_from("%s/iperf_client.log" % self.dut.base_dir)
- fp = open("./iperf_client.log")
- fmsg = fp.read()
- fp.close()
- # remove the server report info from msg
- index = fmsg.find("Server Report")
- if index != -1:
- fmsg = fmsg[:index]
- iperfdata = re.compile("\S*\s*[M|G]bits/sec").findall(fmsg)
- # the last data of iperf is the ave data from 0-30 sec
- self.verify(len(iperfdata) != 0, "The iperf data between to vms is 0")
- self.logger.info("The iperf data between vms is %s" % iperfdata[-1])
-
- # put the result to table
- results_row = ["vm2vm", iperfdata[-1]]
- self.result_table_add(results_row)
-
- # print iperf resut
- self.result_table_print()
- # rm the iperf log file in vm
- self.vm_dut[0].send_expect("rm iperf_server.log", "#", 10)
- self.vm_dut[1].send_expect("rm iperf_client.log", "#", 10)
-
def verify_xstats_info_on_vhost(self):
"""
check both 2VMs can receive and send big packets to each other
@@ -213,40 +125,15 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
int(tx_info.group(1)) > 0, "Port 0 not forward packet greater than 1519"
)
- def check_scp_file_valid_between_vms(self, file_size=1024):
- """
- scp file form VM1 to VM2, check the data is valid
- """
- # default file_size=1024K
- data = ""
- for char in range(file_size * 1024):
- data += random.choice(self.random_string)
- self.vm_dut[0].send_expect('echo "%s" > /tmp/payload' % data, "# ")
- # scp this file to vm1
- out = self.vm_dut[1].send_command(
- "scp root@%s:/tmp/payload /root" % self.virtio_ip1, timeout=10
- )
- if "Are you sure you want to continue connecting" in out:
- self.vm_dut[1].send_command("yes", timeout=10)
- self.vm_dut[1].send_command(self.vm[0].password, timeout=10)
- # get the file info in vm1, and check it valid
- md5_send = self.vm_dut[0].send_expect("md5sum /tmp/payload", "# ")
- md5_revd = self.vm_dut[1].send_expect("md5sum /root/payload", "# ")
- md5_send = md5_send[: md5_send.find(" ")]
- md5_revd = md5_revd[: md5_revd.find(" ")]
- self.verify(
- md5_send == md5_revd, "the received file is different with send file"
- )
-
def test_split_tso_with_dpdk_driver(self):
"""
Test Case 1: VM2VM vhost-user/virtio-net split ring test TSO with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;rxq0@%s-q0" % (self.use_dsa_list[0], self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ dmas = "txq0@%s-q0;rxq0@%s-q0" % (dsas[0], dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=1,tso=1,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,queues=1,tso=1,dmas=[%s]'"
@@ -257,23 +144,23 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
self.vm_args = "disable-modern=false,mrg_rxbuf=off,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on"
self.start_vms(server_mode=False, vm_queue=1)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_ip()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.verify_xstats_info_on_vhost()
def test_split_mergeable_8_queues_large_packet_paylocad_with_dpdk_driver(self):
"""
Test Case 2: VM2VM vhost-user/virtio-net split ring mergeable path 8 queues test with large packet payload with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -293,25 +180,25 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,tso=1,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,client=1,queues=8,tso=1,dmas=[%s]'"
@@ -322,17 +209,17 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
port_options=port_options,
)
self.vm_args = "disable-modern=false,mrg_rxbuf=on,mq=on,vectors=40,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on"
self.start_vms(server_mode=True, vm_queue=8)
- self.config_vm_combined(combined=8)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=8)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
dmas1 = (
@@ -349,18 +236,18 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"rxq6@%s-q5;"
"rxq7@%s-q5"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
dmas2 = (
@@ -377,18 +264,18 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"rxq6@%s-q5;"
"rxq7@%s-q5"
% (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
)
vhost_eal_param = (
@@ -397,20 +284,20 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
% (dmas1, dmas2)
)
port_options = {
- self.use_dsa_list[0]: "max_queues=8",
- self.use_dsa_list[1]: "max_queues=8",
+ dsas[0]: "max_queues=8",
+ dsas[1]: "max_queues=8",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
if not self.check_2M_env:
self.vhost_user_pmd.quit()
@@ -418,14 +305,14 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="pa",
)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
vhost_eal_param = (
@@ -439,11 +326,11 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
param=vhost_param,
no_pci=True,
)
- self.config_vm_combined(combined=4)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=4)
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
vhost_eal_param = (
@@ -457,18 +344,18 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
param=vhost_param,
no_pci=True,
)
- self.config_vm_combined(combined=1)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=1)
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def test_split_non_mergeable_8_queues_large_packet_paylocad_with_dpdk_driver(self):
"""
Test Case 3: VM2VM vhost-user/virtio-net split ring non-mergeable path 8 queues test with large packet payload with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -488,25 +375,25 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
- port_options = {self.use_dsa_list[0]: "max_queues=8"}
+ port_options = {dsas[0]: "max_queues=8"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,tso=1,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,client=1,queues=8,tso=1,dmas=[%s]'"
@@ -517,17 +404,17 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
port_options=port_options,
)
self.vm_args = "disable-modern=false,mrg_rxbuf=off,mq=on,vectors=40,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on"
self.start_vms(server_mode=True, vm_queue=8)
- self.config_vm_combined(combined=8)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=8)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
vhost_eal_param = (
@@ -541,11 +428,12 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
param=vhost_param,
no_pci=True,
)
- self.config_vm_combined(combined=4)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=4)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
vhost_eal_param = (
@@ -559,21 +447,22 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
param=vhost_param,
no_pci=True,
)
- self.config_vm_combined(combined=1)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=1)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def test_packed_tso_with_dpdk_driver(self):
"""
Test Case 4: VM2VM vhost-user/virtio-net packed ring test TSO with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas = "txq0@%s-q0;rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ dmas = "txq0@%s-q0;rxq0@%s-q1" % (dsas[0], dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=1,tso=1,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,queues=1,tso=1,dmas=[%s]'"
@@ -584,23 +473,24 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
port_options=port_options,
)
self.vm_args = "disable-modern=false,mrg_rxbuf=on,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,packed=on"
self.start_vms(server_mode=False, vm_queue=1)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.verify_xstats_info_on_vhost()
def test_packed_mergeable_8_queues_large_packet_paylocad_with_dpdk_driver(self):
"""
Test Case 5: VM2VM vhost-user/virtio-net packed ring mergeable path 8 queues test with large packet payload with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -620,25 +510,25 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"rxq6@%s-q3;"
"rxq7@%s-q3"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,tso=1,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,queues=8,tso=1,dmas=[%s]'"
@@ -649,30 +539,30 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
port_options=port_options,
)
self.vm_args = "disable-modern=false,mrg_rxbuf=on,mq=on,vectors=40,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on,packed=on"
self.start_vms(server_mode=False, vm_queue=8)
- self.config_vm_combined(combined=8)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=8)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
for _ in range(5):
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def test_packed_non_mergeable_8_queues_large_packet_paylocad_with_dpdk_driver(self):
"""
Test Case 6: VM2VM vhost-user/virtio-net packed ring non-mergeable path 8 queues test with large packet payload with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.ports_socket
)
dmas1 = (
"txq0@%s-q0;"
@@ -688,18 +578,18 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"rxq6@%s-q7;"
"rxq7@%s-q7"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
dmas2 = (
@@ -716,23 +606,23 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"rxq6@%s-q7;"
"rxq7@%s-q7"
% (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
)
port_options = {
- self.use_dsa_list[0]: "max_queues=8",
- self.use_dsa_list[1]: "max_queues=8",
+ dsas[0]: "max_queues=8",
+ dsas[1]: "max_queues=8",
}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,tso=1,dmas=[%s]' "
@@ -744,34 +634,34 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
self.vm_args = "disable-modern=false,mrg_rxbuf=off,mq=on,vectors=40,csum=on,guest_csum=on,host_tso4=off,guest_tso4=off,guest_ecn=on,guest_ufo=on,host_ufo=on,packed=on"
self.start_vms(server_mode=False, vm_queue=8)
- self.config_vm_combined(combined=8)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=8)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
for _ in range(5):
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def test_packed_dma_ring_size_with_tcp_and_dpdk_driver(self):
"""
Test Case 7: VM2VM vhost-user/virtio-net packed ring test dma-ring-size with tcp traffic and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
- dmas1 = "txq0@%s-q0;rxq0@%s-q0" % (self.use_dsa_list[0], self.use_dsa_list[0])
- dmas2 = "txq0@%s-q1;rxq0@%s-q1" % (self.use_dsa_list[0], self.use_dsa_list[0])
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ dmas1 = "txq0@%s-q0;rxq0@%s-q0" % (dsas[0], dsas[0])
+ dmas2 = "txq0@%s-q1;rxq0@%s-q1" % (dsas[0], dsas[0])
+ port_options = {dsas[0]: "max_queues=2"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=1,tso=1,dmas=[%s],dma-ring-size=64' "
"--vdev 'eth_vhost1,iface=vhost-net1,queues=1,tso=1,dmas=[%s],dma-ring-size=64'"
@@ -782,23 +672,24 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
port_options=port_options,
)
self.vm_args = "disable-modern=false,mrg_rxbuf=on,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,packed=on"
self.start_vms(server_mode=False, vm_queue=1)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.verify_xstats_info_on_vhost()
def test_packed_mergeable_8_queues_with_legacy_mode_and_dpdk_driver(self):
"""
Test Case 8: VM2VM vhost-user/virtio-net packed ring mergeable path 8 queues test with legacy mode with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -818,25 +709,25 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"rxq6@%s-q1;"
"rxq7@%s-q1"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,tso=1,legacy-ol-flags=1,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,queues=8,tso=1,legacy-ol-flags=1,dmas=[%s]'"
@@ -847,30 +738,30 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
port_options=port_options,
)
self.vm_args = "disable-modern=false,mrg_rxbuf=on,mq=on,vectors=40,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on,packed=on"
self.start_vms(server_mode=False, vm_queue=8)
- self.config_vm_combined(combined=8)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=8)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
for _ in range(5):
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def test_split_tso_with_kernel_driver(self):
"""
Test Case 9: VM2VM vhost-user/virtio-net split ring test TSO with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.0"
+ wqs = self.DC.create_wq(wq_num=1, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[0])
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=1,tso=1,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,queues=1,tso=1,dmas=[%s]'"
@@ -885,53 +776,87 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
)
self.vm_args = "disable-modern=false,mrg_rxbuf=off,mq=on,vectors=40,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on"
self.start_vms(server_mode=False, vm_queue=1)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.verify_xstats_info_on_vhost()
def test_split_mergeable_8_queues_large_packet_paylocad_with_kernel_driver(self):
"""
Test Case 10: VM2VM vhost-user/virtio-net split ring mergeable path 8 queues test with large packet payload with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas1 = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "txq6@wq0.6;"
- "txq7@wq0.7;"
- "rxq0@wq0.0;"
- "rxq1@wq0.1;"
- "rxq2@wq0.2;"
- "rxq3@wq0.3;"
- "rxq4@wq0.4;"
- "rxq5@wq0.5;"
- "rxq6@wq0.6;"
- "rxq7@wq0.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "txq6@%s;"
+ "txq7@%s;"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ ) % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[6],
+ wqs[7],
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[6],
+ wqs[7],
)
dmas2 = (
- "txq0@wq1.0;"
- "txq1@wq1.1;"
- "txq2@wq1.2;"
- "txq3@wq1.3;"
- "txq4@wq1.4;"
- "txq5@wq1.5;"
- "txq6@wq1.6;"
- "txq7@wq1.7;"
- "rxq0@wq1.0;"
- "rxq1@wq1.1;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "txq6@%s;"
+ "txq7@%s;"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ ) % (
+ wqs[8],
+ wqs[9],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ wqs[8],
+ wqs[9],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,tso=1,dmas=[%s]' "
@@ -947,41 +872,69 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
)
self.vm_args = "disable-modern=false,mrg_rxbuf=on,mq=on,vectors=40,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on"
self.start_vms(server_mode=True, vm_queue=8)
- self.config_vm_combined(combined=8)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=8)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
dmas1 = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq0.1;"
- "rxq3@wq0.1;"
- "rxq4@wq0.2;"
- "rxq5@wq0.2;"
- "rxq6@wq0.2;"
- "rxq7@wq0.2"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ wqs[2],
+ wqs[2],
+ wqs[2],
+ wqs[2],
+ )
)
dmas2 = (
- "txq0@wq0.3;"
- "txq1@wq0.3;"
- "txq2@wq0.3;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.4;"
- "rxq2@wq0.4;"
- "rxq3@wq0.4;"
- "rxq4@wq0.5;"
- "rxq5@wq0.5;"
- "rxq6@wq0.5;"
- "rxq7@wq0.5"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[3],
+ wqs[3],
+ wqs[3],
+ wqs[3],
+ wqs[4],
+ wqs[4],
+ wqs[4],
+ wqs[4],
+ wqs[5],
+ wqs[5],
+ wqs[5],
+ wqs[5],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,tso=1,dmas=[%s]' "
@@ -1011,11 +964,12 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
param=vhost_param,
no_pci=True,
)
- self.config_vm_combined(combined=4)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=4)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
vhost_eal_param = (
@@ -1029,11 +983,12 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
param=vhost_param,
no_pci=True,
)
- self.config_vm_combined(combined=1)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=1)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def test_split_non_mergeable_8_queues_large_packet_paylocad_with_kernel_driver(
self,
@@ -1041,35 +996,62 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"""
Test Case 11: VM2VM vhost-user/virtio-net split ring non-mergeable path 8 queues test with large packet payload with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas1 = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq0.1;"
- "rxq3@wq0.1;"
- "rxq4@wq0.2;"
- "rxq5@wq0.2;"
- "rxq6@wq0.2;"
- "rxq7@wq0.2"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ wqs[1],
+ wqs[2],
+ wqs[2],
+ wqs[2],
+ wqs[2],
+ )
)
dmas2 = (
- "txq0@wq1.0;"
- "txq1@wq1.0;"
- "txq2@wq1.0;"
- "txq3@wq1.0;"
- "txq4@wq1.1;"
- "txq5@wq1.1;"
- "rxq2@wq1.1;"
- "rxq3@wq1.1;"
- "rxq4@wq1.2;"
- "rxq5@wq1.2;"
- "rxq6@wq1.2;"
- "rxq7@wq1.2"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[3],
+ wqs[3],
+ wqs[3],
+ wqs[3],
+ wqs[4],
+ wqs[4],
+ wqs[4],
+ wqs[4],
+ wqs[5],
+ wqs[5],
+ wqs[5],
+ wqs[5],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,tso=1,dmas=[%s]' "
@@ -1085,12 +1067,12 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
)
self.vm_args = "disable-modern=false,mrg_rxbuf=off,mq=on,vectors=40,csum=on,guest_csum=on,host_tso4=off,guest_tso4=off,guest_ecn=on,guest_ufo=on,host_ufo=on"
self.start_vms(server_mode=True, vm_queue=8)
- self.config_vm_combined(combined=8)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=8)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
vhost_eal_param = (
@@ -1104,11 +1086,10 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
param=vhost_param,
no_pci=True,
)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
-
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=4,tso=1' "
@@ -1121,18 +1102,19 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
param=vhost_param,
no_pci=True,
)
- self.config_vm_combined(combined=1)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=1)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def test_packed_tso_with_kernel_driver(self):
"""
Test Case 12: VM2VM vhost-user/virtio-net packed ring test TSO with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- dmas = "txq0@wq0.0;rxq0@wq0.0"
+ wqs = self.DC.create_wq(wq_num=1, dsa_idxs=[0])
+ dmas = "txq0@%s;rxq0@%s" % (wqs[0], wqs[0])
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=1,tso=1,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,queues=1,tso=1,dmas=[%s]'"
@@ -1147,45 +1129,73 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
)
self.vm_args = "disable-modern=false,mrg_rxbuf=on,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,packed=on"
self.start_vms(server_mode=False, vm_queue=1)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.verify_xstats_info_on_vhost()
def test_packed_mergeable_8_queues_large_packet_paylocad_with_kernel_driver(self):
"""
Test Case 13: VM2VM vhost-user/virtio-net packed ring mergeable path 8 queues test with large packet payload with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas1 = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "txq4@wq0.4;"
- "txq5@wq0.5;"
- "rxq2@wq0.2;"
- "rxq3@wq0.3;"
- "rxq4@wq0.4;"
- "rxq5@wq0.5;"
- "rxq6@wq0.6;"
- "rxq7@wq0.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[6],
+ wqs[7],
+ )
)
dmas2 = (
- "txq0@wq1.0;"
- "txq1@wq1.1;"
- "txq2@wq1.2;"
- "txq3@wq1.3;"
- "txq4@wq1.4;"
- "txq5@wq1.5;"
- "rxq2@wq1.2;"
- "rxq3@wq1.3;"
- "rxq4@wq1.4;"
- "rxq5@wq1.5;"
- "rxq6@wq1.6;"
- "rxq7@wq1.7"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[8],
+ wqs[9],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,tso=1,dmas=[%s]' "
@@ -1201,18 +1211,18 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
)
self.vm_args = "mrg_rxbuf=on,mq=on,vectors=40,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on,packed=on"
self.start_vms(server_mode=False, vm_queue=8)
- self.config_vm_combined(combined=8)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=8)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
for _ in range(5):
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def test_packed_non_mergeable_8_queues_large_packet_paylocad_with_kernel_driver(
self,
@@ -1220,43 +1230,78 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"""
Test Case 14: VM2VM vhost-user/virtio-net packed ring non-mergeable path 8 queues test with large packet payload with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=4, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=4, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=4, dsa_idxs=[0, 1])
dmas1 = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.1;"
- "txq3@wq0.1;"
- "txq4@wq0.2;"
- "txq5@wq0.2;"
- "txq6@wq0.3;"
- "txq7@wq0.3;"
- "rxq0@wq0.0;"
- "rxq1@wq0.0;"
- "rxq2@wq0.1;"
- "rxq3@wq0.1;"
- "rxq4@wq0.2;"
- "rxq5@wq0.2;"
- "rxq6@wq0.3;"
- "rxq7@wq0.3"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "txq6@%s;"
+ "txq7@%s;"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[2],
+ wqs[2],
+ wqs[3],
+ wqs[3],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[2],
+ wqs[2],
+ wqs[3],
+ wqs[3],
+ )
)
dmas2 = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.1;"
- "txq3@wq0.1;"
- "txq4@wq0.2;"
- "txq5@wq0.2;"
- "txq6@wq0.3;"
- "txq7@wq0.3;"
- "rxq0@wq0.0;"
- "rxq1@wq0.0;"
- "rxq2@wq0.1;"
- "rxq3@wq0.1;"
- "rxq4@wq0.2;"
- "rxq5@wq0.2;"
- "rxq6@wq0.3;"
- "rxq7@wq0.3"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "txq6@%s;"
+ "txq7@%s;"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[2],
+ wqs[2],
+ wqs[3],
+ wqs[3],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[2],
+ wqs[2],
+ wqs[3],
+ wqs[3],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,tso=1,dmas=[%s]' "
@@ -1272,27 +1317,26 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
)
self.vm_args = "disable-modern=false,mrg_rxbuf=off,mq=on,vectors=40,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on,packed=on"
self.start_vms(server_mode=False, vm_queue=8)
- self.config_vm_combined(combined=8)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=8)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
for _ in range(5):
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def test_split_non_mergeable_16_queues_with_rx_tx_csum_in_sw(self):
"""
Test Case 15: VM2VM vhost-user/virtio-net split ring non-mergeable 16 queues test with Rx/Tx csum in SW
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2,
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2,
driver_name="vfio-pci",
dsa_index_list=[2, 3],
socket=self.ports_socket,
@@ -1314,39 +1358,55 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"txq13@%s-q0;"
"txq14@%s-q0;"
"txq15@%s-q0;"
- "rxq0@wq0.0;"
- "rxq1@wq0.0;"
- "rxq2@wq0.0;"
- "rxq3@wq0.0;"
- "rxq4@wq0.0;"
- "rxq5@wq0.0;"
- "rxq6@wq0.0;"
- "rxq7@wq0.0;"
- "rxq8@wq0.0;"
- "rxq9@wq0.0;"
- "rxq10@wq0.0;"
- "rxq11@wq0.0;"
- "rxq12@wq0.0;"
- "rxq13@wq0.0;"
- "rxq14@wq0.0;"
- "rxq15@wq0.0"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s;"
+ "rxq8@%s;"
+ "rxq9@%s;"
+ "rxq10@%s;"
+ "rxq11@%s;"
+ "rxq12@%s;"
+ "rxq13@%s;"
+ "rxq14@%s;"
+ "rxq15@%s"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
)
)
dmas2 = (
@@ -1366,39 +1426,55 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"txq13@%s-q5;"
"txq14@%s-q6;"
"txq15@%s-q7;"
- "rxq0@wq0.0;"
- "rxq1@wq0.1;"
- "rxq2@wq0.2;"
- "rxq3@wq0.3;"
- "rxq4@wq0.4;"
- "rxq5@wq0.5;"
- "rxq6@wq0.6;"
- "rxq7@wq0.7;"
- "rxq8@wq1.0;"
- "rxq9@wq1.1;"
- "rxq10@wq1.2;"
- "rxq11@wq1.3;"
- "rxq12@wq1.4;"
- "rxq13@wq1.5;"
- "rxq14@wq1.6;"
- "rxq15@wq1.7"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s;"
+ "rxq8@%s;"
+ "rxq9@%s;"
+ "rxq10@%s;"
+ "rxq11@%s;"
+ "rxq12@%s;"
+ "rxq13@%s;"
+ "rxq14@%s;"
+ "rxq15@%s"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[6],
+ wqs[7],
+ wqs[8],
+ wqs[9],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
)
)
vhost_eal_param = (
@@ -1411,7 +1487,7 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
)
self.vhost_user_pmd.execute_cmd("stop")
self.vhost_user_pmd.execute_cmd("set fwd csum")
@@ -1425,12 +1501,12 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
self.vhost_user_pmd.execute_cmd("start")
self.vm_args = "disable-modern=false,mrg_rxbuf=off,mq=on,vectors=40,csum=on,guest_csum=off,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on"
self.start_vms(server_mode=True, vm_queue=16)
- self.config_vm_combined(combined=16)
- self.config_vm_ip()
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=16)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
dmas1 = (
@@ -1447,29 +1523,39 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"rxq6@%s-q6;"
"rxq7@%s-q6"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
)
dmas2 = (
- "txq12@wq1.0;"
- "txq13@wq1.0;"
- "txq14@wq1.0;"
- "txq15@wq1.0;"
- "rxq12@wq1.1;"
- "rxq13@wq1.1;"
- "rxq14@wq1.1;"
- "rxq15@wq1.1"
+ "txq12@%s;"
+ "txq13@%s;"
+ "txq14@%s;"
+ "txq15@%s;"
+ "rxq12@%s;"
+ "rxq13@%s;"
+ "rxq14@%s;"
+ "rxq15@%s"
+ % (
+ wqs[8],
+ wqs[8],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=16,tso=1,dmas=[%s]' "
@@ -1481,12 +1567,12 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
vhost_eal_param = (
@@ -1500,10 +1586,10 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
param=vhost_param,
no_pci=True,
)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
self.vhost_user_pmd.quit()
vhost_eal_param = (
@@ -1517,20 +1603,19 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
param=vhost_param,
no_pci=True,
)
- self.config_vm_combined(combined=1)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=1)
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def test_packed_mergeable_16_queues_with_rx_tx_csum_in_sw(self):
"""
Test Case 16: VM2VM vhost-user/virtio-net packed ring mergeable 16 queues test with Rx/Tx csum in SW
"""
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2,
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2,
driver_name="vfio-pci",
dsa_index_list=[2, 3],
socket=self.ports_socket,
@@ -1552,39 +1637,55 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"txq13@%s-q0;"
"txq14@%s-q0;"
"txq15@%s-q0;"
- "rxq0@wq0.0;"
- "rxq1@wq0.0;"
- "rxq2@wq0.0;"
- "rxq3@wq0.0;"
- "rxq4@wq0.0;"
- "rxq5@wq0.0;"
- "rxq6@wq0.0;"
- "rxq7@wq0.0;"
- "rxq8@wq0.0;"
- "rxq9@wq0.0;"
- "rxq10@wq0.0;"
- "rxq11@wq0.0;"
- "rxq12@wq0.0;"
- "rxq13@wq0.0;"
- "rxq14@wq0.0;"
- "rxq15@wq0.0"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s;"
+ "rxq8@%s;"
+ "rxq9@%s;"
+ "rxq10@%s;"
+ "rxq11@%s;"
+ "rxq12@%s;"
+ "rxq13@%s;"
+ "rxq14@%s;"
+ "rxq15@%s"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
)
)
dmas2 = (
@@ -1604,39 +1705,55 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
"txq13@%s-q5;"
"txq14@%s-q6;"
"txq15@%s-q7;"
- "rxq0@wq0.0;"
- "rxq1@wq0.1;"
- "rxq2@wq0.2;"
- "rxq3@wq0.3;"
- "rxq4@wq0.4;"
- "rxq5@wq0.5;"
- "rxq6@wq0.6;"
- "rxq7@wq0.7;"
- "rxq8@wq1.0;"
- "rxq9@wq1.1;"
- "rxq10@wq1.2;"
- "rxq11@wq1.3;"
- "rxq12@wq1.4;"
- "rxq13@wq1.5;"
- "rxq14@wq1.6;"
- "rxq15@wq1.7"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s;"
+ "rxq8@%s;"
+ "rxq9@%s;"
+ "rxq10@%s;"
+ "rxq11@%s;"
+ "rxq12@%s;"
+ "rxq13@%s;"
+ "rxq14@%s;"
+ "rxq15@%s"
% (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ wqs[0],
+ wqs[1],
+ wqs[2],
+ wqs[3],
+ wqs[4],
+ wqs[5],
+ wqs[6],
+ wqs[7],
+ wqs[8],
+ wqs[9],
+ wqs[10],
+ wqs[11],
+ wqs[12],
+ wqs[13],
+ wqs[14],
+ wqs[15],
)
)
vhost_eal_param = (
@@ -1649,7 +1766,7 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
)
self.vhost_user_pmd.execute_cmd("stop")
self.vhost_user_pmd.execute_cmd("set fwd csum")
@@ -1663,18 +1780,18 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
self.vhost_user_pmd.execute_cmd("start")
self.vm_args = "disable-modern=false,mrg_rxbuf=on,mq=on,vectors=40,csum=on,guest_csum=off,host_tso4=on,guest_tso4=on,guest_ecn=on,guest_ufo=on,host_ufo=on,packed=on"
self.start_vms(server_mode=False, vm_queue=16)
- self.config_vm_ip()
- self.config_vm_combined(combined=16)
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.config_2_vms_combined(combined=16)
+ self.BC.config_2_vms_ip()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
for _ in range(5):
- self.check_ping_between_vms()
- self.check_scp_file_valid_between_vms()
- self.start_iperf()
- self.get_perf_result()
+ self.BC.check_ping_between_2_vms()
+ self.BC.check_scp_file_between_2_vms()
+ self.BC.run_iperf_test_between_2_vms()
+ self.BC.check_iperf_result_between_2_vms()
def stop_all_apps(self):
for i in range(len(self.vm)):
@@ -1685,8 +1802,7 @@ class TestVM2VMVirtioNetPerfDsa(TestCase):
self.stop_all_apps()
self.dut.kill_all()
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
+ self.dut.send_expect("killall -s INT qemu-system-x86_64", "#")
def tear_down_all(self):
self.dut.close_session(self.vhost_user)
@@ -42,9 +42,6 @@ class TestVM2VMVirtioPmdDsa(TestCase):
self.vm_num = 2
self.vm_dut = []
self.vm = []
- self.use_dsa_list = []
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
@property
def check_2M_env(self):
@@ -99,7 +96,6 @@ class TestVM2VMVirtioPmdDsa(TestCase):
packed=False,
server_mode=True,
restart_vm1=False,
- vm_config="vhost_sample",
):
"""
start two VM, each VM has one virtio device
@@ -111,7 +107,7 @@ class TestVM2VMVirtioPmdDsa(TestCase):
for i in range(self.vm_num):
if restart_vm1:
i = i + 1
- vm_info = VM(self.dut, "vm%d" % i, vm_config)
+ vm_info = VM(self.dut, "vm%d" % i, "vhost_sample")
vm_params["driver"] = "vhost-user"
if not server_mode:
vm_params["opt_path"] = self.base_dir + "/vhost-net%d" % i
@@ -210,6 +206,7 @@ class TestVM2VMVirtioPmdDsa(TestCase):
dut_pmd.execute_cmd("start")
def get_and_verify_func_name_of_perf_top(self, func_name_list):
+ time.sleep(10)
self.dut.send_expect("rm -fr perf_top.log", "# ", 120)
self.dut.send_expect("perf top > perf_top.log", "", 120)
time.sleep(30)
@@ -229,8 +226,8 @@ class TestVM2VMVirtioPmdDsa(TestCase):
Test Case 1: VM2VM virtio-pmd split ring mergeable path dynamic queue size with dsa dpdk driver and server mode
"""
self.check_path = ["virtio_dev_rx_async", "virtio_dev_tx_async"]
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -241,18 +238,9 @@ class TestVM2VMVirtioPmdDsa(TestCase):
"rxq1@%s-q1;"
"rxq2@%s-q2;"
"rxq3@%s-q3"
- % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- )
+ % (dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0])
)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,client=1,queues=8,dmas=[%s]'"
@@ -263,7 +251,7 @@ class TestVM2VMVirtioPmdDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
self.start_vms(vm_queue=8, mergeable=True, packed=False, server_mode=True)
@@ -293,8 +281,8 @@ class TestVM2VMVirtioPmdDsa(TestCase):
Test Case 2: VM2VM virtio-pmd split ring non-mergeable path dynamic queue size with dsa dpdk driver and server mode
"""
self.check_path = ["virtio_dev_rx_async", "virtio_dev_tx_async"]
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -305,18 +293,9 @@ class TestVM2VMVirtioPmdDsa(TestCase):
"rxq1@%s-q2;"
"rxq2@%s-q3;"
"rxq3@%s-q3"
- % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- )
+ % (dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0])
)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,client=1,queues=8,dmas=[%s]'"
@@ -327,7 +306,7 @@ class TestVM2VMVirtioPmdDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
self.start_vms(vm_queue=8, mergeable=False, packed=False, server_mode=True)
@@ -359,8 +338,8 @@ class TestVM2VMVirtioPmdDsa(TestCase):
Test Case 3: VM2VM virtio-pmd packed ring mergeable path dynamic queue size with dsa dpdk driver and server mode
"""
self.check_path = ["virtio_dev_rx_async", "virtio_dev_tx_async"]
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -371,18 +350,9 @@ class TestVM2VMVirtioPmdDsa(TestCase):
"rxq1@%s-q1;"
"rxq2@%s-q2;"
"rxq3@%s-q3"
- % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- )
+ % (dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0])
)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,client=1,queues=8,dmas=[%s]'"
@@ -393,7 +363,7 @@ class TestVM2VMVirtioPmdDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
self.start_vms(vm_queue=8, mergeable=True, packed=True, server_mode=True)
@@ -442,8 +412,8 @@ class TestVM2VMVirtioPmdDsa(TestCase):
Test Case 4: VM2VM virtio-pmd packed ring non-mergeable path dynamic queue size with dsa dpdk driver and server mode
"""
self.check_path = ["virtio_dev_rx_async", "virtio_dev_tx_async"]
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1, driver_name="vfio-pci", socket=self.ports_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1, driver_name="vfio-pci", socket=self.ports_socket
)
dmas = (
"txq0@%s-q0;"
@@ -454,18 +424,9 @@ class TestVM2VMVirtioPmdDsa(TestCase):
"rxq1@%s-q1;"
"rxq2@%s-q2;"
"rxq3@%s-q3"
- % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- )
+ % (dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0], dsas[0])
)
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,dmas=[%s]' "
"--vdev 'eth_vhost1,iface=vhost-net1,client=1,queues=8,dmas=[%s]'"
@@ -476,7 +437,7 @@ class TestVM2VMVirtioPmdDsa(TestCase):
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
)
self.start_vms(vm_queue=8, mergeable=False, packed=True, server_mode=True)
@@ -508,28 +469,27 @@ class TestVM2VMVirtioPmdDsa(TestCase):
Test Case 5: VM2VM virtio-pmd split ring mergeable path dynamic queue size with dsa kernel driver and server mode
"""
self.check_path = ["virtio_dev_rx_async", "virtio_dev_tx_async"]
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas1 = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "rxq0@wq0.1;"
- "rxq1@wq0.1;"
- "rxq2@wq0.1;"
- "rxq3@wq0.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s" % (wqs[0], wqs[0], wqs[0], wqs[0], wqs[1], wqs[1], wqs[1], wqs[1])
)
dmas2 = (
- "txq0@wq0.1;"
- "txq1@wq0.1;"
- "txq2@wq0.1;"
- "txq3@wq0.1;"
- "rxq0@wq0.0;"
- "rxq1@wq0.0;"
- "rxq2@wq0.0;"
- "rxq3@wq0.0"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s" % (wqs[1], wqs[1], wqs[1], wqs[1], wqs[0], wqs[0], wqs[0], wqs[0])
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,dmas=[%s]' "
@@ -572,21 +532,34 @@ class TestVM2VMVirtioPmdDsa(TestCase):
Test Case 6: VM2VM virtio-pmd split ring non-mergeable path dynamic queue size with dsa kernel driver and server mode
"""
self.check_path = ["virtio_dev_rx_async", "virtio_dev_tx_async"]
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,dmas=[%s]' "
@@ -629,17 +602,16 @@ class TestVM2VMVirtioPmdDsa(TestCase):
Test Case 7: VM2VM virtio-pmd packed ring mergeable path dynamic queue size with dsa kernel driver and server mode
"""
self.check_path = ["virtio_dev_rx_async", "virtio_dev_tx_async"]
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas = (
- "txq0@wq0.0;"
- "txq1@wq0.1;"
- "txq2@wq0.2;"
- "txq3@wq0.3;"
- "rxq0@wq0.0;"
- "rxq1@wq0.1;"
- "rxq2@wq0.2;"
- "rxq3@wq0.3"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "rxq0@%s;"
+ "rxq1@%s;"
+ "rxq2@%s;"
+ "rxq3@%s" % (wqs[0], wqs[1], wqs[2], wqs[3], wqs[0], wqs[1], wqs[2], wqs[3])
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,dmas=[%s]' "
@@ -699,36 +671,63 @@ class TestVM2VMVirtioPmdDsa(TestCase):
Test Case 8: VM2VM virtio-pmd packed ring non-mergeable path dynamic queue size with dsa kernel driver and server mode
"""
self.check_path = ["virtio_dev_rx_async", "virtio_dev_tx_async"]
- self.DC.create_work_queue(work_queue_number=8, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=8, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=8, dsa_idxs=[0, 1])
dmas1 = (
- "txq0@wq0.0;"
- "txq1@wq0.0;"
- "txq2@wq0.0;"
- "txq3@wq0.0;"
- "txq4@wq0.1;"
- "txq5@wq0.1;"
- "rxq2@wq1.0;"
- "rxq3@wq1.0;"
- "rxq4@wq1.1;"
- "rxq5@wq1.1;"
- "rxq6@wq1.1;"
- "rxq7@wq1.1"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[0],
+ wqs[1],
+ wqs[1],
+ wqs[8],
+ wqs[8],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ wqs[9],
+ )
)
dmas2 = (
- "txq0@wq0.2;"
- "txq1@wq0.2;"
- "txq2@wq0.2;"
- "txq3@wq0.2;"
- "txq4@wq0.3;"
- "txq5@wq0.3;"
- "rxq2@wq1.2;"
- "rxq3@wq1.2;"
- "rxq4@wq1.3;"
- "rxq5@wq1.3;"
- "rxq6@wq1.3;"
- "rxq7@wq1.3"
+ "txq0@%s;"
+ "txq1@%s;"
+ "txq2@%s;"
+ "txq3@%s;"
+ "txq4@%s;"
+ "txq5@%s;"
+ "rxq2@%s;"
+ "rxq3@%s;"
+ "rxq4@%s;"
+ "rxq5@%s;"
+ "rxq6@%s;"
+ "rxq7@%s"
+ % (
+ wqs[2],
+ wqs[2],
+ wqs[2],
+ wqs[2],
+ wqs[3],
+ wqs[3],
+ wqs[10],
+ wqs[10],
+ wqs[11],
+ wqs[11],
+ wqs[11],
+ wqs[11],
+ )
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,client=1,queues=8,dmas=[%s]' "
@@ -773,8 +772,6 @@ class TestVM2VMVirtioPmdDsa(TestCase):
self.stop_all_apps()
self.dut.kill_all()
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
def tear_down_all(self):
self.dut.close_session(self.vhost_user)
@@ -46,10 +46,6 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.dut.send_expect("rm -rf %s" % self.dump_vhost_pcap, "#")
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
self.dut.send_expect("killall -s INT %s" % self.pdump_name, "#")
- self.use_dsa_list = []
-
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
@property
def check_2M_env(self):
@@ -279,16 +275,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 1: VM2VM vhost-user/virtio-user split ring non-mergeable path and multi-queues payload check with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -296,14 +292,14 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
iova_mode="va",
)
virtio1_eal_param = "--vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,mrg_rxbuf=0,in_order=0,queue_size=4096"
@@ -329,16 +325,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.vhost_user_pmd.execute_cmd("quit", "#", 60)
self.clear_virtio_user1_stats()
dmas1 = "txq0@%s-q1;txq1@%s-q1;rxq0@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q1;txq1@%s-q1;rxq1@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -346,8 +342,8 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
port_options = {
- self.use_dsa_list[0]: "max_queues=4",
- self.use_dsa_list[1]: "max_queues=4",
+ dsas[0]: "max_queues=4",
+ dsas[1]: "max_queues=4",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -355,7 +351,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
self.start_pdump_to_capture_pkt()
@@ -370,16 +366,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 2: VM2VM split ring inorder non-mergeable path and multi-queues payload check with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q2;rxq1@%s-q3" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -387,14 +383,14 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=4"}
+ port_options = {dsas[0]: "max_queues=4"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
iova_mode="va",
)
virtio1_eal_param = "--vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,mrg_rxbuf=0,in_order=1,queue_size=4096"
@@ -420,16 +416,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.vhost_user_pmd.execute_cmd("quit", "#", 60)
self.clear_virtio_user1_stats()
dmas1 = "txq0@%s-q1;txq1@%s-q1;rxq0@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q1;txq1@%s-q1;rxq1@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -437,8 +433,8 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
port_options = {
- self.use_dsa_list[0]: "max_queues=2",
- self.use_dsa_list[1]: "max_queues=2",
+ dsas[0]: "max_queues=2",
+ dsas[1]: "max_queues=2",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -446,7 +442,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
self.start_pdump_to_capture_pkt()
@@ -461,16 +457,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 3: VM2VM split ring inorder mergeable path and multi-queues test non-indirect descriptor and payload check with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -479,14 +475,14 @@ class TestVM2VMVirtioUserDsa(TestCase):
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
iova_mode="va",
)
@@ -514,16 +510,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.virtio_user1_pmd.execute_cmd("quit", "#", 60)
self.vhost_user_pmd.execute_cmd("quit", "#", 60)
dmas1 = "txq0@%s-q0;txq1@%s-q1;rxq0@%s-q2;rxq1@%s-q3" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;txq1@%s-q1;rxq1@%s-q2;rxq1@%s-q3" % (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -531,8 +527,8 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
port_options = {
- self.use_dsa_list[0]: "max_queues=4",
- self.use_dsa_list[1]: "max_queues=4",
+ dsas[0]: "max_queues=4",
+ dsas[1]: "max_queues=4",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -540,7 +536,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
self.start_virtio_testpmd_with_vhost_net1(
@@ -565,16 +561,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 4: VM2VM split ring mergeable path and multi-queues test indirect descriptor and payload check with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -582,14 +578,14 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=1"}
+ port_options = {dsas[0]: "max_queues=1"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
iova_mode="va",
)
virtio1_eal_param = "--vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,mrg_rxbuf=1,in_order=0,queue_size=256"
@@ -616,16 +612,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.virtio_user1_pmd.execute_cmd("quit", "#", 60)
self.vhost_user_pmd.execute_cmd("quit", "#", 60)
dmas1 = "txq0@%s-q0;txq1@%s-q1;rxq0@%s-q2;rxq1@%s-q3" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;txq1@%s-q1;rxq1@%s-q2;rxq1@%s-q3" % (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -633,8 +629,8 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
port_options = {
- self.use_dsa_list[0]: "max_queues=4",
- self.use_dsa_list[1]: "max_queues=4",
+ dsas[0]: "max_queues=4",
+ dsas[1]: "max_queues=4",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -642,7 +638,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
self.start_virtio_testpmd_with_vhost_net1(
@@ -667,18 +663,18 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 5: VM2VM split ring vectorized path and multi-queues payload check with vhost async operation and dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;rxq0@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q1;rxq0@%s-q1;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -692,7 +688,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
@@ -722,16 +718,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.vhost_user_pmd.execute_cmd("quit", "#", 60)
self.clear_virtio_user1_stats()
dmas1 = "txq0@%s-q3;txq1@%s-q3;rxq0@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[0],
+ dsas[0],
+ dsas[1],
+ dsas[1],
)
dmas2 = "txq0@%s-q1;txq1@%s-q1;rxq1@%s-q3;rxq1@%s-q3" % (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[1],
+ dsas[1],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -739,8 +735,8 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
port_options = {
- self.use_dsa_list[0]: "max_queues=4",
- self.use_dsa_list[1]: "max_queues=4",
+ dsas[0]: "max_queues=4",
+ dsas[1]: "max_queues=4",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -748,7 +744,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
self.start_pdump_to_capture_pkt()
@@ -763,16 +759,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 6: VM2VM packed ring non-mergeable path and multi-queues payload check with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -786,7 +782,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
@@ -816,16 +812,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.vhost_user_pmd.execute_cmd("quit", "#", 60)
self.clear_virtio_user1_stats()
dmas1 = "txq0@%s-q0;txq1@%s-q1;rxq0@%s-q0;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;txq1@%s-q1;rxq1@%s-q0;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -833,8 +829,8 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
port_options = {
- self.use_dsa_list[0]: "max_queues=4",
- self.use_dsa_list[1]: "max_queues=4",
+ dsas[0]: "max_queues=4",
+ dsas[1]: "max_queues=4",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -842,7 +838,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
iova_mode="va",
)
self.start_pdump_to_capture_pkt()
@@ -857,16 +853,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 7: VM2VM packed ring inorder non-mergeable path and multi-queues payload check with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;rxq1@%s-q1" % (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -876,8 +872,8 @@ class TestVM2VMVirtioUserDsa(TestCase):
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
port_options = {
- self.use_dsa_list[0]: "max_queues=2",
- self.use_dsa_list[1]: "max_queues=2",
+ dsas[0]: "max_queues=2",
+ dsas[1]: "max_queues=2",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
@@ -885,7 +881,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
@@ -915,16 +911,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.vhost_user_pmd.execute_cmd("quit", "#", 60)
self.clear_virtio_user1_stats()
dmas1 = "txq0@%s-q5;txq1@%s-q6;rxq0@%s-q5;rxq1@%s-q6" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q5;txq1@%s-q6;rxq1@%s-q5;rxq1@%s-q6" % (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -936,7 +932,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
self.start_pdump_to_capture_pkt()
@@ -951,16 +947,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 8: VM2VM packed ring mergeable path and multi-queues payload check with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -969,14 +965,14 @@ class TestVM2VMVirtioUserDsa(TestCase):
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=1"}
+ port_options = {dsas[0]: "max_queues=1"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
port_options=port_options,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
iova_mode="va",
)
@@ -1006,16 +1002,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.vhost_user_pmd.execute_cmd("quit", "#", 60)
self.clear_virtio_user1_stats()
dmas1 = "txq0@%s-q0;txq1@%s-q1;rxq0@%s-q2;rxq1@%s-q3" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q4;txq1@%s-q5;rxq1@%s-q6;rxq1@%s-q7" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -1027,7 +1023,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
iova_mode="va",
)
self.start_pdump_to_capture_pkt()
@@ -1042,18 +1038,18 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 9: VM2VM packed ring inorder mergeable path and multi-queues payload check with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;rxq0@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;txq1@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -1067,7 +1063,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
@@ -1097,16 +1093,16 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.vhost_user_pmd.execute_cmd("quit", "#", 60)
self.clear_virtio_user1_stats()
dmas1 = "txq0@%s-q0;txq1@%s-q1;rxq0@%s-q0;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;txq1@%s-q1;rxq1@%s-q0;rxq1@%s-q1" % (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
+ dsas[1],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -1118,7 +1114,7 @@ class TestVM2VMVirtioUserDsa(TestCase):
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
iova_mode="va",
)
self.start_pdump_to_capture_pkt()
@@ -1133,20 +1129,20 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 10: VM2VM packed ring vectorized-tx path and multi-queues test indirect descriptor and payload check with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;txq1@%s-q0;rxq0@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q1;txq1@%s-q1;rxq0@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -1155,13 +1151,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
port_options=port_options,
iova_mode="va",
)
@@ -1193,14 +1189,14 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.virtio_user1_pmd.execute_cmd("quit", "#", 60)
self.vhost_user_pmd.execute_cmd("quit", "#", 60)
dmas1 = "txq0@%s-q0;txq1@%s-q1;rxq0@%s-q2;rxq1@%s-q3" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;txq1@%s-q1" % (
- self.use_dsa_list[1],
- self.use_dsa_list[1],
+ dsas[1],
+ dsas[1],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -1208,15 +1204,15 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
port_options = {
- self.use_dsa_list[0]: "max_queues=4",
- self.use_dsa_list[1]: "max_queues=2",
+ dsas[0]: "max_queues=4",
+ dsas[1]: "max_queues=2",
}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -1242,20 +1238,20 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 11: VM2VM packed ring vectorized path and payload check test with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;txq1@%s-q0;rxq0@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q1;txq1@%s-q1;rxq0@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -1264,13 +1260,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
port_options=port_options,
iova_mode="va",
)
@@ -1304,20 +1300,20 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 12: VM2VM packed ring vectorized path payload check test with ring size is not power of 2 with dsa dpdk driver
"""
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=2, driver_name="vfio-pci", socket=self.port_socket
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=2, driver_name="vfio-pci", socket=self.port_socket
)
dmas1 = "txq0@%s-q0;txq1@%s-q0;rxq0@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
dmas2 = "txq0@%s-q0;txq1@%s-q0;rxq0@%s-q1;rxq1@%s-q1" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -1326,13 +1322,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=2"}
+ port_options = {dsas[0]: "max_queues=2"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list[0:1],
+ ports=dsas[0:1],
port_options=port_options,
iova_mode="va",
)
@@ -1366,10 +1362,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 13: VM2VM split ring non-mergeable path and multi-queues payload check with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas1 = "txq0@%s;rxq1@%s" % (wqs[0], wqs[0])
+ dmas2 = "txq0@%s;rxq1@%s" % (wqs[1], wqs[1])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;rxq1@wq0.0]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq0.1;rxq1@wq0.1]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1409,10 +1408,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 14: VM2VM split ring inorder non-mergeable path and multi-queues payload check with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=4, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=4, dsa_idxs=[0])
+ dmas1 = "txq0@%s;rxq1@%s" % (wqs[0], wqs[1])
+ dmas2 = "txq0@%s;rxq1@%s" % (wqs[2], wqs[3])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;rxq1@wq0.1]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq0.2;rxq1@wq0.3]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1452,10 +1454,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 15: VM2VM split ring inorder mergeable path and multi-queues test non-indirect descriptor and payload check with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=4, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=4, dsa_idxs=[0])
+ dmas1 = "txq0@%s;rxq1@%s" % (wqs[0], wqs[1])
+ dmas2 = "txq0@%s;rxq1@%s" % (wqs[2], wqs[3])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;rxq1@wq0.1]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq0.2;rxq1@wq0.3]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1495,10 +1500,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 16: VM2VM split ring mergeable path and multi-queues test indirect descriptor and payload check with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas1 = "txq0@%s;txq1@%s;rxq0@%s;rxq0@%s" % (wqs[0], wqs[0], wqs[0], wqs[0])
+ dmas2 = "txq0@%s;txq1@%s;rxq0@%s;rxq0@%s" % (wqs[1], wqs[1], wqs[1], wqs[1])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;txq1@wq0.0;rxq0@wq0.0;rxq0@wq0.0]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq0.1;txq1@wq0.1;rxq0@wq0.1;rxq0@wq0.1]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1538,10 +1546,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 17: VM2VM split ring vectorized path and multi-queues payload check with vhost async operation and dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=4, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=4, dsa_idxs=[0])
+ dmas1 = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[0], wqs[0], wqs[0], wqs[0])
+ dmas2 = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[0], wqs[0], wqs[0], wqs[0])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;txq1@wq0.0;rxq0@wq0.0;rxq1@wq0.0]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq0.0;txq1@wq0.0;rxq0@wq0.0;rxq1@wq0.0]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1581,10 +1592,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 18: VM2VM packed ring non-mergeable path and multi-queues payload check with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas1 = "txq0@%s;rxq1@%s" % (wqs[0], wqs[0])
+ dmas2 = "txq0@%s;rxq1@%s" % (wqs[1], wqs[1])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;rxq1@wq0.0]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq0.1;rxq1@wq0.1]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1624,11 +1638,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 19: VM2VM packed ring inorder non-mergeable path and multi-queues payload check with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=2, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0, 1])
+ dmas1 = "txq0@%s;rxq1@%s" % (wqs[0], wqs[1])
+ dmas2 = "txq0@%s;rxq1@%s" % (wqs[2], wqs[3])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;rxq1@wq0.1]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq1.0;rxq1@wq1.1]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1668,10 +1684,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 20: VM2VM packed ring mergeable path and multi-queues payload check with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dmas1 = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[0], wqs[0], wqs[1], wqs[1])
+ dmas2 = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[1], wqs[1], wqs[0], wqs[0])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;txq1@wq0.0;rxq0@wq0.1;rxq1@wq0.1]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq0.1;txq1@wq0.1;rxq0@wq0.0;rxq1@wq0.0]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1711,11 +1730,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 21: VM2VM packed ring inorder mergeable path and multi-queues payload check with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=1, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=1, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=1, dsa_idxs=[0, 1])
+ dmas1 = "txq0@%s;rxq0@%s;rxq1@%s" % (wqs[0], wqs[0], wqs[0])
+ dmas2 = "txq0@%s;txq1@%s;rxq1@%s" % (wqs[1], wqs[1], wqs[1])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;rxq0@wq0.0;rxq1@wq0.0]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq1.0;txq1@wq1.0;rxq1@wq1.0]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1755,11 +1776,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 22: VM2VM packed ring vectorized-tx path and multi-queues test indirect descriptor and payload check with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=2, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0, 1])
+ dmas1 = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[0], wqs[0], wqs[1], wqs[1])
+ dmas2 = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[2], wqs[2], wqs[3], wqs[3])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;txq1@wq0.0;rxq0@wq0.1;rxq1@wq0.1]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq1.0;txq1@wq1.0;rxq0@wq1.1;rxq1@wq1.1]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1799,11 +1822,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 23: VM2VM packed ring vectorized path and multi-queues test indirect descriptor and payload check with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=2, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0, 1])
+ dmas1 = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[0], wqs[0], wqs[1], wqs[1])
+ dmas2 = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[2], wqs[2], wqs[3], wqs[3])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;txq1@wq0.0;rxq0@wq0.1;rxq1@wq0.1]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq1.0;txq1@wq1.0;rxq0@wq1.1;rxq1@wq1.1]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1843,11 +1868,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 24: VM2VM packed ring vectorized path payload check test with ring size is not power of 2 with dsa kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- self.DC.create_work_queue(work_queue_number=2, dsa_index=1)
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0, 1])
+ dmas1 = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[0], wqs[0], wqs[1], wqs[1])
+ dmas2 = "txq0@%s;txq1@%s;rxq0@%s;rxq1@%s" % (wqs[2], wqs[2], wqs[3], wqs[3])
vhost_eal_param = (
- "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@wq0.0;txq1@wq0.0;rxq0@wq0.1;rxq1@wq0.1]' "
- "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@wq1.0;txq1@wq1.0;rxq0@wq1.1;rxq1@wq1.1]'"
+ "--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
+ "--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[%s]'"
+ % (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
self.start_vhost_testpmd(
@@ -1887,18 +1914,18 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 25: VM2VM split ring mergeable path and multi-queues test indirect descriptor with dsa dpdk and kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1,
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1,
driver_name="vfio-pci",
- dsa_index_list=[1],
+ dsa_idxs=[1],
socket=self.port_socket,
)
- dmas1 = "txq0@wq0.0;rxq0@wq0.0;rxq1@wq0.0"
+ dmas1 = "txq0@%s;rxq0@%s;rxq1@%s" % (wqs[0], wqs[0], wqs[0])
dmas2 = "txq0@%s-q0;txq1@%s-q0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dsas[0],
+ dsas[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -1906,13 +1933,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=1"}
+ port_options = {dsas[0]: "max_queues=1"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -1946,20 +1973,24 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 26: VM2VM packed ring inorder mergeable path and multi-queues payload check with dsa dpdk and kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1,
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1,
driver_name="vfio-pci",
- dsa_index_list=[1],
+ dsa_idxs=[1],
socket=self.port_socket,
)
- dmas1 = "txq0@%s-q0;txq1@wq0.0;rxq0@%s-q0;rxq1@wq0.0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dmas1 = "txq0@%s-q0;txq1@%s;rxq0@%s-q0;rxq1@%s" % (
+ dsas[0],
+ wqs[0],
+ dsas[0],
+ wqs[0],
)
- dmas2 = "txq0@wq0.0;txq1@%s-q0;rxq0@wq0.0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dmas2 = "txq0@%s;txq1@%s-q0;rxq0@%s;rxq1@%s-q0" % (
+ wqs[0],
+ dsas[0],
+ wqs[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -1967,13 +1998,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=1"}
+ port_options = {dsas[0]: "max_queues=1"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -2007,20 +2038,24 @@ class TestVM2VMVirtioUserDsa(TestCase):
"""
Test Case 27: VM2VM packed ring vectorized-tx path test batch processing with dsa dpdk and kernel driver
"""
- self.DC.create_work_queue(work_queue_number=2, dsa_index=0)
- self.use_dsa_list = self.DC.bind_dsa_to_dpdk(
- dsa_number=1,
+ wqs = self.DC.create_wq(wq_num=2, dsa_idxs=[0])
+ dsas = self.DC.bind_dsa_to_dpdk_driver(
+ dsa_num=1,
driver_name="vfio-pci",
- dsa_index_list=[1],
+ dsa_idxs=[1],
socket=self.port_socket,
)
- dmas1 = "txq0@%s-q0;txq1@wq0.0;rxq0@%s-q0;rxq1@wq0.0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dmas1 = "txq0@%s-q0;txq1@%s;rxq0@%s-q0;rxq1@%s" % (
+ dsas[0],
+ wqs[0],
+ dsas[0],
+ wqs[0],
)
- dmas2 = "txq0@wq0.0;txq1@%s-q0;rxq0@wq0.0;rxq1@%s-q0" % (
- self.use_dsa_list[0],
- self.use_dsa_list[0],
+ dmas2 = "txq0@%s;txq1@%s-q0;rxq0@%s;rxq1@%s-q0" % (
+ wqs[0],
+ dsas[0],
+ wqs[0],
+ dsas[0],
)
vhost_eal_param = (
"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[%s]' "
@@ -2028,13 +2063,13 @@ class TestVM2VMVirtioUserDsa(TestCase):
% (dmas1, dmas2)
)
vhost_param = "--nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx"
- port_options = {self.use_dsa_list[0]: "max_queues=1"}
+ port_options = {dsas[0]: "max_queues=1"}
self.start_vhost_testpmd(
cores=self.vhost_core_list,
eal_param=vhost_eal_param,
param=vhost_param,
no_pci=False,
- ports=self.use_dsa_list,
+ ports=dsas,
port_options=port_options,
iova_mode="va",
)
@@ -2072,8 +2107,6 @@ class TestVM2VMVirtioUserDsa(TestCase):
self.quit_all_testpmd()
self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
self.dut.send_expect("killall -s INT %s" % self.pdump_name, "#")
- self.DC.reset_all_work_queue()
- self.DC.bind_all_dsa_to_kernel()
def tear_down_all(self):
pass
@@ -237,90 +237,123 @@ class dsa_common(object):
def __init__(self, test_case):
self.test_case = test_case
- def get_all_work_queue_index(self):
+ def get_all_dsa_pcis(self):
+ """
+ Get all the DSA device PCI of DUT.
+ :return: [0000:6a:01.0, 0000:6f:01.0, 0000:74:01.0, 0000:79:01.0]
+ """
+ dsa_pcis = []
+ out = self.test_case.dut.send_expect(
+ "./usertools/dpdk-devbind.py --status-dev dma", "#"
+ )
+ info = out.split("\n")
+ for item in info:
+ pci = re.search("\s*(0000:\S*:\d*.\d*)", item)
+ if pci is not None:
+ dsa_pcis.append(pci.group(1))
+ dsa_pcis.sort()
+ return dsa_pcis
+
+ def bind_dsa_to_kernel_driver(self, dsa_idx):
+ """
+ Get the DSA device current driver
+ """
+ dsa_pcis = self.get_all_dsa_pcis()
+ pci = dsa_pcis[dsa_idx]
+ addr_array = pci.split(":")
+ domain_id, bus_id, devfun_id = addr_array[0], addr_array[1], addr_array[2]
+ out = self.test_case.dut.send_expect(
+ "cat /sys/bus/pci/devices/%s\:%s\:%s/uevent"
+ % (domain_id, bus_id, devfun_id),
+ "# ",
+ alt_session=True,
+ )
+ rexp = r"DRIVER=(.+?)\r"
+ pattern = re.compile(rexp)
+ match = pattern.search(out)
+ if not match:
+ driver = None
+ else:
+ driver = match.group(1)
+ if driver != "idxd":
+ self.test_case.dut.send_expect(
+ "./usertools/dpdk-devbind.py --force --bind=idxd %s" % pci, "# ", 60
+ )
+
+ def get_all_dsa_idxs(self):
"""
Get all DSA device work queue index.
Example: `wq0.0 wq0.1 wq1.0 wq1.1`, return [0, 1]
"""
- dsa_index_list = []
+ dsa_idxs = []
if os.path.exists("/dev/dsa"):
out = self.test_case.dut.send_expect("ls /dev/dsa", "# ")
info = out.split()
for item in info:
- index = int(re.search("(\d+)", item).group(0))
- dsa_index_list.append(index)
- return list(set(dsa_index_list))
-
- def reset_all_work_queue(self):
- """
- Reset all DSA device work queue which have created work queue.
- After reset all DSA device work queues, the `/dev/dsa/` path will not exist.
- """
- dsa_index_list = self.get_all_work_queue_index()
- if len(dsa_index_list) > 0:
- for dsa_index in dsa_index_list:
- self.test_case.dut.send_expect(
- "./drivers/dma/idxd/dpdk_idxd_cfg.py --reset %s" % dsa_index, "# "
- )
+ idx = int(re.search("(\d+)", item).group(0))
+ dsa_idxs.append(idx)
+ return list(set(dsa_idxs))
- def check_dsa_has_work_queue(self, dsa_index):
+ def check_wq_exist(self, dsa_idx):
"""
Check DSA device has work queue or not, if has work queue, return True, or return False
"""
- if dsa_index in self.get_all_work_queue_index():
+ if dsa_idx in self.get_all_dsa_idxs():
return True
else:
return False
- def create_work_queue(self, work_queue_number, dsa_index):
+ def reset_wq(self, dsa_idx):
"""
- Create work queue by work_queue_number and dsa_index.
- :param work_queue_number: number of work queue to be create.
- :param dsa_index: index of DSA device which to create work queue.
- Example: work_queue_number=4, dsa_index=0, will create 4 work queue under this first DSA device
- root@dpdk:~# ls /dev/dsa/
- wq0.0 wq0.1 wq0.2 wq0.3
+ Reset DSA device work queue which have created work queue.
"""
- if self.check_dsa_has_work_queue(dsa_index=dsa_index):
+ if self.check_wq_exist(dsa_idx):
self.test_case.dut.send_expect(
- "./drivers/dma/idxd/dpdk_idxd_cfg.py --reset %s" % dsa_index, "# "
+ "./drivers/dma/idxd/dpdk_idxd_cfg.py --reset %s" % dsa_idx, "# "
)
- self.test_case.dut.send_expect(
- "./drivers/dma/idxd/dpdk_idxd_cfg.py -q %d %d"
- % (work_queue_number, dsa_index),
- "# ",
- )
- def get_all_dsa_pci(self):
+ def create_wq(self, wq_num, dsa_idxs):
"""
- Get all the DSA device PCI of DUT.
- :return: [0000:6a:01.0, 0000:6f:01.0, 0000:74:01.0, 0000:79:01.0]
+ Create work queue by work_queue_number and dsa_idx.
+ :param wq_num: number of work queue to be create.
+ :param dsa_idxs: index of DSA device which to create work queue.
+ Example: wq_num=4, dsa_idx=[0, 1], will create 4 work queue:
+ root@dpdk:~# ls /dev/dsa/
+ wq0.0 wq0.1 wq1.0 wq1.1
"""
- dsa_pci = []
- out = self.test_case.dut.send_expect(
- "./usertools/dpdk-devbind.py --status-dev dma", "#"
- )
- info = out.split("\n")
- for item in info:
- pci = re.search("\s*(0000:\S*:\d*.\d*)", item)
- if pci is not None:
- dsa_pci.append(pci.group(1))
- return dsa_pci
+ for dsa_idx in dsa_idxs:
+ if self.check_wq_exist(dsa_idx):
+ self.reset_wq(dsa_idx)
+ self.bind_dsa_to_kernel_driver(dsa_idx)
+ self.test_case.dut.send_expect(
+ "./drivers/dma/idxd/dpdk_idxd_cfg.py -q %d %d" % (wq_num, dsa_idx),
+ "# ",
+ )
+ wqs = []
+ if os.path.exists("/dev/dsa"):
+ out = self.test_case.dut.send_expect("ls /dev/dsa", "# ")
+ info = out.split()
+ for item in info:
+ idx = int(re.search("(\d+)", item).group(0))
+ if idx in dsa_idxs:
+ wqs.append(item)
+ return wqs
- def bind_dsa_to_dpdk(
- self, dsa_number, driver_name="vfio-pci", dsa_index_list="all", socket=-1
+ def bind_dsa_to_dpdk_driver(
+ self, dsa_num, driver_name="vfio-pci", dsa_idxs="all", socket=-1
):
"""
Bind DSA device to driver
- :param dsa_number: number of DSA device to be bind.
+ :param dsa_num: number of DSA device to be bind.
:param driver_name: driver name, like `vfio-pci`.
- :param dsa_index_list: the index list of DSA device, like [2,3]
+ :param dsa_idxs: the index list of DSA device, like [2,3]
:param socket: socket id: like 0 or 1, if socket=-1, use all the DSA deveice no matter on which socket.
:return: bind_dsa_list, like [0000:6a:01.0, 0000:6f:01.0]
"""
- dsa_list = []
- dsa_pci = self.get_all_dsa_pci()
- for pci in dsa_pci:
+ dsas = []
+ bind_dsas = []
+ dsa_pcis = self.get_all_dsa_pcis()
+ for pci in dsa_pcis:
addr_array = pci.split(":")
domain_id, bus_id, devfun_id = addr_array[0], addr_array[1], addr_array[2]
cur_socket = self.test_case.dut.send_expect(
@@ -331,47 +364,21 @@ class dsa_common(object):
)
if socket != -1:
if int(cur_socket) == socket:
- dsa_list.append(pci)
+ dsas.append(pci)
else:
- dsa_list.append(pci)
- if dsa_index_list == "all":
- bind_dsa_list = dsa_list[0:dsa_number]
+ dsas.append(pci)
+ if dsa_idxs == "all":
+ bind_dsas = dsas[0:dsa_num]
else:
- tmp_dsa_list = []
- for i in dsa_index_list:
- tmp_dsa_list.append(dsa_list[i])
- bind_dsa_list = tmp_dsa_list[0:dsa_number]
- bind_dsa_string = " ".join(bind_dsa_list)
+ tmp_dsas = []
+ for i in dsa_idxs:
+ tmp_dsas.append(dsas[i])
+ bind_dsas = tmp_dsas[0:dsa_num]
+ bind_dsas_str = " ".join(bind_dsas)
self.test_case.dut.send_expect(
"./usertools/dpdk-devbind.py --force --bind=%s %s"
- % (driver_name, bind_dsa_string),
+ % (driver_name, bind_dsas_str),
"# ",
60,
)
- return bind_dsa_list
-
- def bind_all_dsa_to_kernel(self):
- """
- Check the DSA device is bind to kernel driver or not, if not bind to kernel driver, then bind to kernel driver.
- """
- dsa_pci = self.get_all_dsa_pci()
- for pci in dsa_pci:
- addr_array = pci.split(":")
- domain_id, bus_id, devfun_id = addr_array[0], addr_array[1], addr_array[2]
- out = self.test_case.dut.send_expect(
- "cat /sys/bus/pci/devices/%s\:%s\:%s/uevent"
- % (domain_id, bus_id, devfun_id),
- "# ",
- alt_session=True,
- )
- rexp = r"DRIVER=(.+?)\r"
- pattern = re.compile(rexp)
- match = pattern.search(out)
- if not match:
- driver = None
- else:
- driver = match.group(1)
- if driver != "idxd":
- self.test_case.dut.send_expect(
- "./usertools/dpdk-devbind.py --force --bind=idxd %s" % pci, "# ", 60
- )
+ return bind_dsas