|
| int | stream_session_create_i (segment_manager_t *sm, transport_connection_t *tc, u8 alloc_fifos, stream_session_t **ret_s) |
| |
| static void | session_enqueue_discard_chain_bytes (vlib_main_t *vm, vlib_buffer_t *b, vlib_buffer_t **chain_b, u32 n_bytes_to_drop) |
| | Discards bytes from buffer chain. More...
|
| |
| static int | session_enqueue_chain_tail (stream_session_t *s, vlib_buffer_t *b, u32 offset, u8 is_in_order) |
| | Enqueue buffer chain tail. More...
|
| |
| int | stream_session_enqueue_data (transport_connection_t *tc, vlib_buffer_t *b, u32 offset, u8 queue_event, u8 is_in_order) |
| |
| u8 | stream_session_no_space (transport_connection_t *tc, u32 thread_index, u16 data_len) |
| | Check if we have space in rx fifo to push more bytes. More...
|
| |
| u32 | stream_session_tx_fifo_max_dequeue (transport_connection_t *tc) |
| |
| 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) |
| |
| static int | stream_session_enqueue_notify (stream_session_t *s, u8 block) |
| | Notify session peer that new data has been enqueued. More...
|
| |
| int | session_manager_flush_enqueue_events (u32 thread_index) |
| | Flushes queue of sessions that are to be notified of new data enqueued events. More...
|
| |
| void | stream_session_init_fifos_pointers (transport_connection_t *tc, u32 rx_pointer, u32 tx_pointer) |
| | Init fifo tail and head pointers. More...
|
| |
| int | stream_session_connect_notify (transport_connection_t *tc, u8 is_fail) |
| |
| 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 (stream_session_t *s) |
| | Cleans up session and lookup table. 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 sst, u8 notify) |
| | Accept a stream session. More...
|
| |
| int | stream_session_open (u32 app_index, session_type_t st, transport_endpoint_t *rmt, transport_connection_t **res) |
| | Ask transport to open connection to remote transport endpoint. More...
|
| |
| int | stream_session_listen (stream_session_t *s, transport_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 | session_send_session_evt_to_thread (u64 session_handle, fifo_event_type_t evt_type, u32 thread_index) |
| |
| 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_vpp_event_queue_allocate (session_manager_main_t *smm, u32 thread_index) |
| | Allocate vpp event queue (once) per worker thread. More...
|
| |
| session_type_t | session_type_from_proto_and_ip (transport_proto_t proto, u8 is_ip4) |
| |
| static clib_error_t * | session_manager_main_enable (vlib_main_t *vm) |
| |
| void | session_node_enable_disable (u8 is_en) |
| |
| clib_error_t * | vnet_session_enable_disable (vlib_main_t *vm, u8 is_en) |
| |
| clib_error_t * | session_manager_main_init (vlib_main_t *vm) |
| |
| static clib_error_t * | session_config_fn (vlib_main_t *vm, unformat_input_t *input) |
| |
Session and session manager.
Definition in file session.c.