rte_graph_...e_register(3)

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

🌸 rte_graph_feature_register πŸ’…

Okay bestie, so this page is literally about rte_graph_feature_register, and it's from the Library Functions Manual section of the DPDK docs β€” yes, the rte_graph_...e_register(3) one, we're doing it, we're here 🫢


✨ NAME ✨

rte_graph_feature_register β€” the struct that holds everything about a feature you're registering. Iconic. No notes.


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <rte_graph_feature_arc.h>

πŸŽ€ Public Member Functions

  • STAILQ_ENTRY (rte_graph_feature_register) next_feature β€” the little link that points to the next feature in the same arc πŸ’«

πŸ“ Data Fields

  • const char * arc_name
  • const char * feature_name
  • rte_node_t feature_node_id
  • rte_node_process_t feature_process_fn
  • struct rte_node_register * feature_node
  • const char * runs_after
  • const char * runs_before
  • rte_graph_feature_override_index_cb_t override_index_cb
  • rte_graph_feature_change_notifier_cb_t notifier_cb

πŸ’– Detailed Description πŸ’–

It's the feature registration structure you hand over to RTE_GRAPH_FEATURE_REGISTER(). That's it, that's the whole vibe.

Fr fr, it lives at Definition at line 237 of file rte_graph_feature_arc.h.

πŸ”₯ Member Function Documentation πŸ”₯

⭐ STAILQ_ENTRY (rte_graph_feature_register )

Pointer to the next registered feature in the same arc. Like, "who's next in line, bestie?" energy 🧚


πŸ’œ Field Documentation πŸ’œ

🌸 const char* arc_name

Name of the arc β€” and the arc is registered either via RTE_GRAPH_FEATURE_ARC_REGISTER() or via rte_graph_feature_arc_create(). Pick your fighter ✨

Definition at line 247 of file rte_graph_feature_arc.h.

🌈 const char* feature_name

Name of the feature. Literally just the name πŸŽ€

Definition at line 250 of file rte_graph_feature_arc.h.

πŸ’« rte_node_t feature_node_id

Node id of feature_node.

Setting this field can be skipped if you're registering the feature via RTE_GRAPH_FEATURE_REGISTER() β€” so yeah, optional, you don't have to πŸ‘‘

Definition at line 258 of file rte_graph_feature_arc.h.

πŸ¦‹ rte_node_process_t feature_process_fn

The feature node's process() function β€” it's the one calling the feature fast path APIs. Very main character.

If the application calls rte_graph_feature_arc_init(), then node->process() provided in RTE_NODE_REGISTER() gets overwritten by this function. Not me warning you about the overwrite 😭

Definition at line 267 of file rte_graph_feature_arc.h.

πŸ“ struct rte_node_register* feature_node

Pointer to the Feature node registration. 🫢

Used when features are registered via RTE_GRAPH_FEATURE_REGISTER().

Definition at line 275 of file rte_graph_feature_arc.h.

⭐ const char* runs_after

Feature ordering constraint runs_after: the name of the feature after which "this feature" should run.

Definition at line 280 of file rte_graph_feature_arc.h.

πŸ’… const char* runs_before

Feature ordering constraint runs_before: the name of the feature which must run after "this feature".

Definition at line 285 of file rte_graph_feature_arc.h.

πŸ‘‘ rte_graph_feature_override_index_cb_t override_index_cb

Lets each feature registration override arc->max_indexes. Highkey powerful.

If it's set, struct rte_graph_feature_arc_register::max_indexes gets calculated like this (and this happens before calling rte_graph_feature_arc_create()):

FOR_EACH_FEATURE_REGISTER(arc, feat) {
rte_graph_feature_arc_register::max_indexes =
max(feat->override_index_cb(),
rte_graph_feature_arc_register::max_indexes) }
Definition at line 298 of file rte_graph_feature_arc.h.

πŸŽ€ rte_graph_feature_change_notifier_cb_t notifier_cb

Callback for notifying any change in feature enable/disable state. Basically a little "hey bestie, something changed" ping πŸ’Œ

Definition at line 303 of file rte_graph_feature_arc.h.

🌟 Author 🌟

Generated automatically by Doxygen for DPDK from the source code. Not a human, but honestly slaying anyway πŸ’€


πŸ’– That's the whole page! Signing off with the deets: this is DPDK, Version 26.03.0 β€” periodt. Go register some features, bestie πŸ§šβ€β™€οΈβœ¨
πŸ“¦ where this page comes from