diff options
Diffstat (limited to 'test/vpp_papi_provider.py')
-rw-r--r-- | test/vpp_papi_provider.py | 237 |
1 files changed, 132 insertions, 105 deletions
diff --git a/test/vpp_papi_provider.py b/test/vpp_papi_provider.py index 6a6fb45529e..038a3718dde 100644 --- a/test/vpp_papi_provider.py +++ b/test/vpp_papi_provider.py @@ -67,6 +67,7 @@ defaultmapping = { 'ip_neighbor_add_del': {'is_add': 1, }, 'ip_punt_police': {'is_add': 1, }, 'ip_punt_redirect': {'is_add': 1, }, + 'ip_route_add_del': {'is_add': 1, }, 'ip_table_add_del': {'is_add': 1, }, 'ip_unnumbered_dump': {'sw_if_index': 4294967295, }, 'ipsec_interface_add_del_spd': {'is_add': 1, }, @@ -506,6 +507,37 @@ class VppPapiProvider(object): return self.api(self.papi.create_loopback, {'mac_address': mac}) + def ip_table_add_del(self, + table_id, + is_add=1, + is_ipv6=0): + """ + + :param table_id + :param is_add: (Default value = 1) + :param is_ipv6: (Default value = 0) + + """ + + return self.api( + self.papi.ip_table_add_del, + {'table': + { + 'table_id': table_id, + 'is_ip6': is_ipv6 + }, + 'is_add': is_add}) + + def ip_table_dump(self): + return self.api(self.papi.ip_table_dump, {}) + + def ip_route_dump(self, table_id, is_ip6=False): + return self.api(self.papi.ip_route_dump, + {'table': { + 'table_id': table_id, + 'is_ip6': is_ip6 + }}) + def ip_neighbor_add_del(self, sw_if_index, mac_address, @@ -631,6 +663,26 @@ class VppPapiProvider(object): } }) + def udp_encap_del(self, id): + return self.api(self.papi.udp_encap_del, {'id': id}) + + def udp_encap_dump(self): + return self.api(self.papi.udp_encap_dump, {}) + + def want_udp_encap_stats(self, enable=1): + return self.api(self.papi.want_udp_encap_stats, + {'enable': enable, + 'pid': os.getpid()}) + + def mpls_route_dump(self, table_id): + return self.api(self.papi.mpls_route_dump, + {'table': { + 'mt_table_id': table_id + }}) + + def mpls_table_dump(self): + return self.api(self.papi.mpls_table_dump, {}) + def mpls_table_add_del( self, table_id, @@ -644,17 +696,43 @@ class VppPapiProvider(object): return self.api( self.papi.mpls_table_add_del, - {'mt_table_id': table_id, + {'mt_table': + { + 'mt_table_id': table_id, + }, 'mt_is_add': is_add}) + def mpls_route_add_del(self, + table_id, + label, + eos, + eos_proto, + is_multicast, + paths, + is_add, + is_multipath): + """ MPLS Route add/del """ + return self.api( + self.papi.mpls_route_add_del, + {'mr_route': + { + 'mr_table_id': table_id, + 'mr_label': label, + 'mr_eos': eos, + 'mr_eos_proto': eos_proto, + 'mr_is_multicast': is_multicast, + 'mr_n_paths': len(paths), + 'mr_paths': paths, + }, + 'mr_is_add': is_add, + 'mr_is_multipath': is_multipath}) + def mpls_ip_bind_unbind( self, label, - dst_address, - dst_address_length, + prefix, table_id=0, ip_table_id=0, - is_ip4=1, is_bind=1): """ """ @@ -664,60 +742,28 @@ class VppPapiProvider(object): 'mb_label': label, 'mb_ip_table_id': ip_table_id, 'mb_is_bind': is_bind, - 'mb_is_ip4': is_ip4, - 'mb_address_length': dst_address_length, - 'mb_address': dst_address}) + 'mb_prefix': prefix}) def mpls_tunnel_add_del( self, tun_sw_if_index, - next_hop_proto_is_ip4, - next_hop_address, - next_hop_sw_if_index=0xFFFFFFFF, - next_hop_table_id=0, - next_hop_weight=1, - next_hop_n_out_labels=0, - next_hop_out_label_stack=[], - next_hop_via_label=MPLS_LABEL_INVALID, + paths, is_add=1, l2_only=0, is_multicast=0): """ - - :param dst_address_length: - :param next_hop_sw_if_index: (Default value = 0xFFFFFFFF) - :param dst_address: - :param next_hop_address: - :param next_hop_sw_if_index: (Default value = 0xFFFFFFFF) - :param vrf_id: (Default value = 0) - :param lookup_in_vrf: (Default value = 0) - :param classify_table_index: (Default value = 0xFFFFFFFF) - :param is_add: (Default value = 1) - :param is_drop: (Default value = 0) - :param is_ipv6: (Default value = 0) - :param is_local: (Default value = 0) - :param is_classify: (Default value = 0) - :param is_multipath: (Default value = 0) - :param is_resolve_host: (Default value = 0) - :param is_resolve_attached: (Default value = 0) - :param next_hop_weight: (Default value = 1) - :param is_multicast: (Default value = 0) - """ return self.api( self.papi.mpls_tunnel_add_del, - {'mt_sw_if_index': tun_sw_if_index, - 'mt_is_add': is_add, - 'mt_l2_only': l2_only, - 'mt_is_multicast': is_multicast, - 'mt_next_hop_proto_is_ip4': next_hop_proto_is_ip4, - 'mt_next_hop_weight': next_hop_weight, - 'mt_next_hop': next_hop_address, - 'mt_next_hop_n_out_labels': next_hop_n_out_labels, - 'mt_next_hop_sw_if_index': next_hop_sw_if_index, - 'mt_next_hop_table_id': next_hop_table_id, - 'mt_next_hop_via_label': next_hop_via_label, - 'mt_next_hop_out_label_stack': next_hop_out_label_stack}) + {'mt_is_add': is_add, + 'mt_tunnel': + { + 'mt_sw_if_index': tun_sw_if_index, + 'mt_l2_only': l2_only, + 'mt_is_multicast': is_multicast, + 'mt_n_paths': len(paths), + 'mt_paths': paths, + }}) def bfd_udp_add(self, sw_if_index, desired_min_tx, required_min_rx, detect_mult, local_addr, peer_addr, is_ipv6=0, @@ -1004,39 +1050,40 @@ class VppPapiProvider(object): }) def ip_mroute_add_del(self, - src_address, - grp_address, - grp_address_length, + table_id, + prefix, e_flags, - next_hop_afi, - next_hop_sw_if_index, - next_hop_address, - i_flags, - bier_imp=0, - rpf_id=0, - table_id=0, + rpf_id, + paths, is_add=1, - is_ipv6=0, - is_local=0): + is_multipath=1): """ IP Multicast Route add/del """ return self.api( self.papi.ip_mroute_add_del, - {'next_hop_sw_if_index': next_hop_sw_if_index, - 'entry_flags': e_flags, - 'itf_flags': i_flags, - 'table_id': table_id, - 'rpf_id': rpf_id, - 'is_add': is_add, - 'is_ipv6': is_ipv6, - 'is_local': is_local, - 'bier_imp': bier_imp, - 'next_hop_afi': next_hop_afi, - 'grp_address_length': grp_address_length, - 'grp_address': grp_address, - 'src_address': src_address, - 'nh_address': next_hop_address}) + { + 'is_add': is_add, + 'is_multipath': is_multipath, + 'route': { + 'table_id': table_id, + 'entry_flags': e_flags, + 'rpf_id': rpf_id, + 'prefix': prefix, + 'n_paths': len(paths), + 'paths': paths, + } + }) + + def mfib_signal_dump(self): + return self.api(self.papi.mfib_signal_dump, {}) + + def ip_mroute_dump(self, table_id, is_ip6=False): + return self.api(self.papi.ip_mroute_dump, + {'table': { + 'table_id': table_id, + 'is_ip6': is_ip6 + }}) def lisp_enable_disable(self, is_enabled): return self.api( @@ -1633,14 +1680,18 @@ class VppPapiProvider(object): """ BIER Route add/del """ 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': len(paths), - 'br_paths': paths, - 'br_is_add': is_add, - 'br_is_replace': is_replace}) + { + 'br_route': { + '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': len(paths), + 'br_paths': paths, + }, + 'br_is_add': is_add, + 'br_is_replace': is_replace + }) def bier_route_dump(self, bti): return self.api( @@ -2238,30 +2289,6 @@ class VppPapiProvider(object): return self.api(self.papi.pipe_delete, {'parent_sw_if_index': parent_sw_if_index}) - def memif_create( - self, - role, - mode, - rx_queues=None, - tx_queues=None, - _id=None, - socket_id=None, - secret=None, - ring_size=None, - buffer_size=None, - hw_addr=None): - return self.api(self.papi.memif_create, - {'role': role, - 'mode': mode, - 'rx_queues': rx_queues, - 'tx_queues': tx_queues, - 'id': _id, - 'socket_id': socket_id, - 'secret': secret, - 'ring_size': ring_size, - 'buffer_size': buffer_size, - 'hw_addr': hw_addr}) - def svs_table_add_del(self, af, table_id, is_add=1): return self.api(self.papi.svs_table_add_del, { |