[dts] [PATCH V2 4/5] framework: optimize wirespeed calculation and kill_all function

Yong Liu yong.liu at intel.com
Fri Feb 13 03:14:53 CET 2015


When calculate wirespeed of one dut port, we need known both driver and nic 
name. All nic use ixgbe driver, wirespeed is 10G. NIC avoton2c5 wirespeed is 
 2.5G. NIC fortville_eagle wirespeed is 10G. Other Fortville NICs wirespeed 
is 40G.

Signed-off-by: Marvinliu <yong.liu at intel.com>
---
 framework/crb.py       |  1 -
 framework/test_case.py | 26 ++++++++++++++++++++------
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/framework/crb.py b/framework/crb.py
index fa03757..fb3639c 100644
--- a/framework/crb.py
+++ b/framework/crb.py
@@ -284,7 +284,6 @@ class Crb(object):
                 | awk '/config/ {print $2}'` ; do kill -9 $i; done"
         self.alt_session.session.send_expect(cmd, "# ", 10)
         time.sleep(.7)
-        self.check_os_type()
 
     def close(self):
         """
diff --git a/framework/test_case.py b/framework/test_case.py
index c5dd10f..fbde06c 100644
--- a/framework/test_case.py
+++ b/framework/test_case.py
@@ -33,9 +33,9 @@
 A base class for creating DTF test cases.
 """
 
+import dts
 from exception import VerifyFailure
-from settings import DRIVERS
-
+from settings import DRIVERS, NICS
 
 class TestCase(object):
 
@@ -67,18 +67,32 @@ class TestCase(object):
 
         raise ValueError(nic_name)
 
+    def get_nic_name(self, pci_id):
+        for nic_name, pci in NICS.items():
+            if pci_id == pci:
+                return nic_name
+
+        raise ValueError(nic_name)
+
     def wirespeed(self, nic, frame_size, num_ports):
         """
         Calculate bit rate. It is depended for NICs
         """
         bitrate = 1000.0  # 1Gb ('.0' forces to operate as float)
-        if self.get_nic_driver(self.nic) == "ixgbe":
+        if self.nic == "any" or self.nic == "cfg":
+            driver = dts.get_nic_driver(self.dut.ports_info[0]['type'])
+            nic = self.get_nic_name(self.dut.ports_info[0]['type'])
+        else:
+            driver = self.get_nic_driver(self.nic)
+            nic = self.nic
+
+        if driver == "ixgbe":
             bitrate *= 10  # 10 Gb NICs
-        elif self.nic == "avoton2c5":
+        elif nic == "avoton2c5":
             bitrate *= 2.5  # 2.5 Gb NICs
-        elif self.nic in ["fortville_spirit", "fortville_spirit_single"]:
+        elif nic in ["fortville_spirit", "fortville_spirit_single"]:
             bitrate *= 40
-        elif self.nic == 'fortville_eagle':
+        elif nic == 'fortville_eagle':
            bitrate *= 10
 
         return bitrate * num_ports / 8 / (frame_size + 20)
-- 
1.9.3



More information about the dts mailing list