FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
vlib_node_runtime_t Struct Reference

Public Member Functions

 CLIB_CACHE_LINE_ALIGN_MARK (cacheline0)
 cacheline mark More...
 

Data Fields

vlib_node_function_tfunction
 Node function to call. More...
 
vlib_error_terrors
 Vector of errors for this node. More...
 
u32 clocks_since_last_overflow
 Number of clock cycles. More...
 
u32 max_clock
 Maximum clock cycle for an invocation. More...
 
u32 max_clock_n
 Number of vectors in the recorded max_clock. More...
 
u32 calls_since_last_overflow
 Number of calls. More...
 
u32 vectors_since_last_overflow
 Number of vector elements processed by this node. More...
 
u32 next_frame_index
 Start of next frames for this node. More...
 
u32 node_index
 Node index. More...
 
u32 input_main_loops_per_call
 For input nodes: decremented on each main loop interation until it reaches zero and function is called. More...
 
u32 main_loop_count_last_dispatch
 Saved main loop counter of last dispatch of this node. More...
 
u32 main_loop_vector_stats [2]
 
u16 flags
 Copy of main node flags. More...
 
u16 state
 Input node state. More...
 
u32 interrupt_data
 Data passed together with interrupt. More...
 
u16 n_next_nodes
 
u16 cached_next_index
 Next frame index that vector arguments were last enqueued to last time this node ran. More...
 
u16 thread_index
 thread this node runs on More...
 
u8 runtime_data [0]
 Function dependent node-runtime data. More...
 

Detailed Description

Definition at line 463 of file node.h.

Member Function Documentation

◆ CLIB_CACHE_LINE_ALIGN_MARK()

vlib_node_runtime_t::CLIB_CACHE_LINE_ALIGN_MARK ( cacheline0  )

cacheline mark

Field Documentation

◆ cached_next_index

u16 vlib_node_runtime_t::cached_next_index

Next frame index that vector arguments were last enqueued to last time this node ran.

Set to zero before first run of this node.

Definition at line 510 of file node.h.

◆ calls_since_last_overflow

u32 vlib_node_runtime_t::calls_since_last_overflow

Number of calls.

Definition at line 479 of file node.h.

◆ clocks_since_last_overflow

u32 vlib_node_runtime_t::clocks_since_last_overflow

Number of clock cycles.

Definition at line 471 of file node.h.

◆ errors

vlib_error_t* vlib_node_runtime_t::errors

Vector of errors for this node.

Definition at line 469 of file node.h.

◆ flags

u16 vlib_node_runtime_t::flags

Copy of main node flags.

Definition at line 500 of file node.h.

◆ function

vlib_node_function_t* vlib_node_runtime_t::function

Node function to call.

Definition at line 467 of file node.h.

◆ input_main_loops_per_call

u32 vlib_node_runtime_t::input_main_loops_per_call

For input nodes: decremented on each main loop interation until it reaches zero and function is called.

Allows some input nodes to be called more than others.

Definition at line 489 of file node.h.

◆ interrupt_data

u32 vlib_node_runtime_t::interrupt_data

Data passed together with interrupt.

Valid only when state is VLIB_NODE_STATE_INTERRUPT

Definition at line 504 of file node.h.

◆ main_loop_count_last_dispatch

u32 vlib_node_runtime_t::main_loop_count_last_dispatch

Saved main loop counter of last dispatch of this node.

Definition at line 495 of file node.h.

◆ main_loop_vector_stats

u32 vlib_node_runtime_t::main_loop_vector_stats[2]

Definition at line 498 of file node.h.

◆ max_clock

u32 vlib_node_runtime_t::max_clock

Maximum clock cycle for an invocation.

Definition at line 473 of file node.h.

◆ max_clock_n

u32 vlib_node_runtime_t::max_clock_n

Number of vectors in the recorded max_clock.

Definition at line 476 of file node.h.

◆ n_next_nodes

u16 vlib_node_runtime_t::n_next_nodes

Definition at line 508 of file node.h.

◆ next_frame_index

u32 vlib_node_runtime_t::next_frame_index

Start of next frames for this node.

Definition at line 484 of file node.h.

◆ node_index

u32 vlib_node_runtime_t::node_index

Node index.

Definition at line 487 of file node.h.

◆ runtime_data

u8 vlib_node_runtime_t::runtime_data[0]

Function dependent node-runtime data.

This data is thread local, and it is not cloned from main thread. It needs to be initialized for each thread before it is used unless runtime_data template exists in vlib_node_t.

Definition at line 518 of file node.h.

◆ state

u16 vlib_node_runtime_t::state

Input node state.

Definition at line 502 of file node.h.

◆ thread_index

u16 vlib_node_runtime_t::thread_index

thread this node runs on

Definition at line 516 of file node.h.

◆ vectors_since_last_overflow

u32 vlib_node_runtime_t::vectors_since_last_overflow

Number of vector elements processed by this node.

Definition at line 481 of file node.h.


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