[dts] [PATCH v2 08/28] framework: getting DPDK binding script moved to a method in dut
Angela Czubak
aczubak at caviumnetworks.com
Mon Apr 10 19:09:02 CEST 2017
Since DPDK binding script is used in a few places and the right one
should be chosen the code doing it has been moved to
get_dpdk_bind_script method
Signed-off-by: Angela Czubak <aczubak at caviumnetworks.com>
---
framework/dut.py | 34 ++++++++++++++++------------------
framework/project_dpdk.py | 33 ++++++---------------------------
2 files changed, 22 insertions(+), 45 deletions(-)
diff --git a/framework/dut.py b/framework/dut.py
index cd899c8..3e90670 100644
--- a/framework/dut.py
+++ b/framework/dut.py
@@ -359,6 +359,18 @@ class Dut(Crb):
else:
return False
+ def get_dpdk_bind_script(self):
+ op = self.send_command("ls")
+ if "usertools" in op:
+ res = 'usertools/dpdk-devbind.py'
+ else:
+ op = self.send_command("ls tools")
+ if "dpdk_nic_bind.py" in op:
+ res = 'tools/dpdk_nic_bind.py'
+ else:
+ res = 'tools/dpdk-devbind.py'
+ return res
+
def bind_interfaces_linux(self, driver='igb_uio', nics_to_bind=None):
"""
Bind the interfaces to the selected driver. nics_to_bind can be None
@@ -380,15 +392,8 @@ class Dut(Crb):
if current_nic == 0:
self.logger.info("Not nic need bind driver: %s" % driver)
return
- op = self.send_command("ls")
- if "usertools" in op:
- self.send_expect('usertools/dpdk-devbind.py --force %s' % binding_list, '# ')
- else:
- op = self.send_command("ls tools")
- if "dpdk_nic_bind.py" in op:
- self.send_expect('tools/dpdk_nic_bind.py %s' % binding_list, '# ')
- else:
- self.send_expect('tools/dpdk-devbind.py %s' % binding_list, '# ')
+ bind_script_path = self.get_dpdk_bind_script()
+ self.send_expect('%s --force %s' % (bind_script_path, binding_list), '# ')
def unbind_interfaces_linux(self, nics_to_bind=None):
"""
@@ -412,15 +417,8 @@ class Dut(Crb):
self.logger.info("Not nic need unbind driver")
return
- op = self.send_command("ls")
- if "usertools" in op:
- self.send_expect('usertools/dpdk-devbind.py %s' % binding_list, '# ')
- else:
- op = self.send_command("ls tools")
- if "dpdk_nic_bind.py" in op:
- self.send_expect('tools/dpdk_nic_bind.py %s' % binding_list, '# ')
- else:
- self.send_expect('tools/dpdk-devbind.py %s' % binding_list, '# ')
+ bind_script_path = self.get_dpdk_bind_script()
+ self.send_expect('%s --force %s' % (bind_script_path, binding_list), '# ')
def get_ports(self, nic_type='any', perf=None, socket=None):
"""
diff --git a/framework/project_dpdk.py b/framework/project_dpdk.py
index 2a50e87..c4a00bc 100644
--- a/framework/project_dpdk.py
+++ b/framework/project_dpdk.py
@@ -103,15 +103,8 @@ class DPDKdut(Dut):
self.send_expect("modprobe vfio", "#", 70)
self.send_expect("modprobe vfio-pci", "#", 70)
# check with dpdk binding script instead of lsmod - kernel may have builtin modules
- op = self.send_command("ls")
- if "usertools" in op:
- out = self.send_expect('usertools/dpdk-devbind.py --status', '# ')
- else:
- op = self.send_command("ls tools")
- if "dpdk_nic_bind.py" in op:
- out = self.send_expect('tools/dpdk_nic_bind.py --status', '# ')
- else:
- out = self.send_expect('tools/dpdk-devbind.py --status', '# ')
+ bind_script_path = self.get_dpdk_bind_script()
+ out = self.send_expect('%s --status' % bind_script_path, '# ')
assert ("vfio-pci" in out), "Failed to setup vfio-pci"
else:
self.send_expect("modprobe uio", "#", 70)
@@ -323,15 +316,8 @@ class DPDKdut(Dut):
binding_list += '%s ' % (port_info['pci'])
current_nic += 1
- op = self.send_command("ls")
- if "usertools" in op:
- self.send_expect('usertools/dpdk-devbind.py --force %s' % binding_list, '# ')
- else:
- op = self.send_command("ls tools")
- if "dpdk_nic_bind.py" in op:
- self.send_expect('tools/dpdk_nic_bind.py %s' % binding_list, '# ')
- else:
- self.send_expect('tools/dpdk-devbind.py %s' % binding_list, '# ')
+ bind_script_path = self.get_dpdk_bind_script()
+ self.send_expect('%s --force %s' % (bind_script_path, binding_list), '# ')
def unbind_interfaces_linux(self, nics_to_bind=None):
"""
@@ -346,15 +332,8 @@ class DPDKdut(Dut):
binding_list += '%s ' % (port_info['pci'])
current_nic += 1
- op = self.send_command("ls")
- if "usertools" in op:
- self.send_expect('usertools/dpdk-devbind.py %s' % binding_list, '# ')
- else:
- op = self.send_command("ls tools")
- if "dpdk_nic_bind.py" in op:
- self.send_expect('tools/dpdk_nic_bind.py %s' % binding_list, '# ')
- else:
- self.send_expect('tools/dpdk-devbind.py %s' % binding_list, '# ')
+ bind_script_path = self.get_dpdk_bind_script()
+ self.send_expect('%s --force %s' % (bind_script_path, binding_list), '# ')
def build_dpdk_apps(self, folder, extra_options=''):
"""
--
2.7.4
More information about the dts
mailing list