def METHOD_NAME(self, pv: pktverify.packet_verifier.PacketVerifier):
    pkts = pv.pkts
    vars = pv.vars
    pv.summary.show()
    logging.info(f'vars = {vars}')
    # Ensure the topology is formed correctly
    pv.verify_attached('Router_2', 'Router_1')
    pv.verify_attached('Router_3', 'Router_1')
    # 1. Router_1 pings Router_2.
    _pkt = pkts.filter_wpan_src64(vars['Router_1']) \
        .filter_ipv6_2dsts(vars['Router_2_RLOC'], vars['Router_2_LLA']) \
        .filter_ping_request() \
        .must_next()
    pkts.filter_wpan_src64(vars['Router_2']) \
        .filter_ipv6_dst(_pkt.ipv6.src) \
        .filter_ping_reply(identifier=_pkt.icmpv6.echo.identifier) \
        .must_next()
    # 2. Router_1 pings Router_2 multiple times.
    for i in range(5):
        _pkt = pkts.filter_wpan_src64(vars['Router_1']) \
            .filter_ipv6_2dsts(vars['Router_2_RLOC'], vars['Router_2_LLA']) \
            .filter_ping_request() \
            .must_next()
        pkts.filter_wpan_src64(vars['Router_2']) \
            .filter_ipv6_dst(_pkt.ipv6.src) \
            .filter_ping_reply(identifier=_pkt.icmpv6.echo.identifier) \
            .must_next()
    # 3. Router_2 pings Router_1 from the link-local address to the
    # link-local address.
    _pkt = pkts.filter_wpan_src64(vars['Router_2']) \
        .filter_ipv6_src_dst(vars['Router_2_LLA'], vars['Router_1_LLA']) \
        .filter_ping_request() \
        .must_next()
    pkts.filter_wpan_src64(vars['Router_1']) \
        .filter_ipv6_dst(_pkt.ipv6.src) \
        .filter_ping_reply(identifier=_pkt.icmpv6.echo.identifier) \
        .must_next()
    # 4. Router_2 pings Router_3 using the RLOC.
    _pkt = pkts.filter_wpan_src64(vars['Router_2']) \
        .filter_ipv6_dst(vars['Router_3_RLOC']) \
        .filter_ping_request() \
        .must_next()
    pkts.filter_wpan_src64(vars['Router_3']) \
        .filter_ipv6_dst(_pkt.ipv6.src) \
        .filter_ping_reply(identifier=_pkt.icmpv6.echo.identifier) \
        .must_next()
    # 5. Router_2 pings Router_3's link-local address. The ping should fail.
    _pkt = pkts.filter_wpan_src64(vars['Router_2']) \
        .filter_ipv6_dst(vars['Router_3_LLA']) \
        .filter_ping_request() \
        .must_next()
    pkts.filter_wpan_src64(vars['Router_3']) \
        .filter_ipv6_dst(_pkt.ipv6.src) \
        .filter_ping_reply(identifier=_pkt.icmpv6.echo.identifier) \
        .must_not_next()
    # 5. Router_2 pings Router_3's RLOC from the link-local address. The
    # ping should fail.
    _pkt = pkts.filter_wpan_src64(vars['Router_2']) \
        .filter_ipv6_src_dst(vars['Router_2_LLA'], vars['Router_3_RLOC']) \
        .filter_ping_request() \
        .must_next()