rte_bbdev_op_ldpc_dec(3)
β¨ rte_bbdev_op_ldpc_dec β¨
Okay bestie, so this is the manual page for rte_bbdev_op_ldpc_dec(3) β it's giving iconic LDPC decoder operation struct energy, and we're gonna get into every single field, no cap. π
β¨ SYNOPSIS β¨
#include <rte_bbdev_op.h>
πΈ Data Fields πΈ
struct rte_bbdev_op_data inputstruct rte_bbdev_op_data hard_outputstruct rte_bbdev_op_data soft_outputstruct rte_bbdev_op_data harq_combined_inputstruct rte_bbdev_op_data harq_combined_outputuint32_t op_flagsuint8_t rv_indexuint8_t iter_maxuint8_t iter_countuint8_t basegraphuint16_t z_cuint16_t n_cbuint8_t q_muint16_t n_filleruint8_t code_block_modeuint16_t k0
β¨ DESCRIPTION β¨
So this whole struct is the Operation structure for LDPC decode, periodt. π
Here's the vibe: an operation can be performed on one CB at a time, and that's called "CB-mode". An operation can also be performed on one or multiple CBs that logically belong to a TB, and that's "TB-mode" β but heads up, TB-mode is Currently not supported π (we love an honest king).
The input encoded CB data is the Virtual Circular Buffer data stream. And bestie, listen β each byte in the input circular buffer is the LLR value of each bit of the original CB. Literally every byte. π€―
Hard output is a mandatory capability that all BBDEV PMDs support β it's the main character, no cap. This is the decoded CBs (and yes, CRC24A/B is the last 24-bit in each decoded CB, remember that π ).
Soft output is an optional capability for BBDEV PMDs. If it's supported, an LLR rate matched output is computed in the soft_output buffer structure. These are A Posteriori Probabilities (APP) LLR samples for coded bits β say that three times fast, I dare you. π¦
HARQ combined output is an optional capability for BBDEV PMDs. If supported, a LLR output is streamed to the harq_combined_output buffer. Slay. β¨
HARQ combined input is an optional capability for BBDEV PMDs. If supported, a LLR input is streamed from the harq_combined_input buffer. Iconic behavior. π
The output mbuf data structure is expect to be allocated by the application with enough room for the output data β so like, don't come crying to me if you didn't allocate enough space, bestie. π
Definition at line 506 of file rte_bbdev_op.h. (iykyk)
β¨ FIELD DOCUMENTATION β¨
π¦ struct rte_bbdev_op_data input
The Virtual Circular Buffer for this code block β one LLR per bit of the original CB. Literally one LLR for every single bit, we love precision. π
Definition at line 510 of file rte_bbdev_op.h.
π¦ struct rte_bbdev_op_data hard_output
The hard decisions buffer for the decoded output β size K for each CB. Yes, size K, write that down. π
Definition at line 514 of file rte_bbdev_op.h.
π¦ struct rte_bbdev_op_data soft_output
The soft LLR output LLR stream buffer β and it's optional, so like, no pressure bestie. π
Definition at line 516 of file rte_bbdev_op.h.
π¦ struct rte_bbdev_op_data harq_combined_input
The HARQ combined LLR stream input buffer β also optional. We love a flexible icon. π
Definition at line 518 of file rte_bbdev_op.h.
π¦ struct rte_bbdev_op_data harq_combined_output
The HARQ combined LLR stream output buffer β you guessed it, optional. The optionality is giving very "take it or leave it" energy. β¨
Definition at line 520 of file rte_bbdev_op.h.
π¦ uint32_t op_flags
Flags from rte_bbdev_op_ldpcdec_flag_bitmasks β literally just flags, bestie. Go look at the bitmasks if you need the details. π₯
Definition at line 523 of file rte_bbdev_op.h.
π¦ uint8_t rv_index
Rate matching redundancy version β [3GPP TS38.212, section 5.4.2.1]. Not me citing the spec, but also yes me citing the spec. π
Definition at line 528 of file rte_bbdev_op.h.
π¦ uint8_t iter_max
The maximum number of iterations to perform in decoding CB in this operation β this one is input, so you're telling it what to do. Boss energy. π
Definition at line 532 of file rte_bbdev_op.h.
π¦ uint8_t iter_count
The number of iterations that were performed in decoding CB in this decode operation β this one is output, so it's telling you what happened. The tables have turned. π
Definition at line 536 of file rte_bbdev_op.h.
π¦ uint8_t basegraph
1: LDPC Base graph 1, 2: LDPC Base graph 2. [3GPP TS38.212, section 5.2.2]. Pick your fighter. βοΈ
Definition at line 540 of file rte_bbdev_op.h.
π¦ uint16_t z_c
Zc, LDPC lifting size. [3GPP TS38.212, section 5.2.2]. Lifting size sounds like gym stuff but it's literally math. ποΈββοΈ
Definition at line 544 of file rte_bbdev_op.h.
π¦ uint16_t n_cb
Ncb, length of the circular buffer in bits. [3GPP TS38.212, section 5.4.2.1]. Circular buffer length, got it. π―
Definition at line 548 of file rte_bbdev_op.h.
π¦ uint8_t q_m
Qm, modulation order {1,2,4,6,8}. [3GPP TS38.212, section 5.4.2.2]. Those are your only options bestie, don't try anything else. π
Definition at line 552 of file rte_bbdev_op.h.
π¦ uint16_t n_filler
Number of Filler bits, n_filler = K β Kβ [3GPP TS38.212 section 5.2.2]. It's math, but make it fashion. β¨
Definition at line 556 of file rte_bbdev_op.h.
π¦ uint8_t code_block_mode
[0 - TB : 1 - CB] β so 0 means TB and 1 means CB. Short, sweet, to the point. We love efficiency. π
Definition at line 558 of file rte_bbdev_op.h.
π¦ struct rte_bbdev_op_dec_ldpc_cb_params cb_params
Struct which stores Code Block specific parameters β it's giving very organized, very demure. π¦
Definition at line 561 of file rte_bbdev_op.h.
π¦ struct rte_bbdev_op_dec_ldpc_tb_params tb_params
Struct which stores Transport Block specific parameters β sibling energy to cb_params, we love a matching set. π
Definition at line 563 of file rte_bbdev_op.h.
π¦ uint16_t k0
Optional k0 Rate matching starting position β and it overrides rv_index when non null [3GPP TS38.212, section 5.4.2.1]. So like, k0 said "move over rv_index, I'm the main character now." π
Definition at line 568 of file rte_bbdev_op.h.
β¨ AUTHOR β¨
Generated automatically by Doxygen for DPDK from the source code. Not me being auto-generated but also yes me being auto-generated. π€π
That's the whole page bestie β every field, every line number, every spec reference, all of it. Slay. π β¨
DPDK β Version 26.03.0 β rte_bbdev_op_ldpc_dec(3) β okay bye ily π«Άπ
π¦ where this page comes from
- nixos 26.05: dpdk 26.03
- nixpkgs unstable: dpdk 26.03
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms