I am unclear about the purpose of the head
and head_len
members in struct doca_buf
. While the user can control the buffer size with data
and data_len
, it seems that head
and head_len
may be redundant. And I am curious as to why the user only needs to set the source buffer without setting a destination buffer. If head
and head_len
are used to control the range of doca_buf
, and data
and data_len
control the data to be transferred, it is unclear to me why the user would not need to specify a destination buffer. And if I do set the destination buffer, the program might throw an error: “[DOCA] [ERR][DOCA DMA:1442]: CQ received for failed job: status=2, vendor error=104.”