VPP-1507: Added binary api to dump configured ip_punt_redirect
[vpp.git] / test / vpp_papi_provider.py
index eecf6e2..662732f 100644 (file)
@@ -3,7 +3,7 @@ import os
 import time
 from collections import deque
 
-import six
+from six import moves
 
 from hook import Hook
 
@@ -80,7 +80,7 @@ class VppPapiProvider(object):
         self._expect_stack = []
         jsonfiles = []
 
-        install_dir = os.getenv('VPP_TEST_INSTALL_PATH')
+        install_dir = os.getenv('VPP_INSTALL_PATH')
         for root, dirnames, filenames in os.walk(install_dir):
             for filename in fnmatch.filter(filenames, '*.api.json'):
                 jsonfiles.append(os.path.join(root, filename))
@@ -187,14 +187,14 @@ class VppPapiProvider(object):
             if hasattr(reply, 'retval') and reply.retval >= 0:
                 msg = "API call passed unexpectedly: expected negative "\
                     "return value instead of %d in %s" % \
-                    (reply.retval, six.reprlib(reply))
+                    (reply.retval, moves.reprlib.repr(reply))
                 self.test_class.logger.info(msg)
                 raise UnexpectedApiReturnValueError(msg)
         elif self._expect_api_retval == self._zero:
             if hasattr(reply, 'retval') and reply.retval != expected_retval:
                 msg = "API call failed, expected %d return value instead "\
                     "of %d in %s" % (expected_retval, reply.retval,
-                                     six.reprlib(reply))
+                                     moves.reprlib.repr(reply))
                 self.test_class.logger.info(msg)
                 raise UnexpectedApiReturnValueError(msg)
         else:
@@ -3168,15 +3168,18 @@ class VppPapiProvider(object):
     def ip_punt_redirect(self,
                          rx_sw_if_index,
                          tx_sw_if_index,
-                         nh,
-                         is_ip6=0,
+                         address,
                          is_add=1):
         return self.api(self.papi.ip_punt_redirect,
-                        {'rx_sw_if_index': rx_sw_if_index,
-                         'tx_sw_if_index': tx_sw_if_index,
-                         'nh': nh,
-                         'is_add': is_add,
-                         'is_ip6': is_ip6})
+                        {'punt': {'rx_sw_if_index': rx_sw_if_index,
+                                  'tx_sw_if_index': tx_sw_if_index,
+                                  'nh': address},
+                         'is_add': is_add})
+
+    def ip_punt_redirect_dump(self, sw_if_index, is_ipv6=0):
+        return self.api(self.papi.ip_punt_redirect_dump,
+                        {'sw_if_index': sw_if_index,
+                         'is_ipv6': is_ipv6})
 
     def bier_table_add_del(self,
                            bti,