|
static void | stream_session_table_add_for_tc (u8 sst, transport_connection_t *tc, u64 value) |
|
void | stream_session_table_add (session_manager_main_t *smm, stream_session_t *s, u64 value) |
|
static void | stream_session_half_open_table_add (u8 sst, transport_connection_t *tc, u64 value) |
|
static int | stream_session_table_del_for_tc (session_manager_main_t *smm, u8 sst, transport_connection_t *tc) |
|
static int | stream_session_table_del (session_manager_main_t *smm, stream_session_t *s) |
|
static void | stream_session_half_open_table_del (session_manager_main_t *smm, u8 sst, transport_connection_t *tc) |
|
stream_session_t * | stream_session_lookup_listener4 (ip4_address_t *lcl, u16 lcl_port, u8 proto) |
|
stream_session_t * | stream_session_lookup4 (ip4_address_t *lcl, ip4_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto, u32 my_thread_index) |
| Looks up a session based on the 5-tuple passed as argument. More...
|
|
stream_session_t * | stream_session_lookup_listener6 (ip6_address_t *lcl, u16 lcl_port, u8 proto) |
|
stream_session_t * | stream_session_lookup6 (ip6_address_t *lcl, ip6_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto, u32 my_thread_index) |
|
stream_session_t * | stream_session_lookup_listener (ip46_address_t *lcl, u16 lcl_port, u8 proto) |
|
static u64 | stream_session_half_open_lookup (session_manager_main_t *smm, ip46_address_t *lcl, ip46_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto) |
|
transport_connection_t * | stream_session_lookup_transport4 (ip4_address_t *lcl, ip4_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto, u32 my_thread_index) |
|
transport_connection_t * | stream_session_lookup_transport6 (ip6_address_t *lcl, ip6_address_t *rmt, u16 lcl_port, u16 rmt_port, u8 proto, u32 my_thread_index) |
|
void | vpp_session_event_queue_allocate (session_manager_main_t *smm, u32 thread_index) |
| Allocate vpp event queue (once) per worker thread. More...
|
|
void | session_manager_get_segment_info (u32 index, u8 **name, u32 *size) |
|
static int | session_manager_add_segment_i (session_manager_main_t *smm, session_manager_t *sm, u32 segment_size, u8 *segment_name) |
|
static int | session_manager_add_segment (session_manager_main_t *smm, session_manager_t *sm) |
|
int | session_manager_add_first_segment (session_manager_main_t *smm, session_manager_t *sm, u32 segment_size, u8 **segment_name) |
|
void | session_manager_del (session_manager_main_t *smm, session_manager_t *sm) |
|
int | session_manager_allocate_session_fifos (session_manager_main_t *smm, session_manager_t *sm, svm_fifo_t **server_rx_fifo, svm_fifo_t **server_tx_fifo, u32 *fifo_segment_index, u8 *added_a_segment) |
|
int | stream_session_create_i (session_manager_main_t *smm, application_t *app, transport_connection_t *tc, stream_session_t **ret_s) |
|
int | stream_session_enqueue_data (transport_connection_t *tc, u8 *data, u16 len, u8 queue_event) |
|
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_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...
|
|
int | stream_session_start_listen (u32 server_index, ip46_address_t *ip, u16 port) |
|
void | stream_session_stop_listen (u32 server_index) |
|
int | connect_server_add_segment_cb (application_t *ss, char *segment_name, u32 segment_size) |
|
void | connects_session_manager_init (session_manager_main_t *smm, u8 session_type) |
|
void | stream_session_connect_notify (transport_connection_t *tc, u8 sst, 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 associated app if needed. 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 (u8 sst, ip46_address_t *addr, u16 port_host_byte_order, u32 app_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_register_transport (u8 type, const transport_proto_vft_t *vft) |
|
transport_proto_vft_t * | session_get_transport_vft (u8 type) |
|
static clib_error_t * | session_manager_main_enable (vlib_main_t *vm) |
|
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) |
|
Session and session manager.
Definition in file session.c.