rte_eth_dev_info(3)
π rte_eth_dev_info β the DPDK manual page, but make it make sense
okay so first things first: this is rte_eth_dev_info, a page from the Library Functions Manual (DPDK's Doxygen output, we love her). She's a struct, not a function β a whole lil glow-up container you fill in to find out everything about an Ethernet device. Buckle up bestie, there are like 40 fields and we're doing all of them. β¨
πΈ NAME
rte_eth_dev_info β the struct that tells you literally everything about an Ethernet device π«Ά
π SYNOPSIS
#include <rte_ethdev.h>
β¨ Data Fields β¨
struct rte_device * device
const char * driver_name
unsigned int if_index
uint16_t min_mtu
uint16_t max_mtu
const uint32_t * dev_flags
uint32_t min_rx_bufsize
uint32_t max_rx_bufsize
uint32_t max_rx_pktlen
uint32_t max_lro_pkt_size
uint16_t max_rx_queues
uint16_t max_tx_queues
uint32_t max_mac_addrs
uint32_t max_hash_mac_addrs
uint16_t max_vfs
uint16_t max_vmdq_pools
struct rte_eth_rxseg_capa rx_seg_capa
uint64_t rx_offload_capa
uint64_t tx_offload_capa
uint64_t rx_queue_offload_capa
uint64_t tx_queue_offload_capa
uint16_t reta_size
uint8_t hash_key_size
uint64_t flow_type_rss_offloads
struct rte_eth_rxconf default_rxconf
struct rte_eth_txconf default_txconf
uint16_t vmdq_queue_base
uint16_t vmdq_queue_num
uint16_t vmdq_pool_base
struct rte_eth_desc_lim rx_desc_lim
struct rte_eth_desc_lim tx_desc_lim
uint32_t speed_capa
uint16_t nb_rx_queues
uint16_t nb_tx_queues
uint16_t max_rx_mempools
struct rte_eth_dev_portconf default_rxportconf
struct rte_eth_dev_portconf default_txportconf
uint64_t dev_capa
struct rte_eth_switch_info switch_info
enum rte_eth_err_handle_mode err_handle_mode
uint64_t reserved_64s [2]
void * reserved_ptrs [2]
π¦ DETAILED DESCRIPTION
So basically: this is the structure you use to retrieve the contextual information of an Ethernet device β like, who's the controlling driver of the device, etcβ¦ π
It's giving "ask the NIC about itself and she answers in one big struct." Main character energy fr.
Defined at line 1806 of file rte_ethdev.h. Write that down bestie, it's on the exam. π
π FIELD DOCUMENTATION
okay this is the long part, but every single field is iconic in her own way, so let's go field by field, no skipping, periodt. π
π struct rte_device* device
Generic device information. Lowkey the parent of everything.
Definition at line 1807 of file rte_ethdev.h.
π const char* driver_name
The device Driver name. iykyk β this is the name you'll wanna print when debugging. β¨
Definition at line 1808 of file rte_ethdev.h.
π unsigned int if_index
Index to bound host interface, or 0 if none. Use if_indextoname() to translate into an interface name β that's the certified way to turn a number into a name bestie. πͺͺ
Definition at line 1809 of file rte_ethdev.h.
π uint16_t min_mtu
Minimum MTU allowed. The floor. The bare minimum. Respect her.
Definition at line 1811 of file rte_ethdev.h.
π uint16_t max_mtu
Maximum MTU allowed. The ceiling. Shoot for the stars. β
Definition at line 1812 of file rte_ethdev.h.
π const uint32_t* dev_flags
Device flags. Flags, but for devices. π©
Definition at line 1813 of file rte_ethdev.h.
π uint32_t min_rx_bufsize
Minimum Rx buffer size per descriptor supported by HW. Tiny buffer era. π
Definition at line 1815 of file rte_ethdev.h.
π uint32_t max_rx_bufsize
Maximum Rx buffer size per descriptor supported by HW. The value is not enforced β it's information only, to help the application optimize mbuf size (ngl that's kind of a glow-up tip). Its value is UINT32_MAX when not specified by the driver. π
Definition at line 1822 of file rte_ethdev.h.
π uint32_t max_rx_pktlen
Maximum configurable length of Rx pkt. Long packet slay. π
Definition at line 1823 of file rte_ethdev.h.
π uint32_t max_lro_pkt_size
Maximum configurable size of LRO aggregated packet. Bigger packet, bigger vibes. π₯
Definition at line 1825 of file rte_ethdev.h.
π uint16_t max_rx_queues
Maximum number of Rx queues. Collect them like stickers. π
Definition at line 1826 of file rte_ethdev.h.
π uint16_t max_tx_queues
Maximum number of Tx queues. Sending side, same energy. π
Definition at line 1827 of file rte_ethdev.h.
π uint32_t max_mac_addrs
Maximum number of MAC addresses. So many identities, so little time.
Definition at line 1828 of file rte_ethdev.h.
π uint32_t max_hash_mac_addrs
Maximum number of hash MAC addresses for MTA and UTA. (MTA and UTA β the hash-y ones. π)
Definition at line 1830 of file rte_ethdev.h.
π uint16_t max_vfs
Maximum number of VFs. Virtual functions, virtual besties. π§
Definition at line 1831 of file rte_ethdev.h.
π uint16_t max_vmdq_pools
Maximum number of VMDq pools. Pool party, VMDq edition. π
Definition at line 1832 of file rte_ethdev.h.
π struct rte_eth_rxseg_capa rx_seg_capa
Segmentation capability. She segments, she slays. βοΈ
Definition at line 1833 of file rte_ethdev.h.
π uint64_t rx_offload_capa
All Rx offload capabilities including all per-queue ones. Emphasis on all β she's inclusive. π
Definition at line 1835 of file rte_ethdev.h.
π uint64_t tx_offload_capa
All Tx offload capabilities including all per-queue ones. Matching set with the one above, we love a coordinated look. π―
Definition at line 1837 of file rte_ethdev.h.
π uint64_t rx_queue_offload_capa
Device per-queue Rx offload capabilities. The per-queue cut of the Rx situation.
Definition at line 1839 of file rte_ethdev.h.
π uint64_t tx_queue_offload_capa
Device per-queue Tx offload capabilities. Same but Tx, obviously. π«
Definition at line 1841 of file rte_ethdev.h.
π uint16_t reta_size
Device redirection table size β the total number of entries. RETA is that girl. π
Definition at line 1843 of file rte_ethdev.h.
π uint8_t hash_key_size
Hash key size in bytes (note the unit bestie, bytes). π
Definition at line 1844 of file rte_ethdev.h.
π uint64_t flow_type_rss_offloads
RSS hash algorithms capabilities. Bit mask of RSS offloads β and here's the cute part: the bit offset also means flow type. Two meanings, one mask. π
Definition at line 1847 of file rte_ethdev.h.
π struct rte_eth_rxconf default_rxconf
Default Rx configuration. The safe default fit. π
Definition at line 1848 of file rte_ethdev.h.
π struct rte_eth_txconf default_txconf
Default Tx configuration. Her matching counterpart. π
Definition at line 1849 of file rte_ethdev.h.
π uint16_t vmdq_queue_base
First queue ID for VMDq pools. Start of the queue lineup. π©
Definition at line 1850 of file rte_ethdev.h.
π uint16_t vmdq_queue_num
Queue number for VMDq pools. How many queues show up to the party. π
Definition at line 1851 of file rte_ethdev.h.
π uint16_t vmdq_pool_base
First ID of VMDq pools. Pool number one, literally.
Definition at line 1852 of file rte_ethdev.h.
π struct rte_eth_desc_lim rx_desc_lim
Rx descriptors limits. Boundaries, but for Rx descriptors. π§
Definition at line 1853 of file rte_ethdev.h.
π struct rte_eth_desc_lim tx_desc_lim
Tx descriptors limits. Same boundaries, Tx flavour.
Definition at line 1854 of file rte_ethdev.h.
π uint32_t speed_capa
Supported speeds bitmap (RTE_ETH_LINK_SPEED_). Yes, the trailing underscore is part of the family name β don't come for her. β‘
Definition at line 1855 of file rte_ethdev.h.
π uint16_t nb_rx_queues
Configured number of Rx/Tx queues⦠and then it says: Number of Rx queues. So: the configured Rx count, fr fr.
Definition at line 1857 of file rte_ethdev.h.
π uint16_t nb_tx_queues
Number of Tx queues. Yes she's the twin of the one above, no she's not redundant, mind your business. π
Definition at line 1858 of file rte_ethdev.h.
π uint16_t max_rx_mempools
Maximum number of Rx mempools supported per Rx queue.
A value greater than 0 means that the driver supports Rx queue mempools specification via rx_conf->rx_mempools. So if you see a positive number, mempool specs per queue are on the menu bestie. π½οΈ
Definition at line 1865 of file rte_ethdev.h.
π struct rte_eth_dev_portconf default_rxportconf
Rx parameter recommendations. Not rules β recommendations. She's suggesting, not demanding. π
Definition at line 1867 of file rte_ethdev.h.
π struct rte_eth_dev_portconf default_txportconf
Tx parameter recommendations. Same energy, Tx side.
Definition at line 1869 of file rte_ethdev.h.
π uint64_t dev_capa
Generic device capabilities (RTE_ETH_DEV_CAPA_). The umbrella of capability bits.
Definition at line 1871 of file rte_ethdev.h.
π struct rte_eth_switch_info switch_info
Switching information for ports on a device with an embedded managed interconnect/switch. (Yes β "a embedded managed interconnect/switch", we're quoting the source, don't @ me. π)
Definition at line 1876 of file rte_ethdev.h.
π enum rte_eth_err_handle_mode err_handle_mode
Supported error handling mode. How she handles her drama. π
Definition at line 1878 of file rte_ethdev.h.
π uint64_t reserved_64s[2]
Reserved for future fields. Saving seats for future besties. πͺ
Definition at line 1880 of file rte_ethdev.h.
π void* reserved_ptrs[2]
Reserved for future fields. Same reserved situation, pointer edition. π
Definition at line 1881 of file rte_ethdev.h.
π AUTHOR
Generated automatically by Doxygen for DPDK from the source code. Like, don't thank a human, thank the robot. π€π
and that's the whole page bestie, no cap β every field, every line number, every RTE_ETH_ thing intact. π«Ά
β¨ DPDK Β· Version 26.03.0 Β· rte_eth_dev_info(3) β¨ β go forth and vibe check your NICs, bestie π
π
π¦ 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