Update of VPP_STABLE_VER files
[csit.git] / resources / libraries / python / VPPUtil.py
index 1ae9ca6..432a589 100644 (file)
@@ -17,7 +17,6 @@ from robot.api import logger
 
 from resources.libraries.python.Constants import Constants
 from resources.libraries.python.DUTSetup import DUTSetup
-from resources.libraries.python.L2Util import L2Util
 from resources.libraries.python.PapiExecutor import PapiSocketExecutor
 from resources.libraries.python.ssh import exec_cmd_no_error
 from resources.libraries.python.topology import NodeType
@@ -113,6 +112,10 @@ class VPPUtil(object):
         :param node: Topology node.
         :type node: dict
         """
+        cmd = 'echo "show pci" | sudo socat - UNIX-CONNECT:/run/vpp/cli.sock'
+        exec_cmd_no_error(
+            node, cmd, sudo=False, message='VPP failed to start!', retries=120)
+
         cmd = ('vppctl show pci 2>&1 | '
                'fgrep -v "Connection refused" | '
                'fgrep -v "No such file or directory"')
@@ -161,8 +164,9 @@ class VPPUtil(object):
         :returns: VPP version.
         :rtype: str
         """
+        cmd = 'show_version'
         with PapiSocketExecutor(node) as papi_exec:
-            reply = papi_exec.add('show_version').get_reply()
+            reply = papi_exec.add(cmd).get_reply()
         return_version = reply['version'].rstrip('\0x00')
         version = 'VPP version:      {ver}\n'.format(ver=return_version)
         if verbose:
@@ -193,16 +197,25 @@ class VPPUtil(object):
         """
 
         cmd = 'sw_interface_dump'
-        args = dict(name_filter_valid=0, name_filter='')
+        args = dict(
+            name_filter_valid=False,
+            name_filter=''
+        )
         err_msg = 'Failed to get interface dump on host {host}'.format(
             host=node['host'])
         with PapiSocketExecutor(node) as papi_exec:
             details = papi_exec.add(cmd, **args).get_details(err_msg)
 
         for if_dump in details:
-            if_dump['interface_name'] = if_dump['interface_name'].rstrip('\x00')
-            if_dump['tag'] = if_dump['tag'].rstrip('\x00')
-            if_dump['l2_address'] = L2Util.bin_to_mac(if_dump['l2_address'])
+            if_dump['l2_address'] = str(if_dump['l2_address'])
+            if_dump['b_dmac'] = str(if_dump['b_dmac'])
+            if_dump['b_smac'] = str(if_dump['b_smac'])
+            if_dump['flags'] = if_dump['flags'].value
+            if_dump['type'] = if_dump['type'].value
+            if_dump['link_duplex'] = if_dump['link_duplex'].value
+            if_dump['sub_if_flags'] = if_dump['sub_if_flags'].value \
+                if hasattr(if_dump['sub_if_flags'], 'value') \
+                else int(if_dump['sub_if_flags'])
         # TODO: return only base data
         logger.trace('Interface data of host {host}:\n{details}'.format(
             host=node['host'], details=details))
@@ -220,7 +233,8 @@ class VPPUtil(object):
         cmds = [
             "trace add dpdk-input 50",
             "trace add vhost-user-input 50",
-            "trace add memif-input 50"
+            "trace add memif-input 50",
+            "trace add avf-input 50"
         ]
 
         for cmd in cmds:
@@ -304,8 +318,9 @@ class VPPUtil(object):
         :returns: VPP thread data.
         :rtype: list
         """
+        cmd = 'show_threads'
         with PapiSocketExecutor(node) as papi_exec:
-            reply = papi_exec.add('show_threads').get_reply()
+            reply = papi_exec.add(cmd).get_reply()
 
         threads_data = list()
         for thread in reply["thread_data"]: