[dts] [PATCH 1/6] framework: crb :add some parameters and check_Mellanox_pci function to identify mellanox device

Raslan Darawsheh rasland at mellanox.com
Tue Oct 27 07:07:50 CET 2015


From: Raslsn Darawsheh <rdarawsheh at asaltech.com>

Signed-off-by: Raslsn Darawsheh <rdarawsheh at asaltech.com>
---
 framework/crb.py | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/framework/crb.py b/framework/crb.py
index fcbd7d9..0acec3b 100644
--- a/framework/crb.py
+++ b/framework/crb.py
@@ -33,7 +33,7 @@ import time
 import dts
 import re
 import os
-from settings import TIMEOUT, IXIA
+from settings import TIMEOUT, IXIA, NICS
 
 """
 CRB (customer reference board) basic functions and handlers
@@ -54,6 +54,9 @@ class Crb(object):
         self.skip_setup = False
         self.serializer = serializer
         self.ports_info = None
+        self.isMellanox = False
+        self.mellanoxPortCount = 0
+        self.mellanoxCardType = None
 
     def send_expect(self, cmds, expected, timeout=TIMEOUT,
                     alt_session=False, verify=False):
@@ -79,6 +82,19 @@ class Crb(object):
 
         return self.session.send_command(cmds, timeout)
 
+    def check_Mellanox_pci(self,pci_bus,pci_id):
+        """
+        check if the PCI is Mellanox device or not
+        its used to set a flag to handle Mellanox ports differently
+        """
+        out = self.send_expect("lspci -nn | grep -i "  + pci_bus, "# ")
+        if "Mell" in out:
+            self.isMellanox =True
+            if NICS['ConnectX_4'] in out:
+                self.mellanoxCardType = "cx4"
+            else:
+                self.mellanoxCardType = "cx3"
+
     def get_session_output(self, timeout=TIMEOUT):
         """
         Get session output message before timeout
@@ -196,6 +212,11 @@ class Crb(object):
         rexp = r"([\da-f]{2}:[\da-f]{2}.\d{1}) .*Eth.*?ernet .*?([\da-f]{4}:[\da-f]{4})"
         pattern = re.compile(rexp)
         match = pattern.findall(out)
+        out = self.send_expect(
+                        "lspci -nn ", "# ", alt_session=True)
+        rexp = r"([\da-f]{2}:[\da-f]{2}.\d{1}) Network .*?([\da-f]{4}:[\da-f]{4})"
+        pattern = re.compile(rexp)
+        match += pattern.findall(out)
         self.pci_devices_info = []
         for i in range(len(match)):
             self.pci_devices_info.append((match[i][0], match[i][1]))
-- 
1.8.3.1



More information about the dts mailing list