rte_node_eth_api.h(3)

✨ rte_node_eth_api.h β€” the girlies' guide to ethdev nodes ✨

okay so bestie, this is a page from the DPDK Library Functions Manual, and it's literally all about rte_node_eth_api.h. it's a header file, it's giving very experimental, and it's here to help you set up your ethdev nodes. let's get into it πŸ’…


🌸 SYNOPSIS 🌸

first things first, the includes, no cap:

#include <rte_compat.h>
#include <rte_common.h>
#include <rte_graph.h>
#include <rte_mempool.h>

πŸŽ€ Data Structures πŸŽ€

just the one, and she's iconic:

  • struct rte_node_ethdev_config

πŸ¦‹ Functions πŸ¦‹

two of them, and they're both doing the most:

int rte_node_eth_config (struct rte_node_ethdev_config *cfg, uint16_t
    cnt, uint16_t nb_graphs)
__rte_experimental int rte_node_ethdev_rx_next_update (rte_node_t id,
    const char *edge_name)

πŸ’– Detailed Description πŸ’–

Warning ⚠️ EXPERIMENTAL: literally all the functions in this file may be changed or removed without prior notice. not a drill, bestie. she's living on the edge and she's fine with it 🫢

so what's the actual tea? this API lets you set up ethdev_rx and ethdev_tx nodes, plus all their queue associations. it's the whole shebang. the glow-up from "raw packets" to "nodes in a graph" happens right here ✨

Definition in file rte_node_eth_api.h.


πŸ‘‘ Function Documentation πŸ‘‘

⭐ int rte_node_eth_config (struct rte_node_ethdev_config * cfg, uint16_t cnt, uint16_t nb_graphs)

she initializes ethdev nodes. main character energy fr fr.

Parameters 🌈

  • cfg β€” an array of ethdev config that identifies which port's ethdev_rx and ethdev_tx nodes need to be created, plus the queue association. it's basically the blueprint, iykyk.
  • cnt β€” size of the cfg array. how many blueprints we're working with πŸ’…
  • nb_graphs β€” number of graphs that will be used.

Returns πŸŽ€

  • 0 on successful initialization, negative otherwise. (yes queen, zero is the win condition.)

πŸ’€ __rte_experimental int rte_node_ethdev_rx_next_update (rte_node_t id, const char * edge_name)

she updates the ethdev rx next node β€” like changing who she's linking up with next.

Parameters 🌸

  • id β€” node id whose edge is to be updated. tell me which node, bestie.
  • edge_name β€” name of the next node. the one she's walking towards πŸšΆβ™€οΈ

Returns πŸ“

  • EINVAL: either of the input parameters are invalid β€” aka somebody gave her the wrong info 😭
  • ENOMEM: if memory allocation failed β€” she's broke, no memory, sending thoughts and prayers πŸ™ˆ
  • 0 on successful initialization.

🧚 Author 🧚

generated automatically by Doxygen for DPDK from the source code. no human wrote this, the robots ate and left no crumbs πŸ€–βœ¨


and that's the whole page, periodt. πŸ’œ

DPDK β€” Version 25.11.3 β€” rte_node_eth_api.h(3). mwah, catch you on the next manpage, bestie 🫢🌈

πŸ“¦ where this page comes from