X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_papi_provider.py;h=c4b1601eb422bc184fe9f0deabf830277e712dea;hb=abbc04c564b4120a3ee753cdd133a7a151dc5c8e;hp=893ef0d89b94d48f60bff49591311a5a02b4e4d1;hpb=d792d9c01e60656cbfe1b0f1fd6a9b125f5dab0c;p=vpp.git diff --git a/test/vpp_papi_provider.py b/test/vpp_papi_provider.py index 893ef0d89b9..c4b1601eb42 100644 --- a/test/vpp_papi_provider.py +++ b/test/vpp_papi_provider.py @@ -1247,6 +1247,35 @@ class VppPapiProvider(object): 'vrf_id': vrf_id, 'protocol': protocol}) + def nat44_add_del_identity_mapping( + self, + ip='0', + sw_if_index=0xFFFFFFFF, + port=0, + addr_only=1, + vrf_id=0, + protocol=0, + is_add=1): + """Add/delete NAT44 identity mapping + + :param ip: IP address (Default value = 0) + :param sw_if_index: Interface instead of IP address + :param port: Port number (Default value = 0) + :param addr_only: 1 if address only mapping, 0 if address and port + :param vrf_id: VRF ID + :param protocol: IP protocol (Default value = 0) + :param is_add: 1 if add, 0 if delete (Default value = 1) + """ + return self.api( + self.papi.nat44_add_del_identity_mapping, + {'is_add': is_add, + 'addr_only': addr_only, + 'ip_address': ip, + 'port': port, + 'sw_if_index': sw_if_index, + 'vrf_id': vrf_id, + 'protocol': protocol}) + def nat44_add_del_address_range( self, first_ip_address, @@ -1291,6 +1320,12 @@ class VppPapiProvider(object): """ return self.api(self.papi.nat44_static_mapping_dump, {}) + def nat44_identity_mapping_dump(self): + """Dump NAT44 identity mappings + :return: Dictionary of NAT44 identity mappings + """ + return self.api(self.papi.nat44_identity_mapping_dump, {}) + def nat_show_config(self): """Show NAT plugin config :return: NAT plugin config parameters @@ -2021,18 +2056,22 @@ class VppPapiProvider(object): def dhcp_proxy_set_vss(self, table_id, - fib_id, - oui, + vss_type=255, + vpn_ascii_id="", + oui=0, + vpn_index=0, is_add=1, is_ip6=0): return self.api( self.papi.dhcp_proxy_set_vss, { 'tbl_id': table_id, - 'fib_id': fib_id, - 'is_ipv6': is_ip6, - 'is_add': is_add, + 'vss_type': vss_type, + 'vpn_ascii_id': vpn_ascii_id, 'oui': oui, + 'vpn_index': vpn_index, + 'is_add': is_add, + 'is_ipv6': is_ip6, }) def dhcp_client(self, @@ -2662,24 +2701,28 @@ class VppPapiProvider(object): def bier_route_add_del(self, bti, bp, - next_hop, - next_hop_label, - next_hop_table_id, - next_hop_is_ip4=1, + paths, is_add=1): """ BIER Route add/del """ + br_paths = [] + for p in paths: + br_paths.append({'next_hop': p.nh_addr, + 'weight': 1, + 'afi': 0, + 'preference': 0, + 'table_id': p.nh_table_id, + 'next_hop_id': p.next_hop_id, + 'is_udp_encap': p.is_udp_encap, + 'n_labels': len(p.nh_labels), + 'label_stack': p.nh_labels}) return self.api( self.papi.bier_route_add_del, {'br_tbl_id': {"bt_set": bti.set_id, "bt_sub_domain": bti.sub_domain_id, "bt_hdr_len_id": bti.hdr_len_id}, 'br_bp': bp, - 'br_n_paths': 1, - 'br_paths': [{'next_hop': next_hop, - 'afi': 0, - 'n_labels': 1, - 'table_id': next_hop_table_id, - 'label_stack': [next_hop_label]}], + 'br_n_paths': len(br_paths), + 'br_paths': br_paths, 'br_is_add': is_add}) def bier_route_dump(self, bti): @@ -2753,3 +2796,13 @@ class VppPapiProvider(object): return self.api( self.papi.bier_disp_entry_dump, {'bde_tbl_id': bdti}) + + def add_node_next(self, node_name, next_name): + """ Set the next node for a given node request + + :param node_name: + :param next_name: + """ + return self.api(self.papi.add_node_next, + {'node_name': node_name, + 'next_name': next_name})