[dts] [PATCH for-next v3 2/3] nics/net_device: add a function to get nic speed

Ali Alnubani alialnu at mellanox.com
Sat Mar 31 00:52:40 CEST 2018


Needed to differentiate between nics with same
device identifier, but with different speeds.

Signed-off-by: Ali Alnubani <alialnu at mellanox.com>
---
 nics/net_device.py | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/nics/net_device.py b/nics/net_device.py
index 4861145..c32850c 100644
--- a/nics/net_device.py
+++ b/nics/net_device.py
@@ -539,6 +539,25 @@ class NetDevice(object):
         """
         return self.crb.get_pci_dev_id(self.domain_id, self.bus_id, self.devfun_id)
 
+    @nic_has_driver
+    def get_nic_speed(self):
+        """
+        Get the speed of specified pci device.
+        """
+        get_nic_speed = getattr(
+            self, 'get_nic_speed_%s' %
+            self.__get_os_type())
+        return get_nic_speed(self.domain_id, self.bus_id, self.devfun_id)
+
+    def get_nic_speed_linux(self, domain_id, bus_id, devfun_id):
+        command = ('cat /sys/bus/pci/devices/%s\:%s\:%s/net/*/speed' %
+                   (domain_id, bus_id, devfun_id))
+        nic_speed = self.__send_expect(command, '# ')
+        return nic_speed
+
+    def get_nic_speed_freebsd(self, domain_id, bus_id, devfun_id):
+        NotImplemented
+
     @nic_has_driver
     def get_sriov_vfs_pci(self):
         """
-- 
2.16.2



More information about the dts mailing list