FreeBSD Manual Pages
rte_graph_feature_arc_worker.h(3) DPDK rte_graph_feature_arc_worker.h(3) NAME rte_graph_feature_arc_worker.h SYNOPSIS #include <stddef.h> #include <rte_graph_feature_arc.h> #include <rte_bitops.h> #include <rte_mbuf.h> #include <rte_mbuf_dyn.h> 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) (arc->feature_size >> RTE_GRAPH_FEATURE_DATA_SIZE_LOG2) #define RTE_GRAPH_FEATURE_TO_FEATURE_DATA(arc, feature, index) Typedefs typedef struct rte_feature_arc_main rte_graph_feature_arc_main_t Functions static __rte_experimental __rte_always_inline struct rte_graph_feature_arc_mbuf_dynfields * rte_graph_feature_arc_mbuf_dynfields_get (struct rte_mbuf *mbuf, const int dyn_offset) static __rte_experimental __rte_always_inline int rte_graph_feature_is_valid (rte_graph_feature_t feature) static __rte_experimental __rte_always_inline int rte_graph_feature_data_is_valid (rte_graph_feature_data_t feature_data) static __rte_experimental __rte_always_inline struct rte_graph_feature_arc * rte_graph_feature_arc_get (rte_graph_feature_arc_t arc) static __rte_experimental __rte_always_inline struct rte_graph_feature_data * __rte_graph_feature_data_get (struct rte_graph_feature_arc *arc, rte_graph_feature_data_t fdata) static __rte_experimental __rte_always_inline rte_edge_t __rte_graph_feature_data_edge_get (struct rte_graph_feature_data *fdata) static __rte_experimental __rte_always_inline uint16_t __rte_graph_feature_data_app_cookie_get (struct rte_graph_feature_data *fdata) static __rte_experimental __rte_always_inline rte_graph_feature_data_t __rte_graph_feature_data_next_feature_get (struct rte_graph_feature_data *fdata) static __rte_experimental __rte_always_inline uint16_t rte_graph_feature_data_app_cookie_get (struct rte_graph_feature_arc *arc, rte_graph_feature_data_t fdata) static __rte_experimental __rte_always_inline int rte_graph_feature_data_next_feature_get (struct rte_graph_feature_arc *arc, rte_graph_feature_data_t *fdata, rte_edge_t *next_edge) static __rte_experimental __rte_always_inline struct rte_graph_feature_data * rte_graph_feature_data_get (struct rte_graph_feature_arc *arc, rte_graph_feature_data_t fdata) static __rte_experimental __rte_always_inline int rte_graph_feature_data_first_feature_get (struct rte_graph_feature_arc *arc, uint32_t index, rte_graph_feature_data_t *fdata, rte_edge_t *edge) static __rte_experimental __rte_always_inline uint64_t rte_graph_feature_arc_is_any_feature_enabled (struct rte_graph_feature_arc *arc) static __rte_experimental __rte_always_inline void rte_graph_feature_arc_prefetch (struct rte_graph_feature_arc *arc) static __rte_experimental __rte_always_inline void rte_graph_feature_arc_feature_data_prefetch (struct rte_graph_feature_arc *arc, rte_graph_feature_data_t fdata) Variables rte_graph_feature_arc_main_t * __rte_graph_feature_arc_main Detailed Description Warning EXPERIMENTAL: All functions in this file may be changed or removed without prior notice. Fast path Graph feature arc API Definition in file rte_graph_feature_arc_worker.h. Macro Definition Documentation #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) (arc->feature_size >> RTE_GRAPH_FEATURE_DATA_SIZE_LOG2) 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) Value:.PP ((rte_graph_feature_data_t) \ ((RTE_GRAPH_FEATURE_DATA_NUM_PER_FEATURE(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. Typedef Documentation typedef struct rte_feature_arc_main rte_graph_feature_arc_main_t Feature arc main object Holds all feature arcs created by application Function Documentation static __rte_experimental __rte_always_inline struct rte_graph_feature_arc_mbuf_dynfields * rte_graph_feature_arc_mbuf_dynfields_get (struct rte_mbuf * mbuf, const int dyn_offset) [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 Parameters mbuf Pointer to mbuf dyn_offset Retrieved from arc->mbuf_dyn_offset Returns NULL: On Failure Non-NULL pointer on Success Definition at line 307 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline int rte_graph_feature_is_valid (rte_graph_feature_t feature) [static] API to know if feature is valid or not Parameters feature rte_graph_feature_t Returns 1: If feature is valid 0: If feature is invalid Definition at line 326 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline int rte_graph_feature_data_is_valid (rte_graph_feature_data_t feature_data) [static] API to know if feature data is valid or not Parameters feature_data rte_graph_feature_data_t Returns 1: If feature data is valid 0: If feature data is invalid Definition at line 343 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline struct rte_graph_feature_arc * rte_graph_feature_arc_get (rte_graph_feature_arc_t arc) [static] Get pointer to feature arc object from rte_graph_feature_arc_t Parameters arc feature arc Returns NULL: On Failure Non-NULL pointer on Success Definition at line 360 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline struct rte_graph_feature_data * __rte_graph_feature_data_get (struct rte_graph_feature_arc * arc, rte_graph_feature_data_t fdata) [static] Get rte_graph_feature_t from feature arc object without any checks Parameters arc feature arc fdata feature data object Returns Pointer to feature data object Definition at line 387 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline rte_edge_t __rte_graph_feature_data_edge_get (struct rte_graph_feature_data * fdata) [static] Get next edge from feature data pointer, without any check Parameters fdata feature data object Returns next edge Definition at line 405 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline uint16_t __rte_graph_feature_data_app_cookie_get (struct rte_graph_feature_data * fdata) [static] Get app_cookie from feature data pointer, without any check Parameters fdata feature data object Returns app_cookie set by caller in rte_graph_feature_enable() API Definition at line 421 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline rte_graph_feature_data_t __rte_graph_feature_data_next_feature_get (struct rte_graph_feature_data * fdata) [static] Get next_enabled_feature_data from pointer to feature data, without any check Parameters fdata feature data object Returns next enabled feature data from this feature data Definition at line 437 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline uint16_t rte_graph_feature_data_app_cookie_get (struct rte_graph_feature_arc * arc, rte_graph_feature_data_t fdata) [static] Get app_cookie from feature data object with checks Parameters arc feature arc fdata feature data object Returns app_cookie set by caller in rte_graph_feature_enable() API Definition at line 456 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline int rte_graph_feature_data_next_feature_get (struct rte_graph_feature_arc * arc, rte_graph_feature_data_t * fdata, rte_edge_t * next_edge) [static] Get next_enabled_feature_data from current feature data object with checks Parameters arc feature arc fdata Pointer to feature data object next_edge next_edge from current feature to next enabled feature Returns 1: if next feature enabled on index 0: if no feature is enabled on index Definition at line 483 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline struct rte_graph_feature_data * rte_graph_feature_data_get (struct rte_graph_feature_arc * arc, rte_graph_feature_data_t fdata) [static] Get struct rte_graph_feature_data from rte_graph_feature_dat_t Parameters arc feature arc fdata feature data object Returns NULL: On Failure Non-NULL pointer on Success Definition at line 511 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline int rte_graph_feature_data_first_feature_get (struct rte_graph_feature_arc * arc, uint32_t index, rte_graph_feature_data_t * fdata, rte_edge_t * edge) [static] Get feature data corresponding to first enabled feature on index Parameters arc feature arc index Interface index fdata feature data object edge rte_edge object Returns 1: if any feature enabled on index, return corresponding valid feature data 0: if no feature is enabled on index Definition at line 539 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline uint64_t rte_graph_feature_arc_is_any_feature_enabled (struct rte_graph_feature_arc * arc) [static] Fast path API to check if any feature enabled on a feature arc Typically from arc->start_node process function Parameters arc Feature arc object Returns 0: If no feature enabled Non-Zero: Bitmask of features enabled. Definition at line 580 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline void rte_graph_feature_arc_prefetch (struct rte_graph_feature_arc * arc) [static] Prefetch feature arc fast path cache line Parameters arc RTE_GRAPH feature arc object Definition at line 597 of file rte_graph_feature_arc_worker.h. static __rte_experimental __rte_always_inline void rte_graph_feature_arc_feature_data_prefetch (struct rte_graph_feature_arc * arc, rte_graph_feature_data_t fdata) [static] Prefetch feature data related fast path cache line Parameters arc RTE_GRAPH feature arc object fdata Pointer to feature data object Definition at line 612 of file rte_graph_feature_arc_worker.h. Variable Documentation rte_graph_feature_arc_main_t* __rte_graph_feature_arc_main [extern] extern variables Author Generated automatically by Doxygen for DPDK from the source code. Version 25.11.0 Thu Jun 11 20rte_graph_feature_arc_worker.h(3)
NAME | SYNOPSIS | Detailed Description | Macro Definition Documentation | Typedef Documentation | Function Documentation | Variable Documentation | Author
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rte_graph_feature_arc_get&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
