rte_eth_rxconf(3)

πŸ“¦ version 26.03, in nixos 26.05, nixpkgs unstable

πŸ’– NAME πŸ’–

rte_eth_rxconf

okay so bestie, this is the rte_eth_rxconf(3) page from the Library Functions Manual β€” yes, the manual name is right there, and we’re about to make this struct make sense 🫢

✨ SYNOPSIS ✨

#include <rte_ethdev.h>

πŸŽ€ Data Fields πŸŽ€

  • 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 🌈

rte_eth_rxconf is literally a structure used to configure an Rx ring of an Ethernet port. That’s the whole main character energy of this page. Definition at line 1156 of file rte_ethdev.h.

🌸 Field Documentation 🌸

πŸ¦‹ struct rte_eth_thresh rx_thresh

These are the Rx ring threshold registers β€” threshold central, no cap. Definition at line 1157 of file rte_ethdev.h.

πŸ¦‹ uint16_t rx_free_thresh

This one drives the freeing of Rx descriptors, like it’s the little cleanup engine behind the scenes. Definition at line 1158 of file rte_ethdev.h.

πŸ¦‹ uint8_t rx_drop_en

Drop packets if no descriptors are available. Simple rule, bestie: no descriptors, packet goes bye. Definition at line 1159 of file rte_ethdev.h.

πŸ¦‹ uint8_t rx_deferred_start

Do not start the queue with rte_eth_dev_start(). The queue is lowkey not invited to that function’s party. Definition at line 1160 of file rte_ethdev.h.

πŸ¦‹ uint16_t rx_nseg

Number of descriptions in rx_seg array. Yep, descriptions β€” that’s the word, keep it. Definition at line 1161 of file rte_ethdev.h.

πŸ¦‹ uint16_t share_group

Share group index in Rx domain and switch domain. Non-zero value enables Rx queue share, zero disables share. The PMD is responsible for Rx queue consistency checks so member ports’ configurations don’t contradict each other β€” that check is on the PMD, not you. Definition at line 1168 of file rte_ethdev.h.

πŸ¦‹ uint16_t share_qid

Shared Rx queue ID in the group. Definition at line 1169 of file rte_ethdev.h.

πŸ¦‹ uint64_t offloads

Per-queue Rx offloads to be set using RTE_ETH_RX_OFFLOAD_* flags. Important: only offloads set on 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 those fields, it’s not allowed β€” periodt. 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.

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 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. From the ethdev user point of view it is undefined how PMD/NIC chooses mempool for a packet β€” literally undefined, so don’t expect a guarantee.

If Rx scatter is enabled, a packet may be delivered using a chain of mbufs obtained from single mempool or multiple mempools based on the NIC implementation. Definition at line 1204 of file rte_ethdev.h.

πŸ¦‹ uint64_t reserved_64s[2]

The doc line says: < Number of Rx mempools Reserved for future fields β€” it’s reserved for future fields, so leave it alone. Definition at line 1207 of file rte_ethdev.h.

πŸ¦‹ void* reserved_ptrs[2]

Reserved for future fields. Definition at line 1208 of file rte_ethdev.h.

πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for DPDK from the source code. Yes, Doxygen did the typing β€” I just did the vibe check πŸ’…


Cute sign-off: this is DPDK, Version 26.03.0, for rte_eth_rxconf(3) β€” and the footer doesn’t give a separate date, so I’m not inventing one, bestie. Periodt. πŸ’–βœ¨
πŸ“¦ where this page comes from