def METHOD_NAME(self, pv: pktverify.packet_verifier.PacketVerifier):
    pkts = pv.pkts
    vars = pv.vars
    pv.summary.show()
    # Ensure the topology is formed correctly
    pv.verify_attached('Router_1', 'BR_1')
    pv.verify_attached('BR_2')
    # 1. Router attempts to deregister for multicast address, MA1, at BR_1.
    # Router unicasts an MLR.req CoAP request to BR_1 as follows:
    # coap://[<BR_1 RLOC>]:MM/n/mr
    # Where the payload contains:
    # IPv6 Addresses TLV: MA1
    # Timeout TLV: 0
    pkts.filter_wpan_src64(vars['Router_1']) \
        .filter_ipv6_2dsts(vars['BR_1_RLOC'], PBBR_ALOC) \
        .filter_coap_request('/n/mr') \
        .filter(lambda p: p.thread_meshcop.tlv.ipv6_addr == [MA1] and
                          p.thread_nm.tlv.timeout == 0) \
        .must_next()
    # 2. BR_1 responds to the multicast registration successfully,
    # ignoring the timeout value.
    pkts.filter_wpan_src64(vars['BR_1']) \
        .filter_ipv6_dst(vars['Router_1_RLOC']) \
        .filter_coap_ack('/n/mr') \
        .filter(lambda p: p.thread_nm.tlv.status == 0) \
        .must_next()
    # 3. Host sends a ping packet to the multicast address, MA1.
    _pkt = pkts.filter_eth_src(vars['Host_ETH']) \
        .filter_ipv6_dst(MA1) \
        .filter_ping_request() \
        .must_next()
    # 4. BR_1 forwards the ping packet with multicast address, MA1, to its
    # Thread Network encapsulated in an MPL packet.
    pkts.filter_wpan_src64(vars['BR_1']) \
        .filter_AMPLFMA(mpl_seed_id=vars['BR_1_RLOC']) \
        .filter_ping_request(identifier=_pkt.icmpv6.echo.identifier) \
        .must_next()
    # 5. Router receives the MPL packet containing an encapsulated ping
    # packet to MA1, sent by Host, and unicasts a ping response packet back
    # to Host.
    pkts.filter_wpan_src64(vars['Router_1']) \
        .filter_ipv6_dst(_pkt.ipv6.src) \
        .filter_ping_reply(identifier=_pkt.icmpv6.echo.identifier) \
        .must_next()