4.4 Peer Transmits 1 MiB of Data Via Upper Layer

The following shows the steps taken to transmit a large amount of data (1 MiB).

  1. The upper layer performs the transfer via RDMA. The buffer containing the data to be written is registered, obtaining the following single-element Buffer Descriptor V1. The buffer descriptor will be embedded in the upper-layer Write request.

    • The Buffer Descriptor V1 fields are set to the following:

      • Offset: 0x00000000ABCDE012

      • Length: 0x00100000 (1 MiB)

      • Token: 0x1A00BC56

  2. The peer sends a Data Transfer message that contains an upper layer Write request, which includes the Buffer Descriptor V1 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)

      • CreditsGranted: 0x0001 (1)

      • Flags: 0x0000

      • Reserved: 0x0000

      • 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)

  3. The message is recognized by the upper layer as a Write request via RDMA, and the supplied buffer descriptor is used to RDMA Read the data from the peer into a local buffer.

  4. The RDMA device performs an RDMA Read operation.

  5. The write processing is completed, and the upper layer later replies to the peer.

  6. The peer deregisters the buffer and completes the operation.