4.5 Peer Receives 1 MiB of Data Via Upper Layer
The following shows the steps taken to request a large amount of data (1 MiB).
The upper layer performs the transfer via RDMA. The buffer containing the data to be read is registered, and the following single-element SMB Buffer Descriptor V1 is obtained. The buffer descriptor will be embedded in the upper-layer read request.
The Buffer Descriptor V1 fields are set to the following:
Length: 0x00100000 (1 MiB)
The peer sends a Data Transfer message that contains an upper-layer Read request, which includes the Buffer Descriptor describing the 1 MiB buffer. The upper-layer message totals 500 bytes.
The Data Transfer message fields are set to the following:
CreditsRequested: 0x000A (10)
RemainingDataLength: 0x000000 (nonfragmented message)
DataOffset: 0x00000018 (24)
DataLength: 0x000001F4 (500 = size of the data payload)
Padding: 0x00000000 (4 bytes of 0x00)
Buffer: (Upper-layer message)
The message is recognized by the upper layer as a Read request via RDMA, and the 1MiB of data is prepared.
The supplied Buffer Descriptor V1 is used by an RDMA Write request to write the data to the peer from a local buffer.
(the RDMA device performs an RDMA Write operation)
The read processing is completed, and the reply is sent.
The peer deregisters the buffer and completes the operation.