Doxygen cleanup.
[vpp.git] / extras / vpp_config / vpplib / VppPCIUtil.py
index 829d66a..ceda46f 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+from __future__ import print_function
+
 """VPP PCI Utility libraries"""
 
 import re
+import logging
 
 from vpplib.VPPUtil import VPPUtil
 
@@ -43,7 +46,7 @@ class VppPCIUtil(object):
 
         ids = re.findall(PCI_DEV_ID_REGEX, device_string)
         descriptions = re.findall(r'\'([\s\S]*?)\'', device_string)
-        unused = re.findall(r'unused=[\w,]+', device_string)
+        unused = re.findall(r'unused=\w+|unused=', device_string)
 
         for i, j in enumerate(ids):
             device = {'description': descriptions[i]}
@@ -251,11 +254,12 @@ class VppPCIUtil(object):
 
         :param devices: A list of devices
         :param show_interfaces: show the kernel information
+        :param show_header: Display the header if true
         :type devices: dict
         :type show_interfaces: bool
+        :type show_header: bool
         """
 
-
         if show_interfaces:
             header = "{:15} {:25} {:50}".format("PCI ID",
                                                 "Kernel Interface(s)",
@@ -265,10 +269,9 @@ class VppPCIUtil(object):
                                           "Description")
         dashseparator = ("-" * (len(header) - 2))
 
-
-        if show_header == True:
-            print header
-            print dashseparator
+        if show_header is True:
+            print (header)
+            print (dashseparator)
         for dit in devices.items():
             dvid = dit[0]
             device = dit[1]
@@ -281,11 +284,11 @@ class VppPCIUtil(object):
                     else:
                         interface = interfaces[i]
 
-                print "{:15} {:25} {:50}".format(
-                    dvid, interface, device['description'])
+                print ("{:15} {:25} {:50}".format(
+                    dvid, interface, device['description']))
             else:
-                print "{:15} {:50}".format(
-                    dvid, device['description'])
+                print ("{:15} {:50}".format(
+                    dvid, device['description']))
 
     @staticmethod
     def unbind_vpp_device(node, device_id):
@@ -298,7 +301,6 @@ class VppPCIUtil(object):
         :type device_id: string
         """
 
-
         rootdir = node['rootdir']
         dpdk_script = rootdir + DPDK_SCRIPT
         cmd = dpdk_script + ' -u ' + ' ' + device_id
@@ -319,6 +321,7 @@ class VppPCIUtil(object):
         :type node: dict
         :type driver: string
         :type device_id: string
+        :returns ret: Command return code
         """
 
         rootdir = node['rootdir']
@@ -326,5 +329,9 @@ class VppPCIUtil(object):
         cmd = dpdk_script + ' -b ' + driver + ' ' + device_id
         (ret, stdout, stderr) = VPPUtil.exec_command(cmd)
         if ret != 0:
-            raise RuntimeError('{} failed on node {} {} {}'.format(
+            logging.error('{} failed on node {}'.format(
                 cmd, node['host'], stdout, stderr))
+            logging.error('{} {}'.format(
+                stdout, stderr))
+
+        return ret