X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_papi_provider.py;h=15a566c5bc7c9ea4544cf0e20e7e43abe3b741a9;hb=bc27d1be24815e1371dcce3bff2d3075a532acba;hp=0269736cd78a3542302de3581b7d55e52e0c2593;hpb=f2a23cc8602525a325eaeaae6aca5e18882c33da;p=vpp.git diff --git a/test/vpp_papi_provider.py b/test/vpp_papi_provider.py index 0269736cd78..15a566c5bc7 100644 --- a/test/vpp_papi_provider.py +++ b/test/vpp_papi_provider.py @@ -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]}], @@ -3102,3 +3139,53 @@ 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}) + + def gbp_endpoint_add_del(self, is_add, sw_if_index, addr, is_ip6, epg): + """ GBP endpoint Add/Del """ + return self.api(self.papi.gbp_endpoint_add_del, + {'is_add': is_add, + 'endpoint': { + 'is_ip6': is_ip6, + 'sw_if_index': sw_if_index, + 'address': addr, + 'epg_id': epg}}) + + def gbp_endpoint_dump(self): + """ GBP endpoint Dump """ + return self.api(self.papi.gbp_endpoint_dump, {}) + + def gbp_contract_add_del(self, is_add, src_epg, dst_epg, acl_index): + """ GBP contract Add/Del """ + return self.api(self.papi.gbp_contract_add_del, + {'is_add': is_add, + 'contract': { + 'acl_index': acl_index, + 'src_epg': src_epg, + 'dst_epg': dst_epg}}) + + def gbp_contract_dump(self): + """ GBP contract Dump """ + return self.api(self.papi.gbp_contract_dump, {})