CDI SDK
SDK for transporting chunks of data reliably and with low latency using a polled mode network driver.
Loading...
Searching...
No Matches
RX Payload Formats

Table of Contents

RX Payload Formats

To allow optimal performance and application flexibility, there are two methods that define how payload data is formatted in the receiver and presented to the application via the CdiRawRxCallback() and CdiAvmRxCallback() user defined callback functions. They are described below.

The first method is the Scatter-Gather List (SGL) Format. In this mode, as network packets arrive in NIC RX buffers, the SDK generates a SGL of payload data addresses and sizes. Once the entire payload has been received, the SGL is presented to the application. This allows the application to receive the payload with zero memory copying.

The other method is the Linear Storage (LS) Format. In this mode, as network packets arrive, payload data is copied from NIC RX buffers to a linear buffer. Depending on system capabilities, this operation may use DMA hardware assistance. Once the entire payload has been received, the payload is presented to the application in the form of a Scatter-Gather List (SGL) with a single entry pointing to the linear buffer. As part of creating an RX connection the application defines which method to use.

The diagram shown below describes the available payload formats presented to the receiver when a payload is received.