X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_papi_provider.py;h=3268042449b8e9679c9bb74e863a4ce94a9a9d39;hb=770e89e6b916319eedd91c6edf16f0d7e89f556c;hp=39efa9e4c0e736bdd82dd911f74f1ca689ba73e5;hpb=a57a970952be2c3403c57dd7a16cd3d73660ef79;p=vpp.git diff --git a/test/vpp_papi_provider.py b/test/vpp_papi_provider.py index 39efa9e4c0e..3268042449b 100644 --- a/test/vpp_papi_provider.py +++ b/test/vpp_papi_provider.py @@ -1,4 +1,5 @@ import os +import socket import fnmatch import time from hook import Hook @@ -87,6 +88,12 @@ class VppPapiProvider(object): def wait_for_event(self, timeout, name=None): """ Wait for and return next event. """ + if name: + self.test_class.logger.debug("Expecting event within %ss", + timeout) + else: + self.test_class.logger.debug("Expecting event '%s' within %ss", + name, timeout) if self._events: self.test_class.logger.debug("Not waiting, event already queued") limit = time.time() + timeout @@ -101,8 +108,6 @@ class VppPapiProvider(object): (name, e)) return e time.sleep(0) # yield - if name is not None: - raise Exception("Event %s did not occur within timeout" % name) raise Exception("Event did not occur within timeout") def __call__(self, name, event): @@ -247,9 +252,10 @@ class VppPapiProvider(object): {'sw_if_index': sw_if_index, 'enable': is_enable}) - def sw_interface_ra_suppress(self, sw_if_index): + def sw_interface_ra_suppress(self, sw_if_index, suppress=1): return self.api(self.papi.sw_interface_ip6nd_ra_config, - {'sw_if_index': sw_if_index}) + {'sw_if_index': sw_if_index, + 'suppress': suppress}) def ip6_sw_interface_ra_config(self, sw_if_index, no, @@ -597,6 +603,9 @@ class VppPapiProvider(object): def ip_fib_dump(self): return self.api(self.papi.ip_fib_dump, {}) + def ip6_fib_dump(self): + return self.api(self.papi.ip6_fib_dump, {}) + def ip_neighbor_add_del(self, sw_if_index, mac_address, @@ -717,6 +726,9 @@ class VppPapiProvider(object): 'outer_fib_id': outer_fib_id} ) + def mpls_fib_dump(self): + return self.api(self.papi.mpls_fib_dump, {}) + def mpls_route_add_del( self, label, @@ -1287,3 +1299,140 @@ class VppPapiProvider(object): def mfib_signal_dump(self): return self.api(self.papi.mfib_signal_dump, {}) + + def ip_mfib_dump(self): + return self.api(self.papi.ip_mfib_dump, {}) + + def lisp_enable_disable(self, is_enabled): + return self.api( + self.papi.lisp_enable_disable, + { + 'is_en': is_enabled, + }) + + def lisp_locator_set(self, + ls_name, + is_add=1): + return self.api( + self.papi.lisp_add_del_locator_set, + { + 'is_add': is_add, + 'locator_set_name': ls_name + }) + + def lisp_locator_set_dump(self): + return self.api(self.papi.lisp_locator_set_dump, {}) + + def lisp_locator(self, + ls_name, + sw_if_index, + priority=1, + weight=1, + is_add=1): + return self.api( + self.papi.lisp_add_del_locator, + { + 'is_add': is_add, + 'locator_set_name': ls_name, + 'sw_if_index': sw_if_index, + 'priority': priority, + 'weight': weight + }) + + def lisp_locator_dump(self, is_index_set, ls_name=None, ls_index=0): + return self.api( + self.papi.lisp_locator_dump, + { + 'is_index_set': is_index_set, + 'ls_name': ls_name, + 'ls_index': ls_index, + }) + + def lisp_local_mapping(self, + ls_name, + eid_type, + eid, + prefix_len, + vni=0, + key_id=0, + key="", + is_add=1): + return self.api( + self.papi.lisp_add_del_local_eid, + { + 'locator_set_name': ls_name, + 'is_add': is_add, + 'eid_type': eid_type, + 'eid': eid, + 'prefix_len': prefix_len, + 'vni': vni, + 'key_id': key_id, + 'key': key + }) + + def lisp_eid_table_dump(self, + eid_set=0, + prefix_length=0, + vni=0, + eid_type=0, + eid=None, + filter_opt=0): + return self.api( + self.papi.lisp_eid_table_dump, + { + 'eid_set': eid_set, + 'prefix_length': prefix_length, + 'vni': vni, + 'eid_type': eid_type, + 'eid': eid, + 'filter': filter_opt, + }) + + def lisp_remote_mapping(self, + eid_type, + eid, + eid_prefix_len=0, + vni=0, + rlocs=None, + rlocs_num=0, + is_src_dst=0, + is_add=1): + return self.api( + self.papi.lisp_add_del_remote_mapping, + { + 'is_add': is_add, + 'eid_type': eid_type, + 'eid': eid, + 'eid_len': eid_prefix_len, + 'rloc_num': rlocs_num, + 'rlocs': rlocs, + 'vni': vni, + 'is_src_dst': is_src_dst, + }) + + def lisp_adjacency(self, + leid, + reid, + leid_len, + reid_len, + eid_type, + is_add=1, + vni=0): + return self.api( + self.papi.lisp_add_del_adjacency, + { + 'is_add': is_add, + 'vni': vni, + 'eid_type': eid_type, + 'leid': leid, + 'reid': reid, + 'leid_len': leid_len, + 'reid_len': reid_len, + }) + + def lisp_adjacencies_get(self, vni=0): + return self.api( + self.papi.lisp_adjacencies_get, + { + 'vni': vni + })