rte_graph_feature_arc(3)

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

rte_graph_feature_arc(3) πŸ’…

okay bestie, this little icon is from the Library Functions Manual, and it's all about rte_graph_feature_arc β€” a DPDK graph feature arc object. every field, every line number, every crumb is staying. no cap. ✨

🌸 NAME 🌸

rte_graph_feature_arc

✨ SYNOPSIS ✨

#include <rte_graph_feature_arc_worker.h>

πŸ’– Public Member Functions πŸ’–

STAILQ_HEAD (, rte_graph_feature_node_list) all_features

πŸ¦‹ Data Fields πŸ¦‹

RTE_MARKER slow_path_variables
char feature_arc_name [RTE_GRAPH_FEATURE_ARC_NAMELEN]
uint32_t runtime_enabled_features
uint16_t max_features
rte_graph_feature_arc_t feature_arc_index
void * feature_arc_main
struct rte_node_register * start_node
rte_node_process_t arc_start_process
size_t arc_size
rte_graph_feature_data_t * feature_data_by_index
uint32_t feature_size
uint64_t * feature_bit_mask_by_index
RTE_MARKER fast_path_variables
uint64_t fp_feature_enable_bitmask
uint16_t num_added_features
uint16_t max_indexes
uint16_t fp_first_feature_offset
uint16_t fp_feature_data_offset
int mbuf_dyn_offset
RTE_MARKER8 fp_arc_data

πŸ’– Detailed Description πŸ’–

rte_graph Feature arc object. it's giving control-plane and fast-path storage in one place, bestie β€” it holds control plane and fast path information for all features and all interface index information for steering packets across feature nodes.

so inside one feature arc, only RTE_GRAPH_FEATURE_MAX_PER_ARC features can be added. if more features needs to be added, another feature arc can be created. periodt. πŸ’…

in fast path, rte_graph_feature_arc_t can be translated to (struct rte_graph_feature_arc *) via rte_graph_feature_arc_get(). that translated version is needed as an input argument to all 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. literally all of them, bestie. 🫢

πŸ¦‹ Field Documentation πŸ¦‹

  • RTE_MARKER slow_path_variables β€” Slow path variables follows. Definition at line 86 of file rte_graph_feature_arc_worker.h.
  • char feature_arc_name[RTE_GRAPH_FEATURE_ARC_NAMELEN] β€” feature arc name. Definition at line 92 of file rte_graph_feature_arc_worker.h.
  • uint32_t runtime_enabled_features β€” control plane counter to track enabled features. Definition at line 95 of file rte_graph_feature_arc_worker.h.
  • uint16_t max_features β€” maximum number of features supported by this arc Immutable during fast path. Definition at line 100 of file rte_graph_feature_arc_worker.h.
  • rte_graph_feature_arc_t feature_arc_index β€” index in feature_arc_main. Definition at line 103 of file rte_graph_feature_arc_worker.h.
  • void* feature_arc_main β€” Back pointer to feature_arc_main. Definition at line 106 of file rte_graph_feature_arc_worker.h.
  • struct rte_node_register* start_node β€” Arc's start/end node. Definition at line 109 of file rte_graph_feature_arc_worker.h.
  • rte_node_process_t arc_start_process β€” arc start process function. Definition at line 113 of file rte_graph_feature_arc_worker.h.
  • size_t arc_size β€” total arc_size allocated. Definition at line 116 of file rte_graph_feature_arc_worker.h.
  • rte_graph_feature_data_t* feature_data_by_index β€” slow path: feature data array maintained per [feature, index]. Definition at line 119 of file rte_graph_feature_arc_worker.h.
  • uint32_t feature_size β€” Size of all feature data for each feature ALIGN(sizeof(struct rte_graph_feature_data) * arc->max_indexes) Not used in fastpath. 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. Definition at line 132 of file rte_graph_feature_arc_worker.h.
  • uint64_t fp_feature_enable_bitmask β€” Quick fast path bitmask indicating if any feature enabled. Each bit corresponds to single feature. Helps in optimally process packets for the case when features are added but not enabled. Definition at line 139 of file rte_graph_feature_arc_worker.h.
  • uint16_t num_added_features β€” Number of added features. <= max_features. Definition at line 144 of file rte_graph_feature_arc_worker.h.
  • uint16_t max_indexes β€” maximum number of index supported by this arc Immutable during fast path. 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 β€” arc + 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 See rte_graph_feature_arc_mbuf_dynfields_get() for more details. Definition at line 164 of file rte_graph_feature_arc_worker.h.
  • RTE_MARKER8 fp_arc_data β€” Fast path arc data starts. Definition at line 205 of file rte_graph_feature_arc_worker.h.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for DPDK from the source code. (yes bestie, the robots wrote it, iconic behavior honestly πŸ€–πŸ’–)


and that's the whole page, bestie πŸ’– signed off with source DPDK, Version 26.03.0, manual page rte_graph_feature_arc(3). slay. ✨

πŸ“¦ where this page comes from