* [dts] [PATCH V2] add vfio-pci cases to vf_packet_rxtx test suite, use a global config to determin vf driver
@ 2017-09-29 6:39 Yuwei Zhang
2017-09-30 10:13 ` Liu, Yong
0 siblings, 1 reply; 2+ messages in thread
From: Yuwei Zhang @ 2017-09-29 6:39 UTC (permalink / raw)
To: dts; +Cc: Yuwei Zhang
Signed-off-by: Yuwei Zhang <yuwei1.zhang@intel.com>
---
conf/global_suite.cfg | 2 ++
framework/config.py | 28 +++++++++++++++++++++++++++-
tests/TestSuite_vf_packet_rxtx.py | 30 ++++++++++++++++++++++--------
3 files changed, 51 insertions(+), 9 deletions(-)
create mode 100644 conf/global_suite.cfg
diff --git a/conf/global_suite.cfg b/conf/global_suite.cfg
new file mode 100644
index 0000000..d784fc5
--- /dev/null
+++ b/conf/global_suite.cfg
@@ -0,0 +1,2 @@
+[global]
+vf_driver=pci-stub
\ No newline at end of file
diff --git a/framework/config.py b/framework/config.py
index 9e514a7..80f1dd3 100644
--- a/framework/config.py
+++ b/framework/config.py
@@ -45,6 +45,7 @@ CRBCONF = "%s/crbs.cfg" % CONFIG_ROOT_PATH
VIRTCONF = "%s/virt_global.cfg" % CONFIG_ROOT_PATH
IXIACONF = "%s/ixia.cfg" % CONFIG_ROOT_PATH
SUITECONF_SAMPLE = "%s/suite_sample.cfg" % CONFIG_ROOT_PATH
+GLOBALCONF = "%s/global_suite.cfg" % CONFIG_ROOT_PATH
class UserConf():
@@ -87,11 +88,36 @@ class UserConf():
paramDict[key] = value
return paramDict
+class GlobalConf(UserConf):
+ def __init__(self):
+ self.global_cfg = {}
+ try:
+ self.global_conf = UserConf(GLOBALCONF)
+ except ConfigParseException:
+ self.global_conf = None
+
+ # load global configuration
+ self.global_cfg = self.load_global_config()
+
+ def load_global_config(self, section_name='global'):
+ global_cfg = self.global_cfg.copy()
+ try:
+ section_confs = self.global_conf.load_section(section_name)
+ except:
+ print "FAILED FIND SECTION[%s] CONFIG!!!" % section_name
+ return global_cfg
+
+ if section_confs is None:
+ return global_cfg
+ global_cfg = dict(section_confs)
+
+ return global_cfg
+
class SuiteConf(UserConf):
def __init__(self, suite_name=""):
+ self.suite_cfg = GlobalConf().load_global_config()
self.config_file = CONFIG_ROOT_PATH + os.sep + suite_name + ".cfg"
- self.suite_cfg = {}
try:
self.suite_conf = UserConf(self.config_file)
except ConfigParseException:
diff --git a/tests/TestSuite_vf_packet_rxtx.py b/tests/TestSuite_vf_packet_rxtx.py
index 50451f6..56d618c 100644
--- a/tests/TestSuite_vf_packet_rxtx.py
+++ b/tests/TestSuite_vf_packet_rxtx.py
@@ -12,6 +12,8 @@ VM_CORES_MASK = 'all'
class TestVfPacketRxtx(TestCase):
+ supported_vf_driver = ['pci-stub', 'vfio-pci']
+
def set_up_all(self):
self.dut_ports = self.dut.get_ports(self.nic)
@@ -19,6 +21,18 @@ class TestVfPacketRxtx(TestCase):
self.vm0 = None
self.vm1 = None
+ # set vf assign method and vf driver
+ self.vf_driver = self.get_suite_cfg()['vf_driver']
+ if self.vf_driver is None:
+ self.vf_driver = 'pci-stub'
+ self.verify(self.vf_driver in self.supported_vf_driver, "Unspported vf driver")
+ if self.vf_driver == 'pci-stub':
+ self.vf_assign_method = 'pci-assign'
+ else:
+ self.vf_assign_method = 'vfio-pci'
+
+
+
def set_up(self):
self.setup_2pf_2vf_1vm_env_flag = 0
@@ -37,10 +51,10 @@ class TestVfPacketRxtx(TestCase):
try:
for port in self.sriov_vfs_port_0:
- port.bind_driver('pci-stub')
+ port.bind_driver(self.vf_driver)
for port in self.sriov_vfs_port_1:
- port.bind_driver('pci-stub')
+ port.bind_driver(self.vf_driver)
time.sleep(1)
vf0_prop = {'opt_host': self.sriov_vfs_port_0[0].pci}
@@ -59,8 +73,8 @@ class TestVfPacketRxtx(TestCase):
# set up VM0 ENV
self.vm0 = QEMUKvm(self.dut, 'vm0', 'vf_packet_rxtx')
- self.vm0.set_vm_device(driver='pci-assign', **vf0_prop)
- self.vm0.set_vm_device(driver='pci-assign', **vf1_prop)
+ self.vm0.set_vm_device(driver=self.vf_assign_method, **vf0_prop)
+ self.vm0.set_vm_device(driver=self.vf_assign_method, **vf1_prop)
self.vm_dut_0 = self.vm0.start()
if self.vm_dut_0 is None:
raise Exception("Set up VM0 ENV failed!")
@@ -159,7 +173,7 @@ class TestVfPacketRxtx(TestCase):
for port in self.sriov_vfs_port:
print port.pci
- port.bind_driver('pci-stub')
+ port.bind_driver(self.vf_driver)
time.sleep(1)
vf0_prop = {'opt_host': self.sriov_vfs_port[0].pci}
@@ -181,14 +195,14 @@ class TestVfPacketRxtx(TestCase):
# set up VM0 ENV
self.vm0 = QEMUKvm(self.dut, 'vm0', 'vf_packet_rxtx')
- self.vm0.set_vm_device(driver='pci-assign', **vf0_prop)
- self.vm0.set_vm_device(driver='pci-assign', **vf1_prop)
+ self.vm0.set_vm_device(driver=self.vf_assign_method, **vf0_prop)
+ self.vm0.set_vm_device(driver=self.vf_assign_method, **vf1_prop)
self.vm_dut_0 = self.vm0.start()
if self.vm_dut_0 is None:
raise Exception("Set up VM0 ENV failed!")
# set up VM1 ENV
self.vm1 = QEMUKvm(self.dut, 'vm1', 'vf_packet_rxtx')
- self.vm1.set_vm_device(driver='pci-assign', **vf2_prop)
+ self.vm1.set_vm_device(driver=self.vf_assign_method, **vf2_prop)
self.vm_dut_1 = self.vm1.start()
if self.vm_dut_1 is None:
raise Exception("Set up VM1 ENV failed!")
--
2.14.1.windows.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [dts] [PATCH V2] add vfio-pci cases to vf_packet_rxtx test suite, use a global config to determin vf driver
2017-09-29 6:39 [dts] [PATCH V2] add vfio-pci cases to vf_packet_rxtx test suite, use a global config to determin vf driver Yuwei Zhang
@ 2017-09-30 10:13 ` Liu, Yong
0 siblings, 0 replies; 2+ messages in thread
From: Liu, Yong @ 2017-09-30 10:13 UTC (permalink / raw)
To: Yuwei Zhang, dts
Yuwei,
Please separate your patch into two parts. The first part is the
implementation of framework and relate config file.
The other part is the implementation in test suite. It will make each
commit more clear.
Thanks,
Marvin
On 09/29/2017 02:39 PM, Yuwei Zhang wrote:
> Signed-off-by: Yuwei Zhang<yuwei1.zhang@intel.com>
> ---
> conf/global_suite.cfg | 2 ++
> framework/config.py | 28 +++++++++++++++++++++++++++-
> tests/TestSuite_vf_packet_rxtx.py | 30 ++++++++++++++++++++++--------
> 3 files changed, 51 insertions(+), 9 deletions(-)
> create mode 100644 conf/global_suite.cfg
>
> diff --git a/conf/global_suite.cfg b/conf/global_suite.cfg
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-09-30 1:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-29 6:39 [dts] [PATCH V2] add vfio-pci cases to vf_packet_rxtx test suite, use a global config to determin vf driver Yuwei Zhang
2017-09-30 10:13 ` Liu, Yong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).