FD.io VPP  v21.06
Vector Packet Processing
session_worker_ Struct Reference
+ Collaboration diagram for session_worker_:

Public Member Functions

 CLIB_CACHE_LINE_ALIGN_MARK (cacheline0)
 

Data Fields

session_tsessions
 Worker session pool. More...
 
svm_msg_q_tvpp_event_queue
 vpp event message queue for worker More...
 
clib_time_type_t last_vlib_time
 vlib_time_now last time around the track More...
 
clib_us_time_t last_vlib_us_time
 vlib_time_now rounded to us precision and as u64 More...
 
vlib_main_tvm
 Convenience pointer to this worker's vlib_main. More...
 
u32 ** session_to_enqueue
 Per-proto vector of sessions to enqueue. More...
 
int timerfd
 Timerfd used to periodically signal wrk session queue node. More...
 
session_wrk_flag_t flags
 Worker flags. More...
 
session_wrk_state_t state
 Worker state. More...
 
session_tx_context_t ctx
 Context for session tx. More...
 
session_evt_elt_tevent_elts
 Pool of session event list elements. More...
 
session_evt_ctrl_data_tctrl_evts_data
 Pool of ctrl events data buffers. More...
 
clib_llist_index_t ctrl_head
 Head of control events list. More...
 
clib_llist_index_t new_head
 Head of list of elements. More...
 
clib_llist_index_t old_head
 Head of list of pending events. More...
 
clib_rwlock_t peekers_rw_locks
 Peekers rw lock. More...
 
u32pending_tx_buffers
 Vector of buffers to be sent. More...
 
u16pending_tx_nexts
 Vector of nexts for the pending tx buffers. More...
 
uword timerfd_file
 Clib file for timerfd. More...
 
clib_llist_index_t pending_connects
 List of pending connects for first worker. More...
 
u32 n_pending_connects
 Flag that is set if main thread signaled to handle connects. More...
 
u32 no_connect_loops
 Main thread loops in poll mode without a connect. More...
 

Detailed Description

Definition at line 87 of file session.h.

Member Function Documentation

◆ CLIB_CACHE_LINE_ALIGN_MARK()

session_worker_::CLIB_CACHE_LINE_ALIGN_MARK ( cacheline0  )

Field Documentation

◆ ctrl_evts_data

session_evt_ctrl_data_t* session_worker_::ctrl_evts_data

Pool of ctrl events data buffers.

Definition at line 125 of file session.h.

◆ ctrl_head

clib_llist_index_t session_worker_::ctrl_head

Head of control events list.

Definition at line 128 of file session.h.

◆ ctx

session_tx_context_t session_worker_::ctx

Context for session tx.

Definition at line 119 of file session.h.

◆ event_elts

session_evt_elt_t* session_worker_::event_elts

Pool of session event list elements.

Definition at line 122 of file session.h.

◆ flags

session_wrk_flag_t session_worker_::flags

Worker flags.

Definition at line 113 of file session.h.

◆ last_vlib_time

clib_time_type_t session_worker_::last_vlib_time

vlib_time_now last time around the track

Definition at line 98 of file session.h.

◆ last_vlib_us_time

clib_us_time_t session_worker_::last_vlib_us_time

vlib_time_now rounded to us precision and as u64

Definition at line 101 of file session.h.

◆ n_pending_connects

u32 session_worker_::n_pending_connects

Flag that is set if main thread signaled to handle connects.

Definition at line 152 of file session.h.

◆ new_head

clib_llist_index_t session_worker_::new_head

Head of list of elements.

Definition at line 131 of file session.h.

◆ no_connect_loops

u32 session_worker_::no_connect_loops

Main thread loops in poll mode without a connect.

Definition at line 155 of file session.h.

◆ old_head

clib_llist_index_t session_worker_::old_head

Head of list of pending events.

Definition at line 134 of file session.h.

◆ peekers_rw_locks

clib_rwlock_t session_worker_::peekers_rw_locks

Peekers rw lock.

Definition at line 137 of file session.h.

◆ pending_connects

clib_llist_index_t session_worker_::pending_connects

List of pending connects for first worker.

Definition at line 149 of file session.h.

◆ pending_tx_buffers

u32* session_worker_::pending_tx_buffers

Vector of buffers to be sent.

Definition at line 140 of file session.h.

◆ pending_tx_nexts

u16* session_worker_::pending_tx_nexts

Vector of nexts for the pending tx buffers.

Definition at line 143 of file session.h.

◆ session_to_enqueue

u32** session_worker_::session_to_enqueue

Per-proto vector of sessions to enqueue.

Definition at line 107 of file session.h.

◆ sessions

session_t* session_worker_::sessions

Worker session pool.

Definition at line 92 of file session.h.

◆ state

session_wrk_state_t session_worker_::state

Worker state.

Definition at line 116 of file session.h.

◆ timerfd

int session_worker_::timerfd

Timerfd used to periodically signal wrk session queue node.

Definition at line 110 of file session.h.

◆ timerfd_file

uword session_worker_::timerfd_file

Clib file for timerfd.

Used only if adaptive mode is on

Definition at line 146 of file session.h.

◆ vm

vlib_main_t* session_worker_::vm

Convenience pointer to this worker's vlib_main.

Definition at line 104 of file session.h.

◆ vpp_event_queue

svm_msg_q_t* session_worker_::vpp_event_queue

vpp event message queue for worker

Definition at line 95 of file session.h.


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