def METHOD_NAME(self, pv):
    pkts = pv.pkts
    pv.summary.show()
    LEADER = pv.vars['LEADER']
    ROUTER = pv.vars['ROUTER']
    ROUTER_RLOC = pv.vars['ROUTER_RLOC']
    MED = pv.vars['MED']
    MM = pv.vars['MM_PORT']
    # Step 1: Build the topology as described
    pv.verify_attached('ROUTER', 'LEADER')
    pv.verify_attached('MED', 'ROUTER', 'MTD')
    # Step 2: MED sends an ICMPv6 Echo Request to a nonexistent mesh-local
    #         address X
    #         The DUT MUST generate an Address Query Request on MED’s behalf
    #         The Address Query Request MUST be sent to the Realm-Local
    #         All-Routers address (FF03::2)
    #             CoAP URI-Path
    #                 - NON POST coap://<FF03::2>
    #             CoAP Payload
    #                 - Target EID TLV – non-existent mesh-local
    #         An Address Query Notification MUST NOT be received within
    #         AQ_TIMEOUT interval.
    _pkt = pkts.filter_ping_request().\
        filter_wpan_src64(MED).\
        filter_ipv6_dst(Ipv6Addr(X)).\
        must_next()
    step2_start = pkts.index
    pkts.filter_wpan_src64(ROUTER).\
        filter_RLARMA().\
        filter_coap_request(ADDR_QRY_URI, port=MM).\
        filter(lambda p: p.thread_address.tlv.target_eid == Ipv6Addr(X)).\
        must_next()
    # Step 3: MED sends an ICMPv6 Echo Request to a nonexistent mesh-local
    #         address X before ADDRESS_QUERY_INITIAL_RETRY_DELAY timeout
    #         expired
    #         The DUT MUST NOT initiate a new Address Query frame
    pkts.filter_ping_request().\
        filter_wpan_src64(MED).\
        filter_ipv6_dst(Ipv6Addr(X)).\
        must_next()
    step2_end = pkts.index
    pkts.range(step2_start, step2_end).filter_ipv6_dst(ROUTER_RLOC).\
        filter_coap_request(ADDR_NTF_URI, port=MM).\
        must_not_next()
    # Step 4: MED sends an ICMPv6 Echo Request to a nonexistent mesh-local
    #         address X after ADDRESS_QUERY_INITIAL_RETRY_DELAY timeout
    #         expired
    #         The DUT MUST generate an Address Query Request on MED’s behalf
    #         The Address Query Request MUST be sent to the Realm-Local
    #         All-Routers address (FF03::2)
    #             CoAP URI-Path
    #                 - NON POST coap://<FF03::2>
    #             CoAP Payload
    #                 - Target EID TLV – non-existent mesh-local
    pkts.filter_ping_request().\
        filter_wpan_src64(MED).\
        filter_ipv6_dst(Ipv6Addr(X)).\
        must_next()
    step3_end = pkts.index
    pkts.range(step2_end, step3_end).filter_wpan_src64(ROUTER).\
        filter_RLARMA().\
        filter_coap_request(ADDR_QRY_URI, port=MM).\
        must_not_next()
    pkts.filter_wpan_src64(ROUTER).\
        filter_RLARMA().\
        filter_coap_request(ADDR_QRY_URI, port=MM).\
        filter(lambda p: p.thread_address.tlv.target_eid == Ipv6Addr(X)).\
        must_next()