16 #ifndef SRC_VNET_SESSION_TRANSPORT_INTERFACE_H_ 17 #define SRC_VNET_SESSION_TRANSPORT_INTERFACE_H_ 43 typedef struct _transport_proto_vft
51 void (*close) (
u32 conn_index,
u32 thread_index);
63 void (*update_time) (
f64 time_now,
u8 thread_index);
75 u8 *(*format_connection) (
u8 * s, va_list * args);
76 u8 *(*format_listener) (
u8 * s, va_list * args);
77 u8 *(*format_half_open) (
u8 * s, va_list * args);
89 #define transport_proto_foreach(VAR, BODY) \ 91 for (VAR = 0; VAR < vec_len (tp_vfts); VAR++) \ 92 if (tp_vfts[VAR].push_header != 0) \ 93 do { BODY; } while (0); \
struct _transport_connection transport_connection_t
struct _transport_proto_vft transport_proto_vft_t
enum transport_service_type_ transport_service_type_t
enum fib_protocol_t_ fib_protocol_t
Protocol Type.
void transport_enable_disable(vlib_main_t *vm, u8 is_en)
void transport_update_time(f64 time_now, u8 thread_index)
enum transport_dequeue_type_ transport_tx_fn_type_t
void transport_register_protocol(transport_proto_t transport_proto, const transport_proto_vft_t *vft, fib_protocol_t fib_proto, u32 output_node)
Register transport virtual function table.
transport_proto_vft_t * tp_vfts
Per-type vector of transport protocol virtual function tables.
static void cleanup(void)
reliable transport protos
transport_tx_fn_type_t transport_protocol_tx_fn_type(transport_proto_t tp)
apps acting as transports
transport_proto_vft_t * transport_protocol_get_vft(transport_proto_t tp)
Get transport virtual function table.
unreliable transport protos
enum _transport_proto transport_proto_t
struct _transport_endpoint transport_endpoint_t
transport_service_type_t transport_protocol_service_type(transport_proto_t)