table of contents
rte_bbdev_op_data(3) | DPDK | rte_bbdev_op_data(3) |
NAME¶
rte_bbdev_op_data
SYNOPSIS¶
#include <rte_bbdev_op.h>
Data Fields¶
struct rte_mbuf * data
uint32_t offset
uint32_t length
Detailed Description¶
Data input and output buffer for BBDEV operations
Definition at line 274 of file rte_bbdev_op.h.
Field Documentation¶
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:
- RTE_BBDEV_(TURBO/LDPC)_ENC_SCATTER_GATHER and
- RTE_BBDEV_(TURBO/LDPC)_DEC_SCATTER_GATHER. Only if a BBDEV PMD supports this feature, chained mbuf data structures are accepted. A chained mbuf can represent one non-contiguous CB or multiple non-contiguous CBs. If BBDEV PMD does not support this feature, it will assume inbound mbuf data contains one segment.
The output mbuf data though is always one segment, even if the input was a chained mbuf.
Definition at line 304 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 312 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 325 of file rte_bbdev_op.h.
Author¶
Generated automatically by Doxygen for DPDK from the source code.
Fri Dec 15 2023 | Version 23.11.0 |