[dts] [PATCH 02/26] framework dut and project_dpdk: using correct available binding scripts

Angela Czubak aczubak at caviumnetworks.com
Thu Apr 6 19:51:08 CEST 2017


Below patch makes scripts look for correct DPDK binding script,
checking whether 'usertools' or 'tools' directory is present and which
script exist in 'tools' directory ('dpdk-devbind.py' or
'dpdk_nic_bind.py')

Signed-off-by: Angela Czubak <aczubak at caviumnetworks.com>
---
 framework/dut.py          | 21 ++++++++++++++++++---
 framework/project_dpdk.py | 20 ++++++++++++++++++--
 2 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/framework/dut.py b/framework/dut.py
index 9cbdaf7..4ce5c3a 100644
--- a/framework/dut.py
+++ b/framework/dut.py
@@ -377,8 +377,15 @@ class Dut(Crb):
         if current_nic == 0:
             self.logger.info("Not nic need bind driver: %s" % driver)
             return
-
-        self.send_expect('usertools/dpdk-devbind.py %s' % binding_list, '# ')
+        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, '# ')
 
     def unbind_interfaces_linux(self, nics_to_bind=None):
         """
@@ -402,7 +409,15 @@ class Dut(Crb):
             self.logger.info("Not nic need unbind driver")
             return
 
-        self.send_expect('usertools/dpdk-devbind.py %s' % binding_list, '# ', 30)
+        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, '# ')
 
     def get_ports(self, nic_type='any', perf=None, socket=None):
         """
diff --git a/framework/project_dpdk.py b/framework/project_dpdk.py
index a0cb4c2..50740f8 100644
--- a/framework/project_dpdk.py
+++ b/framework/project_dpdk.py
@@ -314,7 +314,15 @@ class DPDKdut(Dut):
                 binding_list += '%s ' % (port_info['pci'])
             current_nic += 1
 
-        self.send_expect('usertools/dpdk-devbind.py %s' % binding_list, '# ')
+        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, '# ')
 
     def unbind_interfaces_linux(self, nics_to_bind=None):
         """
@@ -329,7 +337,15 @@ class DPDKdut(Dut):
                 binding_list += '%s ' % (port_info['pci'])
             current_nic += 1
 
-        self.send_expect('usertools/dpdk-devbind.py %s' % binding_list, '# ', 30)
+        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, '# ')
 
     def build_dpdk_apps(self, folder, extra_options=''):
         """
-- 
2.7.4



More information about the dts mailing list