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

Liu, Yong yong.liu at intel.com
Mon Apr 17 08:35:16 CEST 2017


Hi Angela,
I guess you're trying to make DTS compact with different versions of DPDK. Normally we handle that by creating tag on DTS code. 
There's alternative way to do that. We can get dpdk version from rte_version.h and then tools name will be explicit. 

Thanks,
Marvin


> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Angela Czubak
> Sent: Tuesday, April 11, 2017 1:09 AM
> To: dts at dpdk.org
> Cc: Angela Czubak <aczubak at caviumnetworks.com>
> Subject: [dts] [PATCH v2 02/28] framework dut and project_dpdk: using
> correct available binding scripts
> 
> 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