16 #ifndef SRC_VNET_SESSION_TRANSPORT_INTERFACE_H_ 17 #define SRC_VNET_SESSION_TRANSPORT_INTERFACE_H_ 25 typedef struct _transport_proto_vft
33 void (*close) (
u32 conn_index,
u32 thread_index);
54 u8 *(*format_connection) (
u8 * s, va_list * args);
55 u8 *(*format_listener) (
u8 * s, va_list * args);
56 u8 *(*format_half_open) (
u8 * s, va_list * args);
61 #define TRANSPORT_ENDPOINT_INVALID_INDEX ((u32)~0) 64 ip46_address_t * ip,
u16 port);
transport_proto_vft_t * session_get_transport_vft(u8 session_type)
Get transport virtual function table.
struct _transport_connection transport_connection_t
struct _transport_proto_vft transport_proto_vft_t
clib_bihash_24_8_t transport_endpoint_table_t
void session_register_transport(transport_proto_t transport_proto, u8 is_ip4, const transport_proto_vft_t *vft)
Register transport virtual function table.
static void cleanup(void)
void transport_endpoint_table_add(transport_endpoint_table_t *ht, transport_endpoint_t *te, u32 value)
void transport_endpoint_table_del(transport_endpoint_table_t *ht, transport_endpoint_t *te)
enum _transport_proto transport_proto_t
u32 transport_endpoint_lookup(transport_endpoint_table_t *ht, ip46_address_t *ip, u16 port)
struct _transport_endpoint transport_endpoint_t