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

Yong Liu yong.liu at intel.com
Mon Feb 16 04:07:47 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>

diff --git a/framework/crb.py b/framework/crb.py
index 317be15..28df2f9 100644
--- a/framework/crb.py
+++ b/framework/crb.py
@@ -286,7 +286,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 66f7262..b1595fb 100644
--- a/framework/test_case.py
+++ b/framework/test_case.py
@@ -33,8 +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 +68,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