rte_graph_feature_arc(3)
β¨ NAME β¨
okay so bestie, welcome to the rte_graph_feature_arc(3) glow-up π this is the manual page for rte_graph_feature_arc, straight out of the DPDK library functions manual, and we're gonna go through every single field like it's a group chat screenshot. no skips, no shortcuts, periodt π
πΈ SYNOPSIS πΈ
#include <rte_graph_feature_arc_worker.h>
π«Ά Public Member Functions π«Ά
STAILQ_HEAD (, rte_graph_feature_node_list) all_featuresβ literally just vibing there to hold all the feature lists.
π Data Fields π
RTE_MARKER slow_path_variableschar feature_arc_name [RTE_GRAPH_FEATURE_ARC_NAMELEN]uint32_t runtime_enabled_featuresuint16_t max_featuresrte_graph_feature_arc_t feature_arc_indexvoid * feature_arc_mainstruct rte_node_register * start_noderte_node_process_t arc_start_processsize_t arc_sizerte_graph_feature_data_t * feature_data_by_indexuint32_t feature_sizeuint64_t * feature_bit_mask_by_indexRTE_MARKER fast_path_variablesuint64_t fp_feature_enable_bitmaskuint16_t num_added_featuresuint16_t max_indexesuint16_t fp_first_feature_offsetuint16_t fp_feature_data_offsetint mbuf_dyn_offsetRTE_MARKER8 fp_arc_data
π Detailed Description π
so this whole thing is the rte_graph Feature arc object, bestie. it's giving main character energy for both control plane AND fast path β¨
here's the deal: the feature arc object holds all the control plane and fast path information for every feature, plus all the interface index info you need for steering packets across feature nodes. slay.
now, important tea π΅ β inside a single feature arc, only RTE_GRAPH_FEATURE_MAX_PER_ARC features can be added. that's the cap, no negotiating. if you need more features than that, you don't cram them in, you go create another feature arc. iconic problem-solving tbh.
and for the fast path? the way that rte_graph_feature_arc_t can be translated into (struct rte_graph_feature_arc *) via rte_graph_feature_arc_get(). you need that, because the latter is what gets passed in as an input argument to all the fast path feature arc APIs. iykyk π¦
Definition at line 84 of file rte_graph_feature_arc_worker.h.
π Member Function Documentation π
π STAILQ_HEAD (rte_graph_feature_node_list )
All feature lists π (yes, all of them. every single one.)
π Field Documentation π
RTE_MARKER slow_path_variablesβ slow path variables follows, that's literally it, they're right there after this marker.
Definition at line 86 of file rte_graph_feature_arc_worker.h.
char feature_arc_name[RTE_GRAPH_FEATURE_ARC_NAMELEN]β the feature arc's name π·οΈ
Definition at line 92 of file rte_graph_feature_arc_worker.h.
uint32_t runtime_enabled_featuresβ a control plane counter that tracks enabled features, keeping receipts on what's actually on.
Definition at line 95 of file rte_graph_feature_arc_worker.h.
uint16_t max_featuresβ the maximum number of features this arc can support. Immutable during fast path β so don't even think about touching it once the fast path starts π
Definition at line 100 of file rte_graph_feature_arc_worker.h.
rte_graph_feature_arc_t feature_arc_indexβ the index intofeature_arc_main.
Definition at line 103 of file rte_graph_feature_arc_worker.h.
void* feature_arc_mainβ a back pointer tofeature_arc_main(it points back, the way we all point back to our roots π ).
Definition at line 106 of file rte_graph_feature_arc_worker.h.
struct rte_node_register* start_nodeβ the arc's start/end node.
Definition at line 109 of file rte_graph_feature_arc_worker.h.
rte_node_process_t arc_start_processβ the arc start process function.
Definition at line 113 of file rte_graph_feature_arc_worker.h.
size_t arc_sizeβ the totalarc_sizethat was allocated.
Definition at line 116 of file rte_graph_feature_arc_worker.h.
rte_graph_feature_data_t* feature_data_by_indexβ slow path moment: the feature data array, maintained per[feature, index].
Definition at line 119 of file rte_graph_feature_arc_worker.h.
uint32_t feature_sizeβ the size of all feature data for each feature, which isALIGN(sizeof(struct rte_graph_feature_data) * arc->max_indexes). Not used in fastpath β she sits that one out π§
Definition at line 126 of file rte_graph_feature_arc_worker.h.
uint64_t* feature_bit_mask_by_indexβ slow path bit mask, per feature, per index.
Definition at line 129 of file rte_graph_feature_arc_worker.h.
RTE_MARKER fast_path_variablesβ cache aligned fast path variables, starting right here β¨
Definition at line 132 of file rte_graph_feature_arc_worker.h.
uint64_t fp_feature_enable_bitmaskβ a quick fast path bitmask that tells you if any feature is enabled. each bit corresponds to a single feature, and it helps optimally process packets for the case when features are added but not enabled. so smart, so efficient π₯
Definition at line 139 of file rte_graph_feature_arc_worker.h.
uint16_t num_added_featuresβ number of added features. and the constraint?<= max_features. respect the limit bestie.
Definition at line 144 of file rte_graph_feature_arc_worker.h.
uint16_t max_indexesβ maximum number of indexes this arc supports. Immutable during fast path β same rule as before, hands off π«
Definition at line 148 of file rte_graph_feature_arc_worker.h.
uint16_t fp_first_feature_offsetβ first feature offset in fast path. Immutable during fast path.
Definition at line 153 of file rte_graph_feature_arc_worker.h.
uint16_t fp_feature_data_offsetβ it'sarc + fp_feature_data_arr_offset. Immutable during fast path.
Definition at line 158 of file rte_graph_feature_arc_worker.h.
int mbuf_dyn_offsetβ mbuf dynamic offset, saved for faster access. seerte_graph_feature_arc_mbuf_dynfields_get()for more details if you're nosy π
Definition at line 164 of file rte_graph_feature_arc_worker.h.
RTE_MARKER8 fp_arc_dataβ fast path arc data starts here!! this is the marker, the moment, the beginning π
Definition at line 205 of file rte_graph_feature_arc_worker.h.
π Author π
Generated automatically by Doxygen for DPDK from the source code. (not a human, not a girlie, just a doc generator doing its thing π)
okay and that's the whole page bestie, no notes π this was DPDK, Version 25.11.3, page rte_graph_feature_arc(3) β go forth and slay your feature arcs, mwah πβ¨
π¦ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 Β· BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms