FD.io VPP  v19.01.3-6-g70449b9b9
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

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

◆ format_udp_connection()

u8* format_udp_connection ( u8 s,
va_list *  args 
)

Definition at line 205 of file udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_udp_connection_id()

u8* format_udp_connection_id ( u8 s,
va_list *  args 
)

Definition at line 186 of file udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_udp_half_open_session()

u8* format_udp_half_open_session ( u8 s,
va_list *  args 
)

Definition at line 235 of file udp.c.

◆ format_udp_listener_session()

u8* format_udp_listener_session ( u8 s,
va_list *  args 
)

Definition at line 242 of file udp.c.

+ Here is the call graph for this function:

◆ format_udp_session()

u8* format_udp_session ( u8 s,
va_list *  args 
)

Definition at line 223 of file udp.c.

+ Here is the call graph for this 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 
)
static

Definition at line 445 of file udp.c.

+ Here is the call graph for this function:

◆ udp_connection_alloc()

udp_connection_t* udp_connection_alloc ( u32  thread_index)

Definition at line 26 of file udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ udp_connection_free()

void udp_connection_free ( udp_connection_t uc)

Definition at line 57 of file udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ udp_init()

static clib_error_t* udp_init ( vlib_main_t vm)
static

Definition at line 385 of file udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ udp_open_connection()

int udp_open_connection ( transport_endpoint_cfg_t rmt)

Definition at line 264 of file udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ udp_push_header()

u32 udp_push_header ( transport_connection_t tc,
vlib_buffer_t b 
)

Definition at line 126 of file udp.c.

+ Here is the call graph for this function:

◆ udp_send_mss()

u16 udp_send_mss ( transport_connection_t t)

Definition at line 250 of file udp.c.

◆ udp_send_space()

u32 udp_send_space ( transport_connection_t t)

Definition at line 257 of file udp.c.

◆ udp_session_bind()

u32 udp_session_bind ( u32  session_index,
transport_endpoint_t lcl 
)

Definition at line 65 of file udp.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ udp_session_cleanup()

void udp_session_cleanup ( u32  connection_index,
u32  thread_index 
)

Definition at line 177 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_close()

void udp_session_close ( u32  connection_index,
u32  thread_index 
)

Definition at line 162 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_get()

transport_connection_t* udp_session_get ( u32  connection_index,
u32  thread_index 
)

Definition at line 152 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_get_half_open()

transport_connection_t* udp_session_get_half_open ( u32  conn_index)

Definition at line 308 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_get_listener()

transport_connection_t* udp_session_get_listener ( u32  listener_index)

Definition at line 117 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_unbind()

u32 udp_session_unbind ( u32  listener_index)

Definition at line 105 of file udp.c.

+ Here is the call graph for this function:

◆ udpc_connection_listen()

u32 udpc_connection_listen ( u32  session_index,
transport_endpoint_t lcl 
)

Definition at line 353 of file udp.c.

+ Here is the call graph for this function:

◆ udpc_connection_open()

int udpc_connection_open ( transport_endpoint_cfg_t rmt)

Definition at line 342 of file udp.c.

+ Here is the call graph for this function:

Variable Documentation

◆ show_tcp_punt_command

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:445

(constructor) VLIB_CLI_COMMAND (show_tcp_punt_command)

Definition at line 496 of file udp.c.

◆ udp_proto

const transport_proto_vft_t udp_proto
static
Initial value:
= {
.unbind = 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:177
u8 * format_udp_session(u8 *s, va_list *args)
Definition: udp.c:223
transport_connection_t * udp_session_get_half_open(u32 conn_index)
Definition: udp.c:308
int udp_open_connection(transport_endpoint_cfg_t *rmt)
Definition: udp.c:264
transport_connection_t * udp_session_get_listener(u32 listener_index)
Definition: udp.c:117
u32 udp_push_header(transport_connection_t *tc, vlib_buffer_t *b)
Definition: udp.c:126
connectionless service
u32 udp_session_bind(u32 session_index, transport_endpoint_t *lcl)
Definition: udp.c:65
u32 udp_session_unbind(u32 listener_index)
Definition: udp.c:105
u16 udp_send_mss(transport_connection_t *t)
Definition: udp.c:250
void udp_session_close(u32 connection_index, u32 thread_index)
Definition: udp.c:162
u8 * format_udp_half_open_session(u8 *s, va_list *args)
Definition: udp.c:235
transport_connection_t * udp_session_get(u32 connection_index, u32 thread_index)
Definition: udp.c:152
u32 udp_send_space(transport_connection_t *t)
Definition: udp.c:257
u8 * format_udp_listener_session(u8 *s, va_list *args)
Definition: udp.c:242

Definition at line 320 of file udp.c.

◆ udpc_proto

const transport_proto_vft_t udpc_proto
static
Initial value:
= {
.unbind = 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:177
u8 * format_udp_session(u8 *s, va_list *args)
Definition: udp.c:223
transport_connection_t * udp_session_get_half_open(u32 conn_index)
Definition: udp.c:308
transport_connection_t * udp_session_get_listener(u32 listener_index)
Definition: udp.c:117
u32 udp_push_header(transport_connection_t *tc, vlib_buffer_t *b)
Definition: udp.c:126
connectionless service
int udpc_connection_open(transport_endpoint_cfg_t *rmt)
Definition: udp.c:342
u32 udp_session_unbind(u32 listener_index)
Definition: udp.c:105
u16 udp_send_mss(transport_connection_t *t)
Definition: udp.c:250
unreliable transport protos
u32 udpc_connection_listen(u32 session_index, transport_endpoint_t *lcl)
Definition: udp.c:353
void udp_session_close(u32 connection_index, u32 thread_index)
Definition: udp.c:162
u8 * format_udp_half_open_session(u8 *s, va_list *args)
Definition: udp.c:235
transport_connection_t * udp_session_get(u32 connection_index, u32 thread_index)
Definition: udp.c:152
u32 udp_send_space(transport_connection_t *t)
Definition: udp.c:257
u8 * format_udp_listener_session(u8 *s, va_list *args)
Definition: udp.c:242

Definition at line 364 of file udp.c.