X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_papi_provider.py;h=24483fe82b8f662fcf4cb4a23c3ed2a3ba0d2b1a;hb=d042194b4bb0512a81924068013ed4e48f021a2b;hp=da59bc86ca02ba7a36ce142a834748a458b7eb55;hpb=039cbfe254be998f7311bc4638bb262b44efac19;p=vpp.git diff --git a/test/vpp_papi_provider.py b/test/vpp_papi_provider.py index da59bc86ca0..24483fe82b8 100644 --- a/test/vpp_papi_provider.py +++ b/test/vpp_papi_provider.py @@ -568,7 +568,8 @@ class VppPapiProvider(object): 'enable': enable}) def bridge_flags(self, bd_id, is_set, feature_bitmap): - """Enable/disable required feature of the bridge domain with defined ID. + """Enable/disable required feature of the bridge domain with defined + ID. :param int bd_id: Bridge domain ID. :param int is_set: Set to 1 to enable, set to 0 to disable the feature. @@ -1083,6 +1084,11 @@ class VppPapiProvider(object): 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_fib_dump(self): return self.api(self.papi.mpls_fib_dump, {}) @@ -2760,6 +2766,12 @@ class VppPapiProvider(object): {'acl_index': acl_index}, expected_retval=expected_retval) + def acl_interface_list_dump(self, sw_if_index=0xFFFFFFFF, + expected_retval=0): + return self.api(self.papi.acl_interface_list_dump, + {'sw_if_index': sw_if_index}, + expected_retval=expected_retval) + def macip_acl_add(self, rules, tag=""): """ Add MACIP acl @@ -3203,6 +3215,15 @@ class VppPapiProvider(object): """ Get IP reassembly parameters """ return self.api(self.papi.ip_reassembly_get, {'is_ip6': is_ip6}) + def ip_reassembly_enable_disable(self, sw_if_index, enable_ip4=False, + enable_ip6=False): + """ Enable/disable IP reassembly """ + return self.api(self.papi.ip_reassembly_enable_disable, + {'sw_if_index': sw_if_index, + 'enable_ip4': 1 if enable_ip4 else 0, + 'enable_ip6': 1 if enable_ip6 else 0, + }) + 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, @@ -3291,3 +3312,114 @@ class VppPapiProvider(object): {'sw_if_index': sw_if_index, 'input_source': input_source, 'enable': enable}) + + def igmp_listen(self, enable, sw_if_index, saddr, gaddr): + """ Listen for new (S,G) on specified interface + + :param enable: add/del + :param sw_if_index: interface sw index + :param saddr: source ip4 addr + :param gaddr: group ip4 addr + """ + return self.api(self.papi.igmp_listen, + {'enable': enable, + 'sw_if_index': sw_if_index, + 'saddr': saddr, + 'gaddr': gaddr}) + + def igmp_dump(self, sw_if_index=None): + """ Dump all (S,G) interface configurations """ + if sw_if_index is None: + dump_all = 1 + sw_if_index = 0 + else: + dump_all = 0 + return self.api(self.papi.igmp_dump, {'sw_if_index': sw_if_index, + 'dump_all': dump_all}) + + def igmp_clear_interface(self, sw_if_index): + """ Remove all (S,G)s from specified interface + doesn't send IGMP report! + """ + return self.api( + self.papi.igmp_clear_interface, { + 'sw_if_index': sw_if_index}) + + def want_igmp_events(self, enable=1): + return self.api(self.papi.want_igmp_events, {'enable': enable, + 'pid': os.getpid()}) + + def bond_create( + self, + mode, + lb, + use_custom_mac, + mac_address=''): + """ + :param mode: mode + :param lb: load balance + :param use_custom_mac: use custom mac + :param mac_address: mac address + """ + return self.api( + self.papi.bond_create, + {'mode': mode, + 'lb': lb, + 'use_custom_mac': use_custom_mac, + 'mac_address': mac_address + }) + + def bond_delete( + self, + sw_if_index): + """ + :param sw_if_index: interface the operation is applied to + """ + return self.api(self.papi.bond_delete, + {'sw_if_index': sw_if_index}) + + def bond_enslave( + self, + sw_if_index, + bond_sw_if_index, + is_passive, + is_long_timeout): + """ + :param sw_if_index: slave sw_if_index + :param bond_sw_if_index: bond sw_if_index + :param is_passive: is passive lacp speaker + :param is_long_time: 90 seconds timeout instead of 3 seconds timeout + """ + return self.api( + self.papi.bond_enslave, + {'sw_if_index': sw_if_index, + 'bond_sw_if_index': bond_sw_if_index, + 'is_passive': is_passive, + 'is_long_timeout': is_long_timeout + }) + + def bond_detach_slave( + self, + sw_if_index): + """ + :param sw_if_index: slave interface the operation is applied to + """ + return self.api(self.papi.bond_detach_slave, + {'sw_if_index': sw_if_index}) + + def sw_interface_slave_dump( + self, + sw_if_index): + """ + :param sw_if_index: bond sw_if_index + """ + return self.api(self.papi.sw_interface_slave_dump, + {'sw_if_index': sw_if_index}) + + def sw_interface_bond_dump( + self): + """ + + """ + return self.api(self.papi.sw_interface_bond_dump, + {})