FD.io VPP  v20.01-48-g3e0dafb74
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)
 
void udp_connection_delete (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

◆ format_udp_connection()

u8* format_udp_connection ( u8 s,
va_list *  args 
)

Definition at line 227 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 208 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 257 of file udp.c.

◆ format_udp_listener_session()

u8* format_udp_listener_session ( u8 s,
va_list *  args 
)

Definition at line 266 of file udp.c.

◆ format_udp_session()

u8* format_udp_session ( u8 s,
va_list *  args 
)

Definition at line 245 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 487 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 28 of file udp.c.

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

◆ udp_connection_delete()

void udp_connection_delete ( udp_connection_t uc)

Definition at line 68 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 59 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 428 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 290 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 142 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 276 of file udp.c.

◆ udp_send_space()

u32 udp_send_space ( transport_connection_t t)

Definition at line 283 of file udp.c.

◆ udp_session_bind()

u32 udp_session_bind ( u32  session_index,
transport_endpoint_t lcl 
)

Definition at line 80 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 199 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 184 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 174 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 335 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 133 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 121 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 388 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 373 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:487

(constructor) VLIB_CLI_COMMAND (show_tcp_punt_command)

Definition at line 538 of file udp.c.

◆ udp_main

udp_main_t udp_main

Definition at line 25 of file udp.c.

◆ udp_proto

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,
.transport_options = {
.tx_type = TRANSPORT_TX_DGRAM,
.service_type = TRANSPORT_SERVICE_CL,
},
}
void udp_session_cleanup(u32 connection_index, u32 thread_index)
Definition: udp.c:199
u8 * format_udp_session(u8 *s, va_list *args)
Definition: udp.c:245
transport_connection_t * udp_session_get_half_open(u32 conn_index)
Definition: udp.c:335
int udp_open_connection(transport_endpoint_cfg_t *rmt)
Definition: udp.c:290
transport_connection_t * udp_session_get_listener(u32 listener_index)
Definition: udp.c:133
u32 udp_push_header(transport_connection_t *tc, vlib_buffer_t *b)
Definition: udp.c:142
u32 udp_session_bind(u32 session_index, transport_endpoint_t *lcl)
Definition: udp.c:80
u32 udp_session_unbind(u32 listener_index)
Definition: udp.c:121
u16 udp_send_mss(transport_connection_t *t)
Definition: udp.c:276
datagram mode
void udp_session_close(u32 connection_index, u32 thread_index)
Definition: udp.c:184
connectionless service
u8 * format_udp_half_open_session(u8 *s, va_list *args)
Definition: udp.c:257
transport_connection_t * udp_session_get(u32 connection_index, u32 thread_index)
Definition: udp.c:174
u32 udp_send_space(transport_connection_t *t)
Definition: udp.c:283
u8 * format_udp_listener_session(u8 *s, va_list *args)
Definition: udp.c:266

Definition at line 349 of file udp.c.

◆ udpc_proto

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,
.transport_options = {
.tx_type = TRANSPORT_TX_DGRAM,
.service_type = TRANSPORT_SERVICE_VC,
.half_open_has_fifos = 1
},
}
void udp_session_cleanup(u32 connection_index, u32 thread_index)
Definition: udp.c:199
u8 * format_udp_session(u8 *s, va_list *args)
Definition: udp.c:245
transport_connection_t * udp_session_get_half_open(u32 conn_index)
Definition: udp.c:335
transport_connection_t * udp_session_get_listener(u32 listener_index)
Definition: udp.c:133
u32 udp_push_header(transport_connection_t *tc, vlib_buffer_t *b)
Definition: udp.c:142
int udpc_connection_open(transport_endpoint_cfg_t *rmt)
Definition: udp.c:373
u32 udp_session_unbind(u32 listener_index)
Definition: udp.c:121
u16 udp_send_mss(transport_connection_t *t)
Definition: udp.c:276
virtual circuit service
datagram mode
u32 udpc_connection_listen(u32 session_index, transport_endpoint_t *lcl)
Definition: udp.c:388
void udp_session_close(u32 connection_index, u32 thread_index)
Definition: udp.c:184
u8 * format_udp_half_open_session(u8 *s, va_list *args)
Definition: udp.c:257
transport_connection_t * udp_session_get(u32 connection_index, u32 thread_index)
Definition: udp.c:174
u32 udp_send_space(transport_connection_t *t)
Definition: udp.c:283
u8 * format_udp_listener_session(u8 *s, va_list *args)
Definition: udp.c:266

Definition at line 404 of file udp.c.