rte_eth_rxconf(3)
π rte_eth_rxconf π
okay bestie, welcome to rte_eth_rxconf β that's her full government name in the Library Functions Manual. she lives in <rte_ethdev.h> and she's the whole vibe of "how do i want this Ethernet port's Rx ring set up". sit down, hydrate, let's go π«Ά
β¨ SYNOPSIS β¨
#include <rte_ethdev.h>
π Data Fields π
no cap, here's every single field, exactly as they're declared:
struct rte_eth_thresh rx_thresh
uint16_t rx_free_thresh
uint8_t rx_drop_en
uint8_t rx_deferred_start
uint16_t rx_nseg
uint16_t share_group
uint16_t share_qid
uint64_t offloads
union rte_eth_rxseg * rx_seg
struct rte_mempool ** rx_mempools
uint64_t reserved_64s [2]
void * reserved_ptrs [2]
πΈ Detailed Description πΈ
she is literally the structure you use to configure an Rx ring of an Ethernet port. that's it, that's the job π
Definition at line 1156 of file rte_ethdev.h.
π¦ Field Documentation π¦
struct rte_eth_thresh rx_thresh
the Rx ring threshold registers. the little dials, basically β¨
Definition at line 1157 of file rte_ethdev.h.
uint16_t rx_free_thresh
this one drives the freeing of Rx descriptors. she's the one making sure descriptors get recycled π
Definition at line 1158 of file rte_ethdev.h.
uint8_t rx_drop_en
drop packets if no descriptors are available. yes, literally just yeet them π
Definition at line 1159 of file rte_ethdev.h.
uint8_t rx_deferred_start
do not start this queue with rte_eth_dev_start(). she waits for her moment, main character energy fr fr.
Definition at line 1160 of file rte_ethdev.h.
uint16_t rx_nseg
number of descriptions in the rx_seg array. like, how many segs are we serving bestie π
Definition at line 1161 of file rte_ethdev.h.
uint16_t share_group
share group index in Rx domain and switch domain, okay so:
- non-zero value β enables Rx queue share β¨
- zero value β disables share π
the PMD is the one responsible for Rx queue consistency checks, and the whole point of that is to avoid member port's configuration contradicting each other. so like, no arguing in the group chat pls.
Definition at line 1168 of file rte_ethdev.h.
uint16_t share_qid
shared Rx queue ID in group. the little ID badge she wears at the shared-queue party π
Definition at line 1169 of file rte_ethdev.h.
uint64_t offloads
per-queue Rx offloads, set using RTE_ETH_RX_OFFLOAD_* flags. and here's the catch bestie, no exceptions: only offloads set on the rx_queue_offload_capa or rx_offload_capa fields on the rte_eth_dev_info structure are allowed to be set. if it's not in there, it's not invited π
Definition at line 1175 of file rte_ethdev.h.
union rte_eth_rxseg* rx_seg
points to the array of segment descriptions for an entire packet. array elements are properties for consecutive Rx segments. so element 0 is seg 0, element 1 is seg 1, you get it, it's giving very "in order" of her π¦
the supported capabilities of receiving segmentation is reported in the rte_eth_dev_info.rx_seg_capa field.
Definition at line 1183 of file rte_ethdev.h.
struct rte_mempool** rx_mempools
array of mempools to allocate Rx buffers from.
this provides support for multiple mbuf pools per Rx queue. the capability is reported in device info via a positive max_rx_mempools. π
it could be useful for more efficient usage of memory when an application creates different mempools to steer the specific size of the packet.
if many mempools are specified, packets received using Rx burst may belong to any provided mempool. and from the ethdev user point of view, it is undefined how the PMD/NIC chooses the mempool for a packet. so don't go assuming, she keeps her secrets π
if Rx scatter is enabled, a packet may be delivered using a chain of mbufs obtained from a single mempool or from multiple mempools, based on the NIC implementation. it's giving "depends on the hardware, respectfully".
Definition at line 1204 of file rte_ethdev.h.
uint64_t reserved_64s[2]
< Number of Rx mempools Reserved for future fields
(yeah bestie we're reproducing that line exactly, punctuation crimes and all π)
Definition at line 1207 of file rte_ethdev.h.
void* reserved_ptrs[2]
reserved for future fields. the mystery boxes of the struct, don't touch β¨
Definition at line 1208 of file rte_ethdev.h.
π Author π
generated automatically by Doxygen for DPDK from the source code. so technically a robot wrote her, but we're gonna be obsessed with her anyway.
and that's a wrap on rte_eth_rxconf from the Library Functions Manual, born from DPDK Version 25.11.3. slay, go configure that Rx ring, bestie πππΈ
π¦ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 Β· BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms