rte_eth_conf(3)

πŸ’– rte_eth_conf(3) πŸ’–

okay bestie, welcome to the Library Functions Manual for rte_eth_conf β€” yes, the section 3 one, the glow-up of an Ethernet port config struct. sit down, grab a strawberry drink πŸ“, and let's get into it.


✨ NAME ✨

rte_eth_conf β€” literally the blueprint for how you set up an Ethernet port, no cap.


🌸 SYNOPSIS 🌸

#include <rte_ethdev.h>

πŸŽ€ Data Fields πŸŽ€

uint32_t link_speeds
struct rte_eth_rxmode rxmode
struct rte_eth_txmode txmode
uint32_t lpbk_mode
struct {
   struct rte_eth_rss_conf rss_conf
   struct rte_eth_vmdq_dcb_conf vmdq_dcb_conf
   struct rte_eth_dcb_rx_conf dcb_rx_conf
   struct rte_eth_vmdq_rx_conf vmdq_rx_conf
} rx_adv_conf
union {
   struct rte_eth_vmdq_dcb_tx_conf vmdq_dcb_tx_conf
   struct rte_eth_dcb_tx_conf dcb_tx_conf
   struct rte_eth_vmdq_tx_conf vmdq_tx_conf
} tx_adv_conf
uint32_t dcb_capability_en
struct rte_eth_intr_conf intr_conf

πŸ‘‘ Detailed Description πŸ‘‘

It's giving structure used to configure an Ethernet port. πŸ’… Depending on which Rx multi-queue mode you're in, you might need extra advanced configuration settings β€” so like, sometimes the basic fit is enough, sometimes you gotta accessorize. ✨

Defined at line 1542 of file rte_ethdev.h.

πŸ¦‹ Field Documentation πŸ¦‹

a bitmap of RTE_ETH_LINK_SPEED_XXX of the speeds you wanna use. ⚑

RTE_ETH_LINK_SPEED_FIXED disables link autonegotiation, and a unique speed shall be set. Otherwise, the bitmap defines the set of speeds to be advertised. And if you use the special value RTE_ETH_LINK_SPEED_AUTONEG (that's 0, bestie), all speeds supported get advertised. 🌈

Defined at line 1543 of file rte_ethdev.h.

struct rte_eth_rxmode rxmode

Port Rx configuration. πŸ“₯

Defined at line 1550 of file rte_ethdev.h.

struct rte_eth_txmode txmode

Port Tx configuration. πŸ“€

Defined at line 1551 of file rte_ethdev.h.

uint32_t lpbk_mode

Loopback operation mode. By default the value is 0, which means the loopback mode is disabled. πŸ™ˆ Read the datasheet of the given Ethernet controller for the details β€” fr fr, go read it. The possible values of this field are defined in the implementation of each driver, so it's very much an iykyk situation.

Defined at line 1552 of file rte_ethdev.h.

struct rte_eth_rss_conf rss_conf

Port RSS configuration. 🧚

Defined at line 1558 of file rte_ethdev.h.

struct rte_eth_vmdq_dcb_conf vmdq_dcb_conf

Port VMDq+DCB configuration. πŸ’œ

Defined at line 1560 of file rte_ethdev.h.

struct rte_eth_dcb_rx_conf dcb_rx_conf

Port DCB Rx configuration. πŸ“₯✨

Defined at line 1562 of file rte_ethdev.h.

struct rte_eth_vmdq_rx_conf vmdq_rx_conf

Port VMDq Rx configuration. 🫢

Defined at line 1564 of file rte_ethdev.h.

struct { ... } rx_adv_conf

Port Rx filtering configuration. πŸ”

struct rte_eth_vmdq_dcb_tx_conf vmdq_dcb_tx_conf

Port VMDq+DCB Tx configuration. πŸ’œπŸ“€

Defined at line 1568 of file rte_ethdev.h.

struct rte_eth_dcb_tx_conf dcb_tx_conf

Port DCB Tx configuration. πŸ“€βœ¨

Defined at line 1570 of file rte_ethdev.h.

struct rte_eth_vmdq_tx_conf vmdq_tx_conf

Port VMDq Tx configuration. 🫢

Defined at line 1572 of file rte_ethdev.h.

union { ... } tx_adv_conf

Port Tx DCB configuration β€” and it's a union, bestie, so it's one-or-the-other energy, not all at once. πŸ’€

uint32_t dcb_capability_en

Currently, Priority Flow Control (PFC) is supported. So if you need DCB with PFC, this variable must be set to RTE_ETH_DCB_PFC_SUPPORT. periodt. πŸ”₯

Defined at line 1576 of file rte_ethdev.h.

struct rte_eth_intr_conf intr_conf

Interrupt mode configuration. πŸ””

Defined at line 1577 of file rte_ethdev.h.

πŸ’… Author πŸ’…

Generated automatically by Doxygen for DPDK from the source code. (not a human, just a very diligent robot πŸŽ€)


okay that's the whole page, you ate it, you understood it, main character energy confirmed. πŸ‘‘ this was DPDK, Version 25.11.3 β€” mwah, bye bestie! πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from