![]() |
FD.io VPP
v20.09-64-g4f7b92f0a
Vector Packet Processing
|
Include dependency graph for segment_manager.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | segment_manager_main_init_args_ |
Macros | |
| #define | SEGMENT_MANAGER_INVALID_APP_INDEX ((u32) ~0) |
Typedefs | |
| typedef struct _segment_manager_props | segment_manager_props_t |
| typedef enum seg_manager_flag_ | seg_manager_flag_t |
| typedef struct _segment_manager | segment_manager_t |
| typedef struct segment_manager_main_init_args_ | segment_manager_main_init_args_t |
Enumerations | |
| enum | seg_manager_flag_ { SEG_MANAGER_F_DETACHED = 1 << 0, SEG_MANAGER_F_DETACHED_LISTENER = 1 << 1 } |
| #define SEGMENT_MANAGER_INVALID_APP_INDEX ((u32) ~0) |
Definition at line 87 of file segment_manager.h.
| typedef enum seg_manager_flag_ seg_manager_flag_t |
| typedef struct segment_manager_main_init_args_ segment_manager_main_init_args_t |
| typedef struct _segment_manager_props segment_manager_props_t |
| typedef struct _segment_manager segment_manager_t |
| enum seg_manager_flag_ |
| Enumerator | |
|---|---|
| SEG_MANAGER_F_DETACHED | |
| SEG_MANAGER_F_DETACHED_LISTENER | |
Definition at line 45 of file segment_manager.h.
| int segment_manager_add_first_segment | ( | segment_manager_t * | sm, |
| u32 | segment_size | ||
| ) |
| int segment_manager_add_segment | ( | segment_manager_t * | sm, |
| uword | segment_size | ||
| ) |
Adds segment to segment manager's pool.
If needed a writer's lock is acquired before allocating a new segment to avoid affecting any of the segments pool readers.
Definition at line 92 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| segment_manager_t* segment_manager_alloc | ( | void | ) |
Definition at line 319 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| svm_msg_q_t* segment_manager_alloc_queue | ( | fifo_segment_t * | segment, |
| segment_manager_props_t * | props | ||
| ) |
Allocates shm queue in the first segment.
Must be called with lock held
Definition at line 820 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int segment_manager_alloc_session_fifos | ( | segment_manager_t * | sm, |
| u32 | thread_index, | ||
| svm_fifo_t ** | rx_fifo, | ||
| svm_fifo_t ** | tx_fifo | ||
| ) |
Definition at line 625 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_app_detach | ( | segment_manager_t * | sm | ) |
| u8 segment_manager_app_detached | ( | segment_manager_t * | sm | ) |
| void segment_manager_attach_fifo | ( | segment_manager_t * | sm, |
| svm_fifo_t * | f, | ||
| session_t * | s | ||
| ) |
Definition at line 784 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_dealloc_fifos | ( | svm_fifo_t * | rx_fifo, |
| svm_fifo_t * | tx_fifo | ||
| ) |
Definition at line 729 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_dealloc_queue | ( | segment_manager_t * | sm, |
| svm_queue_t * | q | ||
| ) |
Frees shm queue allocated in the first segment.
Definition at line 864 of file segment_manager.c.
Here is the call graph for this function:| void segment_manager_del_segment | ( | segment_manager_t * | sm, |
| fifo_segment_t * | fs | ||
| ) |
Remove segment without lock.
Definition at line 189 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_del_sessions | ( | segment_manager_t * | sm | ) |
Cleanup segment manager sessions.
Initiates disconnects for all sessions 'owned' by a segment manager by leveraging the backpointers that fifos keep.
| sm | segment manager whose sessions are to be disconnected |
Cleanup segment manager sessions.
Definition at line 538 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_detach_fifo | ( | segment_manager_t * | sm, |
| svm_fifo_t * | f | ||
| ) |
Definition at line 774 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| svm_msg_q_t* segment_manager_event_queue | ( | segment_manager_t * | sm | ) |
| void segment_manager_format_sessions | ( | segment_manager_t * | sm, |
| int | verbose | ||
| ) |
Definition at line 977 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_free | ( | segment_manager_t * | sm | ) |
Cleanup segment manager.
| sm | segment manager to be freed |
Definition at line 444 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| segment_manager_t* segment_manager_get | ( | u32 | index | ) |
| segment_manager_t* segment_manager_get_if_valid | ( | u32 | 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.
Definition at line 252 of file segment_manager.c.
Here is the caller graph for this function:| fifo_segment_t* segment_manager_get_segment_w_handle | ( | u64 | sh | ) |
Definition at line 273 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| 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.
Caller must drop the reader's lock by calling segment_manager_segment_reader_unlock once it finishes working with the segment.
Definition at line 294 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u8 segment_manager_has_fifos | ( | segment_manager_t * | sm | ) |
Definition at line 509 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u32 segment_manager_index | ( | segment_manager_t * | sm | ) |
| int segment_manager_init | ( | segment_manager_t * | sm | ) |
Initializes segment manager based on options provided.
Returns error if ssvm segment(s) allocation fails.
Definition at line 334 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_init_free | ( | segment_manager_t * | sm | ) |
Initiate segment manager cleanup.
| sm | segment manager to be freed |
Definition at line 476 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_main_init | ( | segment_manager_main_init_args_t * | a | ) |
Definition at line 885 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| segment_manager_props_t* segment_manager_props_init | ( | segment_manager_props_t * | sm | ) |
Definition at line 54 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| u64 segment_manager_segment_handle | ( | segment_manager_t * | sm, |
| fifo_segment_t * | segment | ||
| ) |
Definition at line 258 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_segment_reader_unlock | ( | segment_manager_t * | sm | ) |
Definition at line 307 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_segment_writer_unlock | ( | segment_manager_t * | sm | ) |
| void segment_manager_set_watermarks | ( | segment_manager_t * | sm, |
| u8 | high_watermark, | ||
| u8 | low_watermark | ||
| ) |
| int segment_manager_try_alloc_fifos | ( | fifo_segment_t * | fs, |
| u32 | thread_index, | ||
| u32 | rx_fifo_size, | ||
| u32 | tx_fifo_size, | ||
| svm_fifo_t ** | rx_fifo, | ||
| svm_fifo_t ** | tx_fifo | ||
| ) |
Definition at line 586 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function: