|
DPDK 25.11.0
|
#include <stddef.h>#include <rte_graph_feature_arc.h>#include <rte_bitops.h>#include <rte_mbuf.h>#include <rte_mbuf_dyn.h>Go to the source code of this file.
Data Structures | |
| struct | rte_graph_feature_arc |
| struct | rte_feature_arc_main |
| struct | rte_graph_feature_data |
| struct | rte_graph_feature_arc_mbuf_dynfields |
Macros | |
| #define | RTE_GRAPH_FEATURE_ARC_DYNFIELD_NAME "__rte_graph_feature_arc_mbuf_dynfield" |
| #define | RTE_GRAPH_FEATURE_DATA_SIZE_LOG2 3 |
| #define | RTE_GRAPH_FEATURE_DATA_NUM_PER_FEATURE(arc) |
| #define | RTE_GRAPH_FEATURE_TO_FEATURE_DATA(arc, feature, index) |
Typedefs | |
| typedef struct rte_feature_arc_main | rte_graph_feature_arc_main_t |
Variables | |
| rte_graph_feature_arc_main_t * | __rte_graph_feature_arc_main |
Fast path Graph feature arc API
Definition in file rte_graph_feature_arc_worker.h.
| #define RTE_GRAPH_FEATURE_ARC_DYNFIELD_NAME "__rte_graph_feature_arc_mbuf_dynfield" |
Name of dynamic mbuf field offset registered in rte_graph_feature_arc_init()
Definition at line 262 of file rte_graph_feature_arc_worker.h.
| #define RTE_GRAPH_FEATURE_DATA_SIZE_LOG2 3 |
log2(sizeof (struct rte_graph_feature_data))
Definition at line 265 of file rte_graph_feature_arc_worker.h.
| #define RTE_GRAPH_FEATURE_DATA_NUM_PER_FEATURE | ( | arc | ) |
Number of struct rte_graph_feature_data per feature
Definition at line 268 of file rte_graph_feature_arc_worker.h.
| #define RTE_GRAPH_FEATURE_TO_FEATURE_DATA | ( | arc, | |
| feature, | |||
| index ) |
Get rte_graph_feature_data_t from rte_graph_feature_t
Definition at line 272 of file rte_graph_feature_arc_worker.h.
Feature arc main object
Holds all feature arcs created by application
|
static |
Get dynfield offset to feature arc specific fields in mbuf
Feature arc mbuf dynamic field is separate to utilize mbuf->dynfield2 instead of dynfield1
This arc specific dynamic offset is registered as part of rte_graph_feature_arc_init() and copied in each arc for fast path access. This avoids node maintaining dynamic offset for feature arc and if we are lucky, field would be allocated from mbuf->dynfield2. Otherwise each node has to maintain at least two dynamic offset in fast path
| mbuf | Pointer to mbuf |
| dyn_offset | Retrieved from arc->mbuf_dyn_offset |
Definition at line 307 of file rte_graph_feature_arc_worker.h.
|
static |
API to know if feature is valid or not
| feature | rte_graph_feature_t |
Definition at line 326 of file rte_graph_feature_arc_worker.h.
|
static |
API to know if feature data is valid or not
| feature_data | rte_graph_feature_data_t |
Definition at line 343 of file rte_graph_feature_arc_worker.h.
|
static |
Get pointer to feature arc object from rte_graph_feature_arc_t
| arc | feature arc |
Definition at line 360 of file rte_graph_feature_arc_worker.h.
|
static |
Get rte_graph_feature_t from feature arc object without any checks
| arc | feature arc |
| fdata | feature data object |
Definition at line 387 of file rte_graph_feature_arc_worker.h.
|
static |
Get next edge from feature data pointer, without any check
| fdata | feature data object |
Definition at line 405 of file rte_graph_feature_arc_worker.h.
|
static |
Get app_cookie from feature data pointer, without any check
| fdata | feature data object |
Definition at line 421 of file rte_graph_feature_arc_worker.h.
|
static |
Get next_enabled_feature_data from pointer to feature data, without any check
| fdata | feature data object |
Definition at line 437 of file rte_graph_feature_arc_worker.h.
|
static |
Get app_cookie from feature data object with checks
| arc | feature arc |
| fdata | feature data object |
Definition at line 456 of file rte_graph_feature_arc_worker.h.
|
static |
Get next_enabled_feature_data from current feature data object with checks
| arc | feature arc | |
| fdata | Pointer to feature data object | |
| [out] | next_edge | next_edge from current feature to next enabled feature |
Definition at line 483 of file rte_graph_feature_arc_worker.h.
|
static |
Get struct rte_graph_feature_data from rte_graph_feature_dat_t
| arc | feature arc |
| fdata | feature data object |
Definition at line 511 of file rte_graph_feature_arc_worker.h.
|
static |
Get feature data corresponding to first enabled feature on index
| arc | feature arc | |
| index | Interface index | |
| [out] | fdata | feature data object |
| [out] | edge | rte_edge object |
Definition at line 539 of file rte_graph_feature_arc_worker.h.
|
static |
Fast path API to check if any feature enabled on a feature arc Typically from arc->start_node process function
| arc | Feature arc object |
Definition at line 580 of file rte_graph_feature_arc_worker.h.
|
static |
Prefetch feature arc fast path cache line
| arc | RTE_GRAPH feature arc object |
Definition at line 597 of file rte_graph_feature_arc_worker.h.
|
static |
Prefetch feature data related fast path cache line
| arc | RTE_GRAPH feature arc object |
| fdata | Pointer to feature data object |
Definition at line 612 of file rte_graph_feature_arc_worker.h.
|
extern |
extern variables