[V1] tests/vhost_cbdma: add bind dut ports to DPDK-compatible driver step

Message ID 20210331051316.602359-1-weix.ling@intel.com (mailing list archive)
State Superseded
Headers
Series [V1] tests/vhost_cbdma: add bind dut ports to DPDK-compatible driver step |

Commit Message

Ling, WeiX March 31, 2021, 5:13 a.m. UTC
  Add bind dut ports to DPDK-compatible driver method and 
step in tear_down after test_check_threshold_value_with_cbdma
exectue over.

Signed-off-by: Ling Wei <weix.ling@intel.com>
---
 tests/TestSuite_vhost_cbdma.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
  

Comments

Ling, WeiX March 31, 2021, 5:16 a.m. UTC | #1
> -----Original Message-----
> From: Ling, WeiX <weix.ling@intel.com>
> Sent: Wednesday, March 31, 2021 01:13 PM
> To: dts@dpdk.org
> Cc: Ling, WeiX <weix.ling@intel.com>
> Subject: [dts][PATCH V1] tests/vhost_cbdma: add bind dut ports to DPDK-
> compatible driver step
> 
Tested-by: Wei Ling <weix.ling@intel.com>
  
Wang, Yinan April 2, 2021, 7:47 a.m. UTC | #2
Acked-by: Wang, Yinan <yinan.wang@intel.com>

> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Ling, WeiX
> Sent: 2021?3?31? 13:17
> To: dts@dpdk.org
> Subject: Re: [dts] [PATCH V1] tests/vhost_cbdma: add bind dut ports to
> DPDK-compatible driver step
> 
> > -----Original Message-----
> > From: Ling, WeiX <weix.ling@intel.com>
> > Sent: Wednesday, March 31, 2021 01:13 PM
> > To: dts@dpdk.org
> > Cc: Ling, WeiX <weix.ling@intel.com>
> > Subject: [dts][PATCH V1] tests/vhost_cbdma: add bind dut ports to
> DPDK-
> > compatible driver step
> >
> Tested-by: Wei Ling <weix.ling@intel.com>
  
Tu, Lijuan April 7, 2021, 1:22 a.m. UTC | #3
> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Ling Wei
> Sent: 2021年3月31日 13:13
> To: dts@dpdk.org
> Cc: Ling, WeiX <weix.ling@intel.com>
> Subject: [dts] [PATCH V1] tests/vhost_cbdma: add bind dut ports to DPDK-
> compatible driver step
> 
> Add bind dut ports to DPDK-compatible driver method and step in tear_down
> after test_check_threshold_value_with_cbdma
> exectue over.
> 
> Signed-off-by: Ling Wei <weix.ling@intel.com>
> ---
>  tests/TestSuite_vhost_cbdma.py | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/tests/TestSuite_vhost_cbdma.py b/tests/TestSuite_vhost_cbdma.py
> index 260c534e..5699a7db 100644
> --- a/tests/TestSuite_vhost_cbdma.py
> +++ b/tests/TestSuite_vhost_cbdma.py
> @@ -110,6 +110,22 @@ class TestVirTioVhostCbdma(TestCase):
>          self.dut.send_expect("rm -rf /tmp/s0", "#")
>          self.mode_list = []
> 
> +    def bind_nic_driver(self, ports, driver=""):
> +        if driver == "igb_uio":
> +            for port in ports:
> +                netdev = self.dut.ports_info[port]['port']
> +                driver = netdev.get_nic_driver()
> +                if driver != 'igb_uio':
> +                    netdev.bind_driver(driver='igb_uio')
> +        else:
> +            for port in ports:
> +                netdev = self.dut.ports_info[port]['port']
> +                driver_now = netdev.get_nic_driver()
> +                if driver == "":
> +                    driver = netdev.default_driver
> +                if driver != driver_now:
> +                    netdev.bind_driver(driver=driver)

Too many duplicated code, prefer to reduce them as following:

for port in ports:
        netdev = self.dut.ports_info[port]['port']
        driver_now = netdev.get_nic_driver()
        if driver == "":
            driver = netdev.default_driver
        if driver != driver_now:
                    netdev.bind_driver(driver=driver) 

> +
>      def get_cbdma_ports_info_and_bind_to_dpdk(self, cbdma_num):
>          """
>          get all cbdma ports
> @@ -533,6 +549,8 @@ class TestVirTioVhostCbdma(TestCase):
>          """
>          self.dut.send_expect("killall -I %s" % self.testpmd_name, '#', 20)
>          self.bind_cbdma_device_to_kernel()
> +        if self.running_case == 'test_check_threshold_value_with_cbdma':
> +            self.bind_nic_driver(self.dut_ports, self.drivername)
> 
>      def tear_down_all(self):
>          """
> --
> 2.25.1
  

Patch

diff --git a/tests/TestSuite_vhost_cbdma.py b/tests/TestSuite_vhost_cbdma.py
index 260c534e..5699a7db 100644
--- a/tests/TestSuite_vhost_cbdma.py
+++ b/tests/TestSuite_vhost_cbdma.py
@@ -110,6 +110,22 @@  class TestVirTioVhostCbdma(TestCase):
         self.dut.send_expect("rm -rf /tmp/s0", "#")
         self.mode_list = []
 
+    def bind_nic_driver(self, ports, driver=""):
+        if driver == "igb_uio":
+            for port in ports:
+                netdev = self.dut.ports_info[port]['port']
+                driver = netdev.get_nic_driver()
+                if driver != 'igb_uio':
+                    netdev.bind_driver(driver='igb_uio')
+        else:
+            for port in ports:
+                netdev = self.dut.ports_info[port]['port']
+                driver_now = netdev.get_nic_driver()
+                if driver == "":
+                    driver = netdev.default_driver
+                if driver != driver_now:
+                    netdev.bind_driver(driver=driver)
+
     def get_cbdma_ports_info_and_bind_to_dpdk(self, cbdma_num):
         """
         get all cbdma ports
@@ -533,6 +549,8 @@  class TestVirTioVhostCbdma(TestCase):
         """
         self.dut.send_expect("killall -I %s" % self.testpmd_name, '#', 20)
         self.bind_cbdma_device_to_kernel()
+        if self.running_case == 'test_check_threshold_value_with_cbdma':
+            self.bind_nic_driver(self.dut_ports, self.drivername)
 
     def tear_down_all(self):
         """