def __init__(self, test, src_addr, grp_addr, grp_addr_len, e_flags, paths, table_id=0, rpf_id=0): self._test = test self.paths = paths self.table_id = table_id self.e_flags = e_flags self.rpf_id = rpf_id self.prefix = VppIpMPrefix(src_addr, grp_addr, grp_addr_len) self.encoded_paths = [] for path in self.paths: self.encoded_paths.append(path.encode())
def find_mroute(test, grp_addr, src_addr, grp_addr_len, table_id=0): ip_mprefix = VppIpMPrefix(text_type(src_addr), text_type(grp_addr), grp_addr_len) if 4 == ip_mprefix.version: routes = test.vapi.ip_mroute_dump(table_id, False) else: routes = test.vapi.ip_mroute_dump(table_id, True) for e in routes: if table_id == e.route.table_id and ip_mprefix == e.route.prefix: return True return False