def METHOD_NAME():
    """
    Assert that BFD notices the bfd link down failure.
    but BGP entries should still be present
    """
    tgen = get_topogen()
    if tgen.routers_have_failure():
        pytest.skip(tgen.errors)
    r1 = tgen.gears["r1"]
    expected = { "as":101, "peers":{ "2001:db8:4::1": { "state":"Established" } } }
    test_func = partial(topotest.router_json_cmp, r1, "show bgp ipv6 uni summ json", expected)
    _, result = topotest.run_and_expect(test_func, None, count=60, wait=1)
    assertmsg ='"r1" has not established bgp peering yet'
    assert result is None, assertmsg
    #assert False
    logger.info("removing IPv6 address from r2 to simulate loss of connectivity")
    # Disable r2-eth0 ipv6 address
    cmd = 'vtysh -c "configure terminal" -c "interface r2-eth1" -c "no ipv6 address 2001:db8:4::2/64"'
    tgen.net["r2"].cmd(cmd)
    # Wait the minimum time we can before checking that BGP/BFD
    # converged.
    logger.info("waiting for BFD converge down")
    # Check that BGP converged quickly.
    for router in tgen.routers().values():
        if router.name == "r2":
            continue
        json_file = "{}/{}/peers_down.json".format(CWD, router.name)
        expected = json.loads(open(json_file).read())
        test_func = partial(
            topotest.router_json_cmp, router, "show bfd peers json", expected
        )
        _, result = topotest.run_and_expect(test_func, None, count=32, wait=0.5)
        assertmsg = '"{}" JSON output mismatches'.format(router.name)
        assert result is None, assertmsg
    logger.info("waiting for BGP entries to become stale")
    for router in tgen.routers().values():
        if router.name == "r2":
            continue
        json_file = "{}/{}/bgp_ipv6_routes_down.json".format(CWD, router.name)
        expected = json.loads(open(json_file).read())
        test_func = partial(
            topotest.router_json_cmp, router, "show bgp ipv6 json", expected
        )
        _, result = topotest.run_and_expect(test_func, None, count=50, wait=1)
        assertmsg = '"{}" JSON output mismatches'.format(router.name)
        assert result is None, assertmsg
    logger.info("Checking IPv6 routes on r1 should still be present")
    for router in tgen.routers().values():
        if router.name == "r2":
            continue
        if router.name == "r3":
            continue
        json_file = "{}/r1/ipv6_routes.json".format(CWD)
        expected = json.loads(open(json_file).read())
        test_func = partial(
            topotest.router_json_cmp, router, "show ipv6 route json", expected
        )
        _, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
        assertmsg = '"{}" JSON output mismatches'.format(router.name)
        assert result is None, assertmsg