|
static const char * | fifo_event_type_str (fifo_event_type_t et) |
|
typedef | CLIB_PACKED (struct{union{svm_fifo_t *fifo;u64 session_handle;rpc_args_t rpc_args;};u8 event_type;u8 postponed;}) session_fifo_event_t |
|
u8 | session_node_lookup_fifo_event (svm_fifo_t *f, session_fifo_event_t *e) |
|
static session_manager_main_t * | vnet_get_session_manager_main () |
|
static u8 | stream_session_is_valid (u32 si, u8 thread_index) |
|
stream_session_t * | session_alloc (u32 thread_index) |
|
static stream_session_t * | session_get (u32 si, u32 thread_index) |
|
static stream_session_t * | session_get_if_valid (u64 si, u32 thread_index) |
|
static u64 | session_handle (stream_session_t *s) |
|
static u32 | session_index_from_handle (u64 handle) |
|
static u32 | session_thread_from_handle (u64 handle) |
|
static void | session_parse_handle (u64 handle, u32 *index, u32 *thread_index) |
|
static stream_session_t * | session_get_from_handle (u64 handle) |
|
static transport_proto_t | session_get_transport_proto (stream_session_t *s) |
|
static session_type_t | session_type_from_proto_and_ip (transport_proto_t proto, u8 is_ip4) |
|
static void | session_pool_add_peeker (u32 thread_index) |
| Acquires a lock that blocks a session pool from expanding. More...
|
|
static void | session_pool_remove_peeker (u32 thread_index) |
|
static stream_session_t * | session_get_from_handle_safe (u64 handle) |
| Get session from handle and 'lock' pool resize if not in same thread. More...
|
|
static stream_session_t * | stream_session_listener_get (u8 sst, u64 si) |
|
static u32 | stream_session_get_index (stream_session_t *s) |
|
static u32 | stream_session_max_rx_enqueue (transport_connection_t *tc) |
|
static u32 | stream_session_rx_fifo_size (transport_connection_t *tc) |
|
static u32 | session_get_index (stream_session_t *s) |
|
static stream_session_t * | session_clone_safe (u32 session_index, u32 thread_index) |
|
transport_connection_t * | session_get_transport (stream_session_t *s) |
|
u32 | stream_session_tx_fifo_max_dequeue (transport_connection_t *tc) |
|
int | session_enqueue_stream_connection (transport_connection_t *tc, vlib_buffer_t *b, u32 offset, u8 queue_event, u8 is_in_order) |
|
int | session_enqueue_dgram_connection (stream_session_t *s, vlib_buffer_t *b, u8 proto, u8 queue_event) |
|
int | stream_session_peek_bytes (transport_connection_t *tc, u8 *buffer, u32 offset, u32 max_bytes) |
|
u32 | stream_session_dequeue_drop (transport_connection_t *tc, u32 max_bytes) |
|
int | session_stream_connect_notify (transport_connection_t *tc, u8 is_fail) |
|
int | session_dgram_connect_notify (transport_connection_t *tc, u32 old_thread_index, stream_session_t **new_session) |
| Move dgram session to the right thread. More...
|
|
void | stream_session_init_fifos_pointers (transport_connection_t *tc, u32 rx_pointer, u32 tx_pointer) |
| Init fifo tail and head pointers. More...
|
|
void | stream_session_accept_notify (transport_connection_t *tc) |
|
void | stream_session_disconnect_notify (transport_connection_t *tc) |
| Notification from transport that connection is being closed. More...
|
|
void | stream_session_delete_notify (transport_connection_t *tc) |
| Notification from transport that connection is being deleted. More...
|
|
void | stream_session_reset_notify (transport_connection_t *tc) |
| Notify application that connection has been reset. More...
|
|
int | stream_session_accept (transport_connection_t *tc, u32 listener_index, u8 notify) |
| Accept a stream session. More...
|
|
int | session_open (u32 app_index, session_endpoint_t *tep, u32 opaque) |
| Ask transport to open connection to remote transport endpoint. More...
|
|
int | stream_session_listen (stream_session_t *s, session_endpoint_t *tep) |
| Ask transport to listen on local transport endpoint. More...
|
|
int | stream_session_stop_listen (stream_session_t *s) |
| Ask transport to stop listening on local transport endpoint. More...
|
|
void | stream_session_disconnect (stream_session_t *s) |
| Disconnect session and propagate to transport. More...
|
|
void | stream_session_cleanup (stream_session_t *s) |
| Cleanup transport and session state. More...
|
|
void | session_send_session_evt_to_thread (u64 session_handle, fifo_event_type_t evt_type, u32 thread_index) |
|
u8 * | format_stream_session (u8 *s, va_list *args) |
| Format stream session as per the following format. More...
|
|
uword | unformat_stream_session (unformat_input_t *input, va_list *args) |
|
uword | unformat_transport_connection (unformat_input_t *input, va_list *args) |
|
void | session_register_transport (transport_proto_t transport_proto, const transport_proto_vft_t *vft, u8 is_ip4, u32 output_node) |
| Initialize session layer for given transport proto and ip version. More...
|
|
clib_error_t * | vnet_session_enable_disable (vlib_main_t *vm, u8 is_en) |
|
static unix_shared_memory_queue_t * | session_manager_get_vpp_event_queue (u32 thread_index) |
|
int | session_manager_flush_enqueue_events (u8 proto, u32 thread_index) |
| Flushes queue of sessions that are to be notified of new data enqueued events. More...
|
|
static u64 | listen_session_get_handle (stream_session_t *s) |
|
static stream_session_t * | listen_session_get_from_handle (u64 handle) |
|
static stream_session_t * | listen_session_new (session_type_t type) |
|
static stream_session_t * | listen_session_get (session_type_t type, u32 index) |
|
static void | listen_session_del (stream_session_t *s) |
|
transport_connection_t * | listen_session_get_transport (stream_session_t *s) |
|
int | listen_session_get_local_session_endpoint (stream_session_t *listener, session_endpoint_t *sep) |
|
static stream_session_t * | session_manager_get_listener (u8 session_type, u32 index) |
|
static void | session_manager_set_transport_rx_fn (session_type_t type, u8 is_peek) |
| Set peek or dequeue function for given session type. More...
|
|
static u8 | session_manager_is_enabled () |
|
void | session_node_enable_disable (u8 is_en) |
|