def METHOD_NAME(tbinfo, duthosts, rand_one_dut_hostname):
    duthost = duthosts[rand_one_dut_hostname]
    logger.info("Starting test_bgp_multipath_relax on topology {}".format(tbinfo['topo']['name']))
    topo_config = tbinfo['topo']['properties']['configuration']
    bgp_v4nei = get_bgp_v4_neighbors_from_minigraph(duthost, tbinfo)
    logger.info("bgp_v4nei {}".format(bgp_v4nei))
    # get all t0 routers name which has vips defined
    dut_t0_neigh = get_t0_neigh(tbinfo, topo_config)
    # get t2 neighbors
    dut_t2_neigh = get_t2_neigh(tbinfo)
    if not dut_t0_neigh:
        pytest.fail("Didn't find multipath t0's")
    vips_prefix = get_vips_prefix(dut_t0_neigh, topo_config)
    logger.info("vips_prefix = {}, DUT T2 neighbor = {}".format(
        vips_prefix, dut_t2_neigh
    ))
    # find all paths of the prefix for test
    vips_t0, vips_asn = get_vips_prefix_paths(dut_t0_neigh, vips_prefix, topo_config)
    logger.info("vips_t0: {}, vips_asn: {}".format(vips_t0, vips_asn))
    pytest_assert((len(vips_t0) > 1), "Did not find preconfigured multipath for the vips prefix under test")
    # Get the route from the DUT for the prefix
    bgp_route = duthost.get_bgp_route(
        prefix=vips_prefix
    )['ansible_facts']['bgp_route']
    logger.info("Bgp route from DUT for prefix {} is {}".format(vips_prefix, bgp_route))
    # Verify found vips prefix entry in Sonic bgp routes
    pytest_assert(bgp_route[vips_prefix]['found'] is True, "BGP route for {} not found".format(vips_prefix))
    # Verify total multipath match number of t0 with vips that has prefix for test
    pytest_assert(int(bgp_route[vips_prefix]['path_num']) == len(vips_t0), "Path number doesnt match the T0s with VIPS")
    # verify vips asn in each path of installed BGP vips prefix
    for asn in vips_asn:
        for aspath in bgp_route[vips_prefix]['aspath']:
            pytest_assert((str(asn) in aspath))
    # gather one t2 neighbor advertised routes to validate routes advertised to t2 are correct with relaxed multipath
    bgp_route_neiadv = duthost.get_bgp_route(
        neighbor=bgp_v4nei[dut_t2_neigh[0]], direction="adv"
    )['ansible_facts']['bgp_route_neiadv']
    logger.info("Bgp neighbor adv from DUT for neigh {} and prefix {} is {}".
                format(bgp_v4nei[dut_t2_neigh[0]],
                       vips_prefix,
                       bgp_route_neiadv[vips_prefix]))
    # Verify vips prefix in advertised routes to t2 neighbor
    pytest_assert(vips_prefix in bgp_route_neiadv, "{} is not present in bgp neighbor adv".format(vips_prefix))
    # vips prefix path has only 2 hops
    pytest_assert((len(bgp_route_neiadv[vips_prefix]['aspath']) == 2), "vips prefix path doesn't have 2 hops")
    pytest_assert((int(bgp_route_neiadv[vips_prefix]['aspath'][0]) in vips_t0 and
                   int(bgp_route_neiadv[vips_prefix]['aspath'][1]) in vips_asn),
                  "vips_prefix asn doesnt match with bgp route adv")