DPDK 25.07.0
Public Member Functions | Data Fields
rte_graph_feature_arc Struct Reference

#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_registerstart_node
 
rte_node_process_t arc_start_process
 
size_t arc_size
 
rte_graph_feature_data_tfeature_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

Feature arc object holds control plane and fast path information for all features and all interface index information for steering packets across feature nodes

Within a 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

In fast path, rte_graph_feature_arc_t can be translated to (struct rte_graph_feature_arc *) via rte_graph_feature_arc_get(). Later is needed to add as an input argument to all fast path feature arc APIs

Definition at line 84 of file rte_graph_feature_arc_worker.h.

Member Function Documentation

◆ STAILQ_HEAD()

STAILQ_HEAD ( rte_graph_feature_node_list  )

All feature lists

Field Documentation

◆ slow_path_variables

RTE_MARKER slow_path_variables

Slow path variables follows

Definition at line 86 of file rte_graph_feature_arc_worker.h.

◆ feature_arc_name

char feature_arc_name[RTE_GRAPH_FEATURE_ARC_NAMELEN]

feature arc name

Definition at line 92 of file rte_graph_feature_arc_worker.h.

◆ runtime_enabled_features

uint32_t runtime_enabled_features

control plane counter to track enabled features

Definition at line 95 of file rte_graph_feature_arc_worker.h.

◆ max_features

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.

◆ feature_arc_index

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.

◆ feature_arc_main

void* feature_arc_main

Back pointer to feature_arc_main

Definition at line 106 of file rte_graph_feature_arc_worker.h.

◆ start_node

struct rte_node_register* start_node

Arc's start/end node

Definition at line 109 of file rte_graph_feature_arc_worker.h.

◆ arc_start_process

rte_node_process_t arc_start_process

arc start process function

Definition at line 113 of file rte_graph_feature_arc_worker.h.

◆ arc_size

size_t arc_size

total arc_size allocated

Definition at line 116 of file rte_graph_feature_arc_worker.h.

◆ feature_data_by_index

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.

◆ feature_size

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.

◆ feature_bit_mask_by_index

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.

◆ fast_path_variables

RTE_MARKER fast_path_variables

Cache aligned fast path variables

Definition at line 132 of file rte_graph_feature_arc_worker.h.

◆ fp_feature_enable_bitmask

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.

◆ num_added_features

uint16_t num_added_features

Number of added features. <= max_features

Definition at line 144 of file rte_graph_feature_arc_worker.h.

◆ max_indexes

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.

◆ fp_first_feature_offset

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.

◆ fp_feature_data_offset

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.

◆ mbuf_dyn_offset

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.

◆ fp_arc_data

RTE_MARKER8 fp_arc_data

Fast path arc data starts

Definition at line 205 of file rte_graph_feature_arc_worker.h.


The documentation for this struct was generated from the following file: