acl-plugin: add whitelisted ethertype mode (VPP-1163)
[vpp.git] / test / vpp_papi_provider.py
index 087a14b..a10b777 100644 (file)
@@ -362,7 +362,8 @@ class VppPapiProvider(object):
             is_ipv6=0,
             encap_vrf_id=0,
             decap_next_index=0xFFFFFFFF,
-            vni=0):
+            vni=0,
+            instance=0xFFFFFFFF):
         """
 
         :param dst_addr:
@@ -373,6 +374,7 @@ class VppPapiProvider(object):
         :param decap_next_index:  (Default value = 0xFFFFFFFF)
         :param mcast_sw_if_index:  (Default value = 0xFFFFFFFF)
         :param vni:  (Default value = 0)
+        :param instance:  (Default value = 0xFFFFFFFF)
 
         """
         return self.api(self.papi.vxlan_add_del_tunnel,
@@ -383,7 +385,8 @@ class VppPapiProvider(object):
                          'mcast_sw_if_index': mcast_sw_if_index,
                          'encap_vrf_id': encap_vrf_id,
                          'decap_next_index': decap_next_index,
-                         'vni': vni})
+                         'vni': vni,
+                         'instance': instance})
 
     def geneve_add_del_tunnel(
             self,
@@ -2125,6 +2128,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,
@@ -2654,6 +2680,16 @@ class VppPapiProvider(object):
                          'acls': acls},
                         expected_retval=expected_retval)
 
+    def acl_interface_set_etype_whitelist(self, sw_if_index,
+                                          n_input, whitelist,
+                                          expected_retval=0):
+        return self.api(self.papi.acl_interface_set_etype_whitelist,
+                        {'sw_if_index': sw_if_index,
+                         'count': len(whitelist),
+                         'n_input': n_input,
+                         'whitelist': whitelist},
+                        expected_retval=expected_retval)
+
     def acl_interface_add_del(self,
                               sw_if_index,
                               acl_index,
@@ -2886,6 +2922,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 +2937,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]}],