Use IP and MAC API types for neighbors
[vpp.git] / test / vpp_papi_provider.py
index e5902c2..efe1454 100644 (file)
@@ -338,9 +338,9 @@ class VppPapiProvider(object):
                          'reverse': reverse,
                          'is_ipv6': is_ip6})
 
-    def ip6_nd_proxy(self, address, sw_if_index, is_del=0):
+    def ip6_nd_proxy(self, ip, sw_if_index, is_del=0):
         return self.api(self.papi.ip6nd_proxy_add_del,
-                        {'address': address,
+                        {'ip': ip,
                          'sw_if_index': sw_if_index,
                          'is_del': is_del})
 
@@ -368,8 +368,10 @@ class VppPapiProvider(object):
                                    pref_lifetime=0xffffffff):
         return self.api(self.papi.sw_interface_ip6nd_ra_prefix,
                         {'sw_if_index': sw_if_index,
-                         'address': address,
-                         'address_length': address_length,
+                         'prefix': {
+                             'address': address,
+                             'address_length': address_length,
+                         },
                          'use_default': use_default,
                          'no_advertise': no_advertise,
                          'off_link': off_link,
@@ -491,16 +493,16 @@ class VppPapiProvider(object):
         return self.api(self.papi.bd_ip_mac_dump,
                         {'bd_id': bd_id})
 
-    def want_ip4_arp_events(self, enable_disable=1, address=0):
+    def want_ip4_arp_events(self, enable_disable=1, ip="0.0.0.0"):
         return self.api(self.papi.want_ip4_arp_events,
                         {'enable_disable': enable_disable,
-                         'address': address,
+                         'ip': ip,
                          'pid': os.getpid(), })
 
-    def want_ip6_nd_events(self, enable_disable=1, address=0):
+    def want_ip6_nd_events(self, enable_disable=1, ip="::"):
         return self.api(self.papi.want_ip6_nd_events,
                         {'enable_disable': enable_disable,
-                         'address': address,
+                         'ip': ip,
                          'pid': os.getpid(), })
 
     def want_ip6_ra_events(self, enable_disable=1):
@@ -1006,32 +1008,28 @@ class VppPapiProvider(object):
     def ip_neighbor_add_del(self,
                             sw_if_index,
                             mac_address,
-                            dst_address,
+                            ip_address,
                             is_add=1,
-                            is_ipv6=0,
-                            is_static=0,
-                            is_no_adj_fib=0,
-                            ):
+                            flags=0):
         """ Add neighbor MAC to IPv4 or IPv6 address.
 
         :param sw_if_index:
         :param mac_address:
         :param dst_address:
         :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)
+        :param flags:  (Default value = 0/NONE)
         """
         return self.api(
             self.papi.ip_neighbor_add_del,
-            {'sw_if_index': sw_if_index,
-             '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
-             }
+            {
+                'is_add': is_add,
+                'neighbor': {
+                    'sw_if_index': sw_if_index,
+                    'flags': flags,
+                    'mac_address': mac_address,
+                    'ip_address': ip_address
+                }
+            }
         )
 
     def ip_neighbor_dump(self,
@@ -1051,9 +1049,9 @@ class VppPapiProvider(object):
         )
 
     def proxy_arp_add_del(self,
-                          low_address,
-                          hi_address,
-                          vrf_id=0,
+                          low,
+                          hi,
+                          table_id=0,
                           is_add=1):
         """ Config Proxy Arp Range.
 
@@ -1066,9 +1064,9 @@ class VppPapiProvider(object):
             self.papi.proxy_arp_add_del,
             {'proxy':
              {
-                 'vrf_id': vrf_id,
-                 'low_address': low_address,
-                 'hi_address': hi_address,
+                 'table_id': table_id,
+                 'low': low,
+                 'hi': hi,
              },
              'is_add': is_add})
 
@@ -3347,6 +3345,9 @@ class VppPapiProvider(object):
             self.papi.ipsec_spd_add_del, {
                 'spd_id': spd_id, 'is_add': is_add})
 
+    def ipsec_spds_dump(self):
+        return self.api(self.papi.ipsec_spds_dump, {})
+
     def ipsec_interface_add_del_spd(self, spd_id, sw_if_index, is_add=1):
         """ IPSEC interface SPD add/del - \
              Wrapper to associate/disassociate SPD to interface in VPP
@@ -3363,6 +3364,11 @@ class VppPapiProvider(object):
             self.papi.ipsec_interface_add_del_spd,
             {'spd_id': spd_id, 'sw_if_index': sw_if_index, 'is_add': is_add})
 
+    def ipsec_spd_interface_dump(self, spd_index=None):
+        return self.api(self.papi.ipsec_spd_interface_dump,
+                        {'spd_index': spd_index if spd_index else 0,
+                         'spd_index_valid': 1 if spd_index else 0})
+
     def ipsec_sad_add_del_entry(self,
                                 sad_id,
                                 spi,
@@ -3415,6 +3421,10 @@ class VppPapiProvider(object):
              'use_extended_sequence_number': use_extended_sequence_number,
              'use_anti_replay': use_anti_replay})
 
+    def ipsec_sa_dump(self, sa_id=None):
+        return self.api(self.papi.ipsec_sa_dump,
+                        {'sa_id': sa_id if sa_id else 0xffffffff})
+
     def ipsec_spd_add_del_entry(self,
                                 spd_id,
                                 sa_id,
@@ -3473,6 +3483,11 @@ class VppPapiProvider(object):
              'is_ipv6': is_ipv6,
              'is_ip_any': is_ip_any})
 
+    def ipsec_spd_dump(self, spd_id, sa_id=0xffffffff):
+        return self.api(self.papi.ipsec_spd_dump,
+                        {'spd_id': spd_id,
+                         'sa_id': sa_id})
+
     def ipsec_tunnel_if_add_del(self, local_ip, remote_ip, local_spi,
                                 remote_spi, crypto_alg, local_crypto_key,
                                 remote_crypto_key, integ_alg, local_integ_key,