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);
44 void (*update_time) (
f64 time_now,
u8 thread_index);
56 u8 *(*format_connection) (
u8 * s, va_list * args);
57 u8 *(*format_listener) (
u8 * s, va_list * args);
58 u8 *(*format_half_open) (
u8 * s, va_list * args);
63 #define transport_proto_foreach(VAR, BODY) \ 65 for (VAR = 0; VAR < vec_len (tp_vfts); VAR++) \ 66 if (tp_vfts[VAR].push_header != 0) \ 67 do { BODY; } while (0); \ struct _transport_connection transport_connection_t
struct _transport_proto_vft transport_proto_vft_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)
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)
transport_proto_vft_t * transport_protocol_get_vft(transport_proto_t tp)
Get transport virtual function table.
enum _transport_proto transport_proto_t
struct _transport_endpoint transport_endpoint_t