DPDK 21.11.9
|
#include <rte_bbdev_op.h>
Data Fields | |
struct rte_mbuf * | data |
uint32_t | offset |
uint32_t | length |
Data input and output buffer for BBDEV operations
Definition at line 223 of file rte_bbdev_op.h.
struct rte_mbuf* data |
The mbuf data structure representing the data for BBDEV operation.
This mbuf pointer can point to one Code Block (CB) data buffer or multiple CBs contiguously located next to each other. A Transport Block (TB) represents a whole piece of data that is divided into one or more CBs. Maximum number of CBs can be contained in one TB is defined by RTE_BBDEV_(TURBO/LDPC)_MAX_CODE_BLOCKS.
An mbuf data structure cannot represent more than one TB. The smallest piece of data that can be contained in one mbuf is one CB. An mbuf can include one contiguous CB, subset of contiguous CBs that are belonging to one TB, or all contiguous CBs that are belonging to one TB.
If a BBDEV PMD supports the extended capability "Scatter-Gather", then it is capable of collecting (gathering) non-contiguous (scattered) data from multiple locations in the memory. This capability is reported by the capability flags:
The output mbuf data though is always one segment, even if the input was a chained mbuf.
Definition at line 253 of file rte_bbdev_op.h.
uint32_t offset |
The starting point of the BBDEV (encode/decode) operation, in bytes.
BBDEV starts to read data past this offset. In case of chained mbuf, this offset applies only to the first mbuf segment.
Definition at line 261 of file rte_bbdev_op.h.
uint32_t length |
The total data length to be processed in one operation, in bytes.
In case the mbuf data is representing one CB, this is the length of the CB undergoing the operation. If it's for multiple CBs, this is the total length of those CBs undergoing the operation. If it is for one TB, this is the total length of the TB under operation.
In case of chained mbuf, this data length includes the lengths of the "scattered" data segments undergoing the operation.
Definition at line 274 of file rte_bbdev_op.h.