FD.io VPP  v19.04.2-12-g66b1689
Vector Packet Processing
udp.c File Reference

udp state machine, etc. More...

+ Include dependency graph for udp.c:

Go to the source code of this file.

Functions

udp_connection_tudp_connection_alloc (u32 thread_index)
 
void udp_connection_free (udp_connection_t *uc)
 
u32 udp_session_bind (u32 session_index, transport_endpoint_t *lcl)
 
u32 udp_session_unbind (u32 listener_index)
 
transport_connection_tudp_session_get_listener (u32 listener_index)
 
u32 udp_push_header (transport_connection_t *tc, vlib_buffer_t *b)
 
transport_connection_tudp_session_get (u32 connection_index, u32 thread_index)
 
void udp_session_close (u32 connection_index, u32 thread_index)
 
void udp_session_cleanup (u32 connection_index, u32 thread_index)
 
u8format_udp_connection_id (u8 *s, va_list *args)
 
u8format_udp_connection (u8 *s, va_list *args)
 
u8format_udp_session (u8 *s, va_list *args)
 
u8format_udp_half_open_session (u8 *s, va_list *args)
 
u8format_udp_listener_session (u8 *s, va_list *args)
 
u16 udp_send_mss (transport_connection_t *t)
 
u32 udp_send_space (transport_connection_t *t)
 
int udp_open_connection (transport_endpoint_cfg_t *rmt)
 
transport_connection_tudp_session_get_half_open (u32 conn_index)
 
int udpc_connection_open (transport_endpoint_cfg_t *rmt)
 
u32 udpc_connection_listen (u32 session_index, transport_endpoint_t *lcl)
 
static clib_error_tudp_init (vlib_main_t *vm)
 
static clib_error_tshow_udp_punt_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
 

Variables

udp_main_t udp_main
 
static const transport_proto_vft_t udp_proto
 
static const transport_proto_vft_t udpc_proto
 
static vlib_cli_command_t show_tcp_punt_command
 (constructor) VLIB_CLI_COMMAND (show_tcp_punt_command) More...
 

Detailed Description

udp state machine, etc.

Definition in file udp.c.

Function Documentation

u8* format_udp_connection ( u8 s,
va_list *  args 
)

Definition at line 207 of file udp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_udp_connection_id ( u8 s,
va_list *  args 
)

Definition at line 188 of file udp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_udp_half_open_session ( u8 s,
va_list *  args 
)

Definition at line 237 of file udp.c.

u8* format_udp_listener_session ( u8 s,
va_list *  args 
)

Definition at line 244 of file udp.c.

+ Here is the call graph for this function:

u8* format_udp_session ( u8 s,
va_list *  args 
)

Definition at line 225 of file udp.c.

+ Here is the call graph for this function:

static clib_error_t* show_udp_punt_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd_arg 
)
static

Definition at line 447 of file udp.c.

+ Here is the call graph for this function:

udp_connection_t* udp_connection_alloc ( u32  thread_index)

Definition at line 28 of file udp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void udp_connection_free ( udp_connection_t uc)

Definition at line 59 of file udp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* udp_init ( vlib_main_t vm)
static

Definition at line 387 of file udp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int udp_open_connection ( transport_endpoint_cfg_t rmt)

Definition at line 266 of file udp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 udp_push_header ( transport_connection_t tc,
vlib_buffer_t b 
)

Definition at line 128 of file udp.c.

+ Here is the call graph for this function:

u16 udp_send_mss ( transport_connection_t t)

Definition at line 252 of file udp.c.

u32 udp_send_space ( transport_connection_t t)

Definition at line 259 of file udp.c.

u32 udp_session_bind ( u32  session_index,
transport_endpoint_t lcl 
)

Definition at line 67 of file udp.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void udp_session_cleanup ( u32  connection_index,
u32  thread_index 
)

Definition at line 179 of file udp.c.

+ Here is the call graph for this function:

void udp_session_close ( u32  connection_index,
u32  thread_index 
)

Definition at line 164 of file udp.c.

+ Here is the call graph for this function:

transport_connection_t* udp_session_get ( u32  connection_index,
u32  thread_index 
)

Definition at line 154 of file udp.c.

+ Here is the call graph for this function:

transport_connection_t* udp_session_get_half_open ( u32  conn_index)

Definition at line 310 of file udp.c.

+ Here is the call graph for this function:

transport_connection_t* udp_session_get_listener ( u32  listener_index)

Definition at line 119 of file udp.c.

+ Here is the call graph for this function:

u32 udp_session_unbind ( u32  listener_index)

Definition at line 107 of file udp.c.

+ Here is the call graph for this function:

u32 udpc_connection_listen ( u32  session_index,
transport_endpoint_t lcl 
)

Definition at line 355 of file udp.c.

+ Here is the call graph for this function:

int udpc_connection_open ( transport_endpoint_cfg_t rmt)

Definition at line 344 of file udp.c.

+ Here is the call graph for this function:

Variable Documentation

vlib_cli_command_t show_tcp_punt_command
static
Initial value:
=
{
.path = "show udp punt",
.short_help = "show udp punt [ipv4|ipv6]",
.function = show_udp_punt_fn,
}
static clib_error_t * show_udp_punt_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd_arg)
Definition: udp.c:447

(constructor) VLIB_CLI_COMMAND (show_tcp_punt_command)

Definition at line 498 of file udp.c.

udp_main_t udp_main

Definition at line 25 of file udp.c.

const transport_proto_vft_t udp_proto
static
Initial value:
= {
.start_listen = udp_session_bind,
.connect = udp_open_connection,
.stop_listen = udp_session_unbind,
.push_header = udp_push_header,
.get_connection = udp_session_get,
.get_listener = udp_session_get_listener,
.get_half_open = udp_session_get_half_open,
.cleanup = udp_session_cleanup,
.send_mss = udp_send_mss,
.send_space = udp_send_space,
.format_connection = format_udp_session,
.format_half_open = format_udp_half_open_session,
.format_listener = format_udp_listener_session,
.tx_type = TRANSPORT_TX_DGRAM,
.service_type = TRANSPORT_SERVICE_CL,
}
void udp_session_cleanup(u32 connection_index, u32 thread_index)
Definition: udp.c:179
u8 * format_udp_session(u8 *s, va_list *args)
Definition: udp.c:225
transport_connection_t * udp_session_get_half_open(u32 conn_index)
Definition: udp.c:310
int udp_open_connection(transport_endpoint_cfg_t *rmt)
Definition: udp.c:266
transport_connection_t * udp_session_get_listener(u32 listener_index)
Definition: udp.c:119
u32 udp_push_header(transport_connection_t *tc, vlib_buffer_t *b)
Definition: udp.c:128
u32 udp_session_bind(u32 session_index, transport_endpoint_t *lcl)
Definition: udp.c:67
u32 udp_session_unbind(u32 listener_index)
Definition: udp.c:107
u16 udp_send_mss(transport_connection_t *t)
Definition: udp.c:252
datagram mode
void udp_session_close(u32 connection_index, u32 thread_index)
Definition: udp.c:164
connectionless service
u8 * format_udp_half_open_session(u8 *s, va_list *args)
Definition: udp.c:237
transport_connection_t * udp_session_get(u32 connection_index, u32 thread_index)
Definition: udp.c:154
u32 udp_send_space(transport_connection_t *t)
Definition: udp.c:259
u8 * format_udp_listener_session(u8 *s, va_list *args)
Definition: udp.c:244

Definition at line 322 of file udp.c.

const transport_proto_vft_t udpc_proto
static
Initial value:
= {
.start_listen = udpc_connection_listen,
.stop_listen = udp_session_unbind,
.push_header = udp_push_header,
.get_connection = udp_session_get,
.get_listener = udp_session_get_listener,
.get_half_open = udp_session_get_half_open,
.cleanup = udp_session_cleanup,
.send_mss = udp_send_mss,
.send_space = udp_send_space,
.format_connection = format_udp_session,
.format_half_open = format_udp_half_open_session,
.format_listener = format_udp_listener_session,
.service_type = TRANSPORT_SERVICE_CL,
}
void udp_session_cleanup(u32 connection_index, u32 thread_index)
Definition: udp.c:179
u8 * format_udp_session(u8 *s, va_list *args)
Definition: udp.c:225
transport_connection_t * udp_session_get_half_open(u32 conn_index)
Definition: udp.c:310
transport_connection_t * udp_session_get_listener(u32 listener_index)
Definition: udp.c:119
u32 udp_push_header(transport_connection_t *tc, vlib_buffer_t *b)
Definition: udp.c:128
int udpc_connection_open(transport_endpoint_cfg_t *rmt)
Definition: udp.c:344
u32 udp_session_unbind(u32 listener_index)
Definition: udp.c:107
u16 udp_send_mss(transport_connection_t *t)
Definition: udp.c:252
u32 udpc_connection_listen(u32 session_index, transport_endpoint_t *lcl)
Definition: udp.c:355
void udp_session_close(u32 connection_index, u32 thread_index)
Definition: udp.c:164
connectionless service
u8 * format_udp_half_open_session(u8 *s, va_list *args)
Definition: udp.c:237
unreliable transport protos
transport_connection_t * udp_session_get(u32 connection_index, u32 thread_index)
Definition: udp.c:154
u32 udp_send_space(transport_connection_t *t)
Definition: udp.c:259
u8 * format_udp_listener_session(u8 *s, va_list *args)
Definition: udp.c:244

Definition at line 366 of file udp.c.