classifier-based ACL: refactor + add output ACL
[vpp.git] / test / vpp_papi_provider.py
index 0269736..242f51c 100644 (file)
@@ -2125,6 +2125,29 @@ class VppPapiProvider(object):
              'l2_table_index': l2_table_index,
              'is_add': is_add})
 
+    def output_acl_set_interface(
+            self,
+            is_add,
+            sw_if_index,
+            ip4_table_index=0xFFFFFFFF,
+            ip6_table_index=0xFFFFFFFF,
+            l2_table_index=0xFFFFFFFF):
+        """
+        :param is_add:
+        :param sw_if_index:
+        :param ip4_table_index:  (Default value = 0xFFFFFFFF)
+        :param ip6_table_index:  (Default value = 0xFFFFFFFF)
+        :param l2_table_index:  (Default value = 0xFFFFFFFF)
+        """
+
+        return self.api(
+            self.papi.output_acl_set_interface,
+            {'sw_if_index': sw_if_index,
+             'ip4_table_index': ip4_table_index,
+             'ip6_table_index': ip6_table_index,
+             'l2_table_index': l2_table_index,
+             'is_add': is_add})
+
     def set_ipfix_exporter(
             self,
             collector_address,
@@ -2886,6 +2909,7 @@ class VppPapiProvider(object):
                                 bdti,
                                 bp,
                                 payload_proto,
+                                next_hop_afi,
                                 next_hop,
                                 next_hop_tbl_id=0,
                                 next_hop_rpf_id=~0,
@@ -2900,7 +2924,7 @@ class VppPapiProvider(object):
              'bde_n_paths': 1,
              'bde_paths': [{'next_hop': next_hop,
                             'table_id': next_hop_tbl_id,
-                            'afi': 0,
+                            'afi': next_hop_afi,
                             'rpf_id': next_hop_rpf_id,
                             'n_labels': 0,
                             'label_stack': [0]}],
@@ -3102,3 +3126,26 @@ class VppPapiProvider(object):
              'ip6_fib_id': ip6_fib_id,
              'namespace_id': namespace_id,
              'namespace_id_len': len(namespace_id)})
+
+    def punt_socket_register(self, l4_port, pathname, header_version=1,
+                             is_ip4=1, l4_protocol=0x11):
+        """ Punt to socket """
+        return self.api(self.papi.punt_socket_register,
+                        {'is_ip4': is_ip4,
+                         'l4_protocol': l4_protocol,
+                         'l4_port': l4_port,
+                         'pathname': pathname,
+                         'header_version': header_version})
+
+    def ip_reassembly_set(self, timeout_ms, max_reassemblies,
+                          expire_walk_interval_ms, is_ip6=0):
+        """ Set IP reassembly parameters """
+        return self.api(self.papi.ip_reassembly_set,
+                        {'is_ip6': is_ip6,
+                         'timeout_ms': timeout_ms,
+                         'expire_walk_interval_ms': expire_walk_interval_ms,
+                         'max_reassemblies': max_reassemblies})
+
+    def ip_reassembly_get(self, is_ip6=0):
+        """ Get IP reassembly parameters """
+        return self.api(self.papi.ip_reassembly_get, {'is_ip6': is_ip6})