IMplementation for option to not create a FIB table entry when adding a neighbor...
[vpp.git] / test / vpp_papi_provider.py
index b9c4d0c..2d683dc 100644 (file)
@@ -276,6 +276,12 @@ class VppPapiProvider(object):
                         {'sw_if_index': sw_if_index,
                          'suppress': suppress})
 
+    def ip6_nd_proxy(self, address, sw_if_index, is_del=0):
+        return self.api(self.papi.ip6nd_proxy_add_del,
+                        {'address': address,
+                         'sw_if_index': sw_if_index,
+                         'is_del': is_del})
+
     def ip6_sw_interface_ra_config(self, sw_if_index,
                                    no,
                                    suppress,
@@ -657,6 +663,7 @@ class VppPapiProvider(object):
                             is_add=1,
                             is_ipv6=0,
                             is_static=0,
+                            is_no_adj_fib=0,
                             ):
         """ Add neighbor MAC to IPv4 or IPv6 address.
 
@@ -666,6 +673,7 @@ class VppPapiProvider(object):
         :param is_add:  (Default value = 1)
         :param is_ipv6:  (Default value = 0)
         :param is_static:  (Default value = 0)
+        :param is_no_adj_fib:  (Default value = 0)
         """
 
         return self.api(
@@ -674,6 +682,7 @@ class VppPapiProvider(object):
              'is_add': is_add,
              'is_ipv6': is_ipv6,
              'is_static': is_static,
+             'is_no_adj_fib': is_no_adj_fib,
              'mac_address': mac_address,
              'dst_address': dst_address
              }
@@ -1103,7 +1112,8 @@ class VppPapiProvider(object):
     def snat_user_session_dump(
             self,
             ip_address,
-            vrf_id):
+            vrf_id,
+            is_ip4=1):
         """Dump S-NAT user's sessions
 
         :param ip_address: ip adress of the user to be dumped
@@ -1114,7 +1124,8 @@ class VppPapiProvider(object):
         return self.api(
             self.papi.snat_user_session_dump,
             {'ip_address': ip_address,
-             'vrf_id': vrf_id})
+             'vrf_id': vrf_id,
+             'is_ip4': is_ip4})
 
     def snat_user_dump(self):
         """Dump S-NAT users
@@ -1171,6 +1182,13 @@ class VppPapiProvider(object):
             {'out_addr': out_addr,
              'out_port': out_port})
 
+    def snat_det_map_dump(self):
+        """Dump S-NAT deterministic mappings
+
+        :return: Dictionary of S-NAT deterministic mappings
+        """
+        return self.api(self.papi.snat_det_map_dump, {})
+
     def control_ping(self):
         self.api(self.papi.control_ping)
 
@@ -1609,3 +1627,31 @@ class VppPapiProvider(object):
             {
                 'vni': vni
             })
+
+    def map_add_domain(self,
+                       ip6_prefix,
+                       ip6_prefix_len,
+                       ip6_src,
+                       ip6_src_prefix_len,
+                       ip4_prefix,
+                       ip4_prefix_len,
+                       ea_bits_len=0,
+                       psid_offset=0,
+                       psid_length=0,
+                       is_translation=0,
+                       mtu=1280):
+        return self.api(
+            self.papi.map_add_domain,
+            {
+                'ip6_prefix': ip6_prefix,
+                'ip6_prefix_len': ip6_prefix_len,
+                'ip4_prefix': ip4_prefix,
+                'ip4_prefix_len': ip4_prefix_len,
+                'ip6_src': ip6_src,
+                'ip6_src_prefix_len': ip6_src_prefix_len,
+                'ea_bits_len': ea_bits_len,
+                'psid_offset': psid_offset,
+                'psid_length': psid_length,
+                'is_translation': is_translation,
+                'mtu': mtu
+            })