staticvoidrte_node_enqueue(structrte_graph*graph,structrte_node*node,rte_edge_tnext,void**objs,uint16_tnb_objs)[inline],[static]
Enqueue the objs to next node for further processing and set the next node to pending state in the
circular buffer.
Parametersgraph Graph pointer returned from rte_graph_lookup().
node Current node pointer.
next Relative next node index to enqueue objs.
objs Objs to enqueue.
nb_objs Number of objs to enqueue.
Definition at line 307 of file rte_graph_worker_common.h.
staticvoidrte_node_enqueue_x1(structrte_graph*graph,structrte_node*node,rte_edge_tnext,void*obj)[inline],[static]
Enqueue only one obj to next node for further processing and set the next node to pending state in the
circular buffer.
Parametersgraph Graph pointer returned from rte_graph_lookup().
node Current node pointer.
next Relative next node index to enqueue objs.
obj Obj to enqueue.
Definition at line 333 of file rte_graph_worker_common.h.
staticvoidrte_node_enqueue_x2(structrte_graph*graph,structrte_node*node,rte_edge_tnext,void*obj0,void*obj1)[inline],[static]
Enqueue only two objs to next node for further processing and set the next node to pending state in the
circular buffer. Same as rte_node_enqueue_x1 but enqueue two objs.
Parametersgraph Graph pointer returned from rte_graph_lookup().
node Current node pointer.
next Relative next node index to enqueue objs.
obj0 Obj to enqueue.
obj1 Obj to enqueue.
Definition at line 362 of file rte_graph_worker_common.h.
staticvoidrte_node_enqueue_x4(structrte_graph*graph,structrte_node*node,rte_edge_tnext,void*obj0,void*obj1,void*obj2,void*obj3)[inline],[static]
Enqueue only four objs to next node for further processing and set the next node to pending state in the
circular buffer. Same as rte_node_enqueue_x1 but enqueue four objs.
Parametersgraph Graph pointer returned from rte_graph_lookup().
node Current node pointer.
next Relative next node index to enqueue objs.
obj0 1st obj to enqueue.
obj1 2nd obj to enqueue.
obj2 3rd obj to enqueue.
obj3 4th obj to enqueue.
Definition at line 396 of file rte_graph_worker_common.h.
staticvoidrte_node_enqueue_next(structrte_graph*graph,structrte_node*node,rte_edge_t*nexts,void**objs,uint16_tnb_objs)[inline],[static]
Enqueue objs to multiple next nodes for further processing and set the next nodes to pending state in the
circular buffer. objs[i] will be enqueued to nexts[i].
Parametersgraph Graph pointer returned from rte_graph_lookup().
node Current node pointer.
nexts List of relative next node indices to enqueue objs.
objs List of objs to enqueue.
nb_objs Number of objs to enqueue.
Definition at line 429 of file rte_graph_worker_common.h.
staticvoid**rte_node_next_stream_get(structrte_graph*graph,structrte_node*node,rte_edge_tnext,uint16_tnb_objs)[inline],[static]
Get the stream of next node to enqueue the objs. Once done with the updating the objs, needs to call
rte_node_next_stream_put to put the next node to pending state.
Parametersgraph Graph pointer returned from rte_graph_lookup().
node Current node pointer.
next Relative next node index to get stream.
nb_objs Requested free size of the next stream.
Returns
Valid next stream on success.
Seealsorte_node_next_stream_put().
Definition at line 458 of file rte_graph_worker_common.h.
staticvoidrte_node_next_stream_put(structrte_graph*graph,structrte_node*node,rte_edge_tnext,uint16_tidx)[inline],[static]
Put the next stream to pending state in the circular buffer for further processing. Should be invoked
after rte_node_next_stream_get().
Parametersgraph Graph pointer returned from rte_graph_lookup().
node Current node pointer.
next Relative next node index..
idx Number of objs updated in the stream after getting the stream using rte_node_next_stream_get.
Seealsorte_node_next_stream_get().
Definition at line 488 of file rte_graph_worker_common.h.
staticvoidrte_node_next_stream_move(structrte_graph*graph,structrte_node*src,rte_edge_tnext)[inline],[static]
Home run scenario, Enqueue all the objs of current node to next node in optimized way by swapping the
streams of both nodes. Performs good when next node is already not in pending state. If next node is
already in pending state then normal enqueue will be used.
Parametersgraph Graph pointer returned from rte_graph_lookup().
src Current node pointer.
next Relative next node index.
Definition at line 516 of file rte_graph_worker_common.h.
boolrte_graph_model_is_valid(uint8_tmodel)
Test the validity of model.
Parametersmodel Model to check.
Returns
True if graph model is valid, false otherwise.
intrte_graph_worker_model_set(uint8_tmodel)Note
This function does not perform any locking, and is only safe to call before graph running. It will
set all graphs the same model.
Parametersmodel Name of the graph worker model.
Returns
0 on success, -1 otherwise.
uint8_trte_graph_worker_model_get(structrte_graph*graph)
Get the graph worker model
Note
All graph will use the same model and this function will get model from the first one. Used for slow
path.
Parametersgraph Graph pointer.
Returns
Graph worker model on success.
static__rte_always_inlineuint8_trte_graph_worker_model_no_check_get(structrte_graph*graph)[static]
Get the graph worker model without check
Note
All graph will use the same model and this function will get model from the first one. Used for fast
path.
Parametersgraph Graph pointer.
Returns
Graph worker model on success.
Definition at line 587 of file rte_graph_worker_common.h.
static__rte_experimentalvoidrte_node_xstat_increment(structrte_node*node,uint16_txstat_id,uint64_tvalue)[inline],[static]
Increment Node xstat count.
Increment the count of an xstat for a given node.
Parametersnode Pointer to the node.
xstat_id xstat ID.
value Value to increment.
Definition at line 606 of file rte_graph_worker_common.h.