X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_papi_provider.py;h=105a54f55d9ad5031d3d636d111072959d8e305e;hb=70a26ac05f2ab9d4cc0669599b09f654de580f36;hp=ad887e8c079c2a7aa28e4499cc35a34d008a6c30;hpb=25b049484fcf9161edb2c19250066b893c38c264;p=vpp.git diff --git a/test/vpp_papi_provider.py b/test/vpp_papi_provider.py index ad887e8c079..105a54f55d9 100644 --- a/test/vpp_papi_provider.py +++ b/test/vpp_papi_provider.py @@ -1302,6 +1302,7 @@ class VppPapiProvider(object): vrf_id=0, protocol=0, twice_nat=0, + self_twice_nat=0, out2in_only=0, tag="", is_add=1): @@ -1316,6 +1317,9 @@ class VppPapiProvider(object): :param vrf_id: VRF ID :param protocol: IP protocol (Default value = 0) :param twice_nat: 1 if translate external host address and port + :param self_twice_nat: 1 if translate external host address and port + whenever external host address equals + local address of internal host :param out2in_only: if 1 rule is matching only out2in direction :param tag: Opaque string tag :param is_add: 1 if add, 0 if delete (Default value = 1) @@ -1332,6 +1336,7 @@ class VppPapiProvider(object): 'vrf_id': vrf_id, 'protocol': protocol, 'twice_nat': twice_nat, + 'self_twice_nat': self_twice_nat, 'out2in_only': out2in_only, 'tag': tag}) @@ -1496,6 +1501,7 @@ class VppPapiProvider(object): protocol, vrf_id=0, twice_nat=0, + self_twice_nat=0, out2in_only=0, tag='', local_num=0, @@ -1515,6 +1521,7 @@ class VppPapiProvider(object): 'protocol': protocol, 'vrf_id': vrf_id, 'twice_nat': twice_nat, + 'self_twice_nat': self_twice_nat, 'out2in_only': out2in_only, 'tag': tag, 'local_num': local_num, @@ -1533,7 +1540,9 @@ class VppPapiProvider(object): port, protocol, vrf_id=0, - is_in=1): + is_in=1, + ext_host_address=None, + ext_host_port=0): """Delete NAT44 session :param addr: IPv4 address @@ -1541,14 +1550,28 @@ class VppPapiProvider(object): :param protocol: IP protocol number :param vrf_id: VRF ID :param is_in: 1 if inside network addres and port pari, 0 if outside - """ - return self.api( - self.papi.nat44_del_session, - {'address': addr, - 'port': port, - 'protocol': protocol, - 'vrf_id': vrf_id, - 'is_in': is_in}) + :param ext_host_address: external host IPv4 address + :param ext_host_port: external host port + """ + if ext_host_address is None: + return self.api( + self.papi.nat44_del_session, + {'address': addr, + 'port': port, + 'protocol': protocol, + 'vrf_id': vrf_id, + 'is_in': is_in}) + else: + return self.api( + self.papi.nat44_del_session, + {'address': addr, + 'port': port, + 'protocol': protocol, + 'vrf_id': vrf_id, + 'is_in': is_in, + 'ext_host_valid': 1, + 'ext_host_address': ext_host_address, + 'ext_host_port': ext_host_port}) def nat44_forwarding_enable_disable( self, @@ -2300,6 +2323,7 @@ class VppPapiProvider(object): e_flags, next_hop_afi, next_hop_sw_if_index, + next_hop_address, i_flags, bier_imp=0, rpf_id=0, @@ -2324,7 +2348,8 @@ class VppPapiProvider(object): 'next_hop_afi': next_hop_afi, 'grp_address_length': grp_address_length, 'grp_address': grp_address, - 'src_address': src_address}) + 'src_address': src_address, + 'nh_address': next_hop_address}) def mfib_signal_dump(self): return self.api(self.papi.mfib_signal_dump, {}) @@ -3051,9 +3076,8 @@ class VppPapiProvider(object): :returns: reply from the API """ return self.api( - self.papi.ipsec_interface_add_del_spd, { - 'spd_id': spd_id, - 'sw_if_index': sw_if_index, 'is_add': is_add}) + self.papi.ipsec_interface_add_del_spd, + {'spd_id': spd_id, 'sw_if_index': sw_if_index, 'is_add': is_add}) def ipsec_sad_add_del_entry(self, sad_id, @@ -3068,7 +3092,8 @@ class VppPapiProvider(object): crypto_key_length=0, crypto_key='JPjyOWBeVEQiMe7h', is_add=1, - is_tunnel=1): + is_tunnel=1, + udp_encap=0): """ IPSEC SA add/del Sample CLI : 'ipsec sa add 10 spi 1001 esp \ crypto-key 4a506a794f574265564551694d653768 \ @@ -3121,7 +3146,8 @@ class VppPapiProvider(object): 'crypto_key_length': crypto_key_length, 'crypto_key': crypto_key, 'is_add': is_add, - 'is_tunnel': is_tunnel}) + 'is_tunnel': is_tunnel, + 'udp_encap': udp_encap}) def ipsec_spd_add_del_entry(self, spd_id, @@ -3486,3 +3512,69 @@ class VppPapiProvider(object): """ return self.api(self.papi.sw_interface_bond_dump, {}) + + def create_vhost_user_if( + self, + is_server, + sock_filename, + renumber, + custom_dev_instance, + use_custom_mac, + mac_address, + tag=''): + """ + :param is_server: is server + :param sock_filename: socket name + :param renumber: renumber + :param custom_dev_instance: custom dev instance + :param use_custom_mac: use custom mac + :param mac_address: mac address + :param tag: tag (default '' + """ + return self.api( + self.papi.create_vhost_user_if, + {'is_server': is_server, + 'sock_filename': sock_filename, + 'renumber': renumber, + 'custom_dev_instance': custom_dev_instance, + 'use_custom_mac': use_custom_mac, + 'mac_address': mac_address, + 'tag': tag + }) + + def delete_vhost_user_if( + self, + sw_if_index): + """ + :param sw_if_index: interface the operation is applied to + """ + return self.api(self.papi.delete_vhost_user_if, + {'sw_if_index': sw_if_index, }) + + def sw_interface_vhost_user_dump( + self): + """ + + """ + return self.api(self.papi.sw_interface_vhost_user_dump, + {}) + + def abf_policy_add_del(self, is_add, policy): + return self.api( + self.papi.abf_policy_add_del, + {'is_add': is_add, + 'policy': policy}) + + def abf_itf_attach_add_del(self, is_add, attach): + return self.api( + self.papi.abf_itf_attach_add_del, + {'is_add': is_add, + 'attach': attach}) + + def abf_policy_dump(self): + return self.api( + self.papi.abf_policy_dump, {}) + + def abf_itf_attach_dump(self): + return self.api( + self.papi.abf_itf_attach_dump, {})