![]() |
FD.io VPP
v21.06-1-gbb7418cf9
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.
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 |
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 81 of file segment_manager.h.
| typedef enum seg_manager_flag_ seg_manager_flag_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, | ||
| u8 | notify_app | ||
| ) |
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 91 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 321 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 899 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 722 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 863 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 810 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 939 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 188 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 581 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_filter | ( | segment_manager_t * | sm, |
| session_state_t * | states | ||
| ) |
Initiate disconnects for sessions in specified state 'owned' by a segment manager.
Definition at line 634 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 853 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 1047 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 456 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 254 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 275 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 296 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 552 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 | ) |
Definition at line 332 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| int segment_manager_init_first | ( | segment_manager_t * | sm | ) |
Initializes segment manager based on options provided.
Returns error if ssvm segment(s) allocation fails.
Definition at line 353 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 517 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void segment_manager_lock_and_del_segment | ( | segment_manager_t * | sm, |
| u32 | fs_index | ||
| ) |
Definition at line 245 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 | ( | void | ) |
| segment_manager_props_t* segment_manager_props_init | ( | segment_manager_props_t * | sm | ) |
Definition at line 53 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 260 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 309 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 683 of file segment_manager.c.
Here is the call graph for this function:
Here is the caller graph for this function: