Go to the source code of this file.
|
segment_manager_properties_t * | segment_manager_properties_alloc (void) |
|
void | segment_manager_properties_free (segment_manager_properties_t *props) |
|
segment_manager_properties_t * | segment_manager_properties_get (u32 smp_index) |
|
u32 | segment_manager_properties_index (segment_manager_properties_t *p) |
|
void | segment_manager_get_segment_info (u32 index, u8 **name, u32 *size) |
|
static int | session_manager_add_segment_i (segment_manager_t *sm, u32 segment_size, u8 *segment_name) |
|
int | session_manager_add_segment (segment_manager_t *sm) |
|
int | session_manager_add_first_segment (segment_manager_t *sm, u32 segment_size) |
|
segment_manager_t * | segment_manager_new () |
|
int | segment_manager_init (segment_manager_t *sm, u32 props_index, u32 first_seg_size) |
| Initializes segment manager based on options provided. More...
|
|
u8 | segment_manager_has_fifos (segment_manager_t *sm) |
|
static u8 | segment_manager_app_detached (segment_manager_t *sm) |
|
void | segment_manager_app_detach (segment_manager_t *sm) |
|
static void | segment_manager_del_segment (segment_manager_t *sm, u32 segment_index) |
|
void | segment_manager_del_sessions (segment_manager_t *sm) |
| Initiate disconnects for all sessions 'owned' by a segment manager. More...
|
|
void | segment_manager_del (segment_manager_t *sm) |
| Removes segment manager. More...
|
|
void | segment_manager_init_del (segment_manager_t *sm) |
|
int | segment_manager_alloc_session_fifos (segment_manager_t *sm, svm_fifo_t **server_rx_fifo, svm_fifo_t **server_tx_fifo, u32 *fifo_segment_index) |
|
void | segment_manager_dealloc_fifos (u32 svm_segment_index, svm_fifo_t *rx_fifo, svm_fifo_t *tx_fifo) |
|
unix_shared_memory_queue_t * | segment_manager_alloc_queue (segment_manager_t *sm, u32 queue_size) |
| Allocates shm queue in the first segment. More...
|
|
void | segment_manager_dealloc_queue (segment_manager_t *sm, unix_shared_memory_queue_t *q) |
| Frees shm queue allocated in the first segment. More...
|
|
static clib_error_t * | segment_manager_show_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
Removes segment manager.
Since the fifos allocated in the segment keep backpointers to the sessions prior to removing the segment, we call session disconnect. This subsequently propagates into transport.
Definition at line 332 of file segment_manager.c.
Initiate disconnects for all sessions 'owned' by a segment manager.
Definition at line 278 of file segment_manager.c.
void segment_manager_get_segment_info |
( |
u32 |
index, |
|
|
u8 ** |
name, |
|
|
u32 * |
size |
|
) |
| |
Initializes segment manager based on options provided.
Returns error if svm segment allocation fails.
Definition at line 205 of file segment_manager.c.
u32 default_fifo_size = 1 << 16 |
u32 default_segment_size = 1 << 20 |
u32* private_segment_indices |
Initial value:=
{
.path = "show segment-manager",
.short_help = "show segment-manager [segments][verbose]",
}
static clib_error_t * segment_manager_show_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
(constructor) VLIB_CLI_COMMAND (segment_manager_show_command)
Definition at line 659 of file segment_manager.c.
u32 segment_name_counter = 0 |