|
static segment_manager_props_t * | segment_manager_properties_get (segment_manager_t *sm) |
|
segment_manager_props_t * | segment_manager_props_init (segment_manager_props_t *props) |
|
u8 | segment_manager_app_detached (segment_manager_t *sm) |
|
void | segment_manager_app_detach (segment_manager_t *sm) |
|
static u32 | segment_manager_segment_index (segment_manager_t *sm, fifo_segment_t *seg) |
|
int | segment_manager_add_segment (segment_manager_t *sm, uword segment_size, u8 notify_app) |
| Adds segment to segment manager's pool. More...
|
|
void | segment_manager_del_segment (segment_manager_t *sm, fifo_segment_t *fs) |
| Remove segment without lock. More...
|
|
static fifo_segment_t * | segment_manager_get_segment_if_valid (segment_manager_t *sm, u32 segment_index) |
|
static void | sm_lock_and_del_segment_inline (segment_manager_t *sm, u32 fs_index) |
| Removes segment after acquiring writer lock. More...
|
|
void | segment_manager_lock_and_del_segment (segment_manager_t *sm, u32 fs_index) |
|
fifo_segment_t * | segment_manager_get_segment (segment_manager_t *sm, u32 segment_index) |
| Reads a segment from the segment manager's pool without lock. More...
|
|
u64 | segment_manager_segment_handle (segment_manager_t *sm, fifo_segment_t *segment) |
|
u64 | segment_manager_make_segment_handle (u32 segment_manager_index, u32 segment_index) |
|
fifo_segment_t * | segment_manager_get_segment_w_handle (u64 segment_handle) |
|
fifo_segment_t * | segment_manager_get_segment_w_lock (segment_manager_t *sm, u32 segment_index) |
| Reads a segment from the segment manager's pool and acquires reader lock. More...
|
|
void | segment_manager_segment_reader_lock (segment_manager_t *sm) |
|
void | segment_manager_segment_reader_unlock (segment_manager_t *sm) |
|
void | segment_manager_segment_writer_unlock (segment_manager_t *sm) |
|
segment_manager_t * | segment_manager_alloc (void) |
|
int | segment_manager_init (segment_manager_t *sm) |
|
int | segment_manager_init_first (segment_manager_t *sm) |
| Initializes segment manager based on options provided. More...
|
|
void | segment_manager_cleanup_detached_listener (segment_manager_t *sm) |
|
void | segment_manager_free (segment_manager_t *sm) |
| Cleanup segment manager. More...
|
|
static void | sm_free_w_index_helper (void *arg) |
|
static void | segment_manager_free_safe (segment_manager_t *sm) |
|
void | segment_manager_init_free (segment_manager_t *sm) |
| Initiate segment manager cleanup. More...
|
|
segment_manager_t * | segment_manager_get (u32 index) |
|
segment_manager_t * | segment_manager_get_if_valid (u32 index) |
|
u32 | segment_manager_index (segment_manager_t *sm) |
|
u8 | segment_manager_has_fifos (segment_manager_t *sm) |
|
void | segment_manager_del_sessions (segment_manager_t *sm) |
| Initiate disconnects for all sessions 'owned' by a segment manager. More...
|
|
void | segment_manager_del_sessions_filter (segment_manager_t *sm, session_state_t *states) |
| Initiate disconnects for sessions in specified state 'owned' by a segment manager. More...
|
|
int | segment_manager_try_alloc_fifos (fifo_segment_t *fifo_segment, u32 thread_index, u32 rx_fifo_size, u32 tx_fifo_size, svm_fifo_t **rx_fifo, svm_fifo_t **tx_fifo) |
|
int | segment_manager_alloc_session_fifos (segment_manager_t *sm, u32 thread_index, svm_fifo_t **rx_fifo, svm_fifo_t **tx_fifo) |
|
void | segment_manager_dealloc_fifos (svm_fifo_t *rx_fifo, svm_fifo_t *tx_fifo) |
|
void | segment_manager_detach_fifo (segment_manager_t *sm, svm_fifo_t **f) |
|
void | segment_manager_attach_fifo (segment_manager_t *sm, svm_fifo_t **f, session_t *s) |
|
u32 | segment_manager_evt_q_expected_size (u32 q_len) |
|
svm_msg_q_t * | segment_manager_alloc_queue (fifo_segment_t *segment, segment_manager_props_t *props) |
| Allocates shm queue in the first segment. More...
|
|
svm_msg_q_t * | segment_manager_event_queue (segment_manager_t *sm) |
|
void | segment_manager_dealloc_queue (segment_manager_t *sm, svm_queue_t *q) |
| Frees shm queue allocated in the first segment. More...
|
|
void | segment_manager_main_init (void) |
|
static clib_error_t * | segment_manager_show_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
void | segment_manager_format_sessions (segment_manager_t *sm, int verbose) |
|
void | segment_manager_set_watermarks (segment_manager_t *sm, u8 high_watermark, u8 low_watermark) |
|