def METHOD_NAME(self):
    router1 = self.nodes[ROUTER_1]
    router2 = self.nodes[ROUTER_2]
    router3 = self.nodes[ROUTER_3]
    router1.start()
    self.simulator.go(config.LEADER_STARTUP_DELAY)
    self.assertEqual('leader', router1.get_state())
    router2.start()
    self.simulator.go(config.ROUTER_STARTUP_DELAY)
    self.assertEqual('router', router2.get_state())
    router3.start()
    self.simulator.go(config.ROUTER_STARTUP_DELAY)
    self.assertEqual('router', router3.get_state())
    # 1. ROUTER_1 pings ROUTER_2.
    self.assertTrue(router1.ping(router2.get_ip6_address(config.ADDRESS_TYPE.RLOC)))
    # 2. ROUTER_1 pings ROUTER_2 multiple times.
    self.assertTrue(router1.ping(router2.get_ip6_address(config.ADDRESS_TYPE.RLOC), count=5))
    # 3. ROUTER_2 pings ROUTER_1 from the link-local address to the
    # link-local address.
    self.assertTrue(
        router2.ping(router1.get_ip6_address(config.ADDRESS_TYPE.LINK_LOCAL),
                     interface=router2.get_ip6_address(config.ADDRESS_TYPE.LINK_LOCAL)))
    # 4. ROUTER_2 pings ROUTER_3 using the RLOC.
    self.assertTrue(router2.ping(router3.get_ip6_address(config.ADDRESS_TYPE.RLOC)))
    # 5. ROUTER_2 pings ROUTER_3's link-local address. The ping should fail.
    self.assertFalse(router2.ping(router3.get_ip6_address(config.ADDRESS_TYPE.LINK_LOCAL)))
    # 6. ROUTER_2 pings ROUTER_3's RLOC from the link-local address. The
    # ping should fail.
    self.assertFalse(
        router2.ping(router3.get_ip6_address(config.ADDRESS_TYPE.RLOC),
                     interface=router2.get_ip6_address(config.ADDRESS_TYPE.LINK_LOCAL)))
    # 7. ROUTER_2 pings ROUTER_3's RLOC from an non-existent address. The
    # ping command should be rejected by CLI.
    self.assertFalse(router2.ping(router3.get_ip6_address(config.ADDRESS_TYPE.RLOC), interface='1::1'))
    self.collect_ipaddrs()
    self.collect_rloc16s()
    self.collect_rlocs()
    self.collect_extra_vars()