3.2.5.4 Receiving a QueryLargeTlvResp Frame
Upon receiving a QueryLargeTlvResp, the mapper MUST first validate it by verifying that the following are true:
The mapper did indeed solicit the response via a QueryLargeTlv frame as tracked by the pended request state.
The Real Source Address field in the Base header of the QueryLargeTlvResp frame matches the MAC address of the destination responder in the QueryLargeTlv request.
The Sequence Number field in the Base header of the QueryLargeTlvResp frame matches that used in the QueryLargeTlv request.
Upon successful validation, the relevant Per-Responder Response timer MUST be stopped. The sequence number for the affected responder MUST be incremented by one using ones-complement arithmetic (that is, it MUST advance from 0xFFFF to 0x0001 and skip 0x0000) for the next request with a nonzero sequence number.
The Pended Request entry for the QueryLargeTlv frame that solicited the QueryLargeTlvResp frame response MUST be cleared.
If the More flag in the QueryLargeTlvResp header is set, the mapper SHOULD follow up with a subsequent QueryLargeTlv request. This action MUST continue until a QueryLargeTlvResp frame is returned without the More flag set or if the responder returns more bytes than the mapper is required to accommodate for the given TLV type.
If a subsequent QueryLargeTlv request is sent, the mapper MUST store the frame as the Pended request in the topology discovery test session and set the Per-Request Response timer to expire in 350 milliseconds. Otherwise, the mapper MUST pass the retrieved data back to the application or higher-layer protocol.