FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
udp.c File Reference
+ Include dependency graph for udp.c:

Go to the source code of this file.

Functions

static void udp_connection_register_port (vlib_main_t *vm, u16 lcl_port, u8 is_ip4)
 
static void udp_connection_unregister_port (u16 lcl_port, u8 is_ip4)
 
void udp_connection_share_port (u16 lcl_port, u8 is_ip4)
 
udp_connection_tudp_connection_alloc (u32 thread_index)
 
void udp_connection_free (udp_connection_t *uc)
 
static void udp_connection_cleanup (udp_connection_t *uc)
 
void udp_connection_delete (udp_connection_t *uc)
 
static u8 udp_connection_port_used_extern (u16 lcl_port, u8 is_ip4)
 
static u16 udp_default_mtu (udp_main_t *um, u8 is_ip4)
 
static u32 udp_session_bind (u32 session_index, transport_endpoint_t *lcl)
 
static u32 udp_session_unbind (u32 listener_index)
 
static transport_connection_tudp_session_get_listener (u32 listener_index)
 
static u32 udp_push_header (transport_connection_t *tc, vlib_buffer_t *b)
 
static transport_connection_tudp_session_get (u32 connection_index, u32 thread_index)
 
static void udp_session_close (u32 connection_index, u32 thread_index)
 
static void udp_session_cleanup (u32 connection_index, u32 thread_index)
 
static int udp_session_send_params (transport_connection_t *tconn, transport_send_params_t *sp)
 
static int udp_open_connection (transport_endpoint_cfg_t *rmt)
 
static transport_connection_tudp_session_get_half_open (u32 conn_index)
 
static u8format_udp_session (u8 *s, va_list *args)
 
static u8format_udp_half_open_session (u8 *s, va_list *args)
 
static u8format_udp_listener_session (u8 *s, va_list *args)
 
static clib_error_tudp_init (vlib_main_t *vm)
 

Variables

udp_main_t udp_main
 
static const transport_proto_vft_t udp_proto
 

Function Documentation

◆ format_udp_half_open_session()

static u8* format_udp_half_open_session ( u8 s,
va_list *  args 
)
static

Definition at line 430 of file udp.c.

◆ format_udp_listener_session()

static u8* format_udp_listener_session ( u8 s,
va_list *  args 
)
static

Definition at line 439 of file udp.c.

◆ format_udp_session()

static u8* format_udp_session ( u8 s,
va_list *  args 
)
static

Definition at line 418 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 93 of file udp.c.

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

◆ udp_connection_cleanup()

static void udp_connection_cleanup ( udp_connection_t uc)
static

Definition at line 133 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 143 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 123 of file udp.c.

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

◆ udp_connection_port_used_extern()

static u8 udp_connection_port_used_extern ( u16  lcl_port,
u8  is_ip4 
)
static

Definition at line 150 of file udp.c.

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

◆ udp_connection_register_port()

static void udp_connection_register_port ( vlib_main_t vm,
u16  lcl_port,
u8  is_ip4 
)
static

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_share_port()

void udp_connection_share_port ( u16  lcl_port,
u8  is_ip4 
)

Definition at line 81 of file udp.c.

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

◆ udp_connection_unregister_port()

static void udp_connection_unregister_port ( u16  lcl_port,
u8  is_ip4 
)
static

Definition at line 61 of file udp.c.

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

◆ udp_default_mtu()

static u16 udp_default_mtu ( udp_main_t um,
u8  is_ip4 
)
static

Definition at line 161 of file udp.c.

+ Here is the caller graph for this function:

◆ udp_init()

static clib_error_t* udp_init ( vlib_main_t vm)
static

Definition at line 473 of file udp.c.

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

◆ udp_open_connection()

static int udp_open_connection ( transport_endpoint_cfg_t rmt)
static

Definition at line 324 of file udp.c.

+ Here is the call graph for this function:

◆ udp_push_header()

static u32 udp_push_header ( transport_connection_t tc,
vlib_buffer_t b 
)
static

Definition at line 240 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_bind()

static u32 udp_session_bind ( u32  session_index,
transport_endpoint_t lcl 
)
static

Definition at line 168 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_cleanup()

static void udp_session_cleanup ( u32  connection_index,
u32  thread_index 
)
static

Definition at line 294 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_close()

static void udp_session_close ( u32  connection_index,
u32  thread_index 
)
static

Definition at line 279 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_get()

static transport_connection_t* udp_session_get ( u32  connection_index,
u32  thread_index 
)
static

Definition at line 269 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_get_half_open()

static transport_connection_t* udp_session_get_half_open ( u32  conn_index)
static

Definition at line 404 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_get_listener()

static transport_connection_t* udp_session_get_listener ( u32  listener_index)
static

Definition at line 231 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_send_params()

static int udp_session_send_params ( transport_connection_t tconn,
transport_send_params_t sp 
)
static

Definition at line 307 of file udp.c.

+ Here is the call graph for this function:

◆ udp_session_unbind()

static u32 udp_session_unbind ( u32  listener_index)
static

Definition at line 217 of file udp.c.

+ Here is the call graph for this function:

Variable Documentation

◆ udp_main

udp_main_t udp_main

Definition at line 23 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_params = udp_session_send_params,
.format_connection = format_udp_session,
.format_half_open = format_udp_half_open_session,
.format_listener = format_udp_listener_session,
.transport_options = {
.name = "udp",
.short_name = "U",
.tx_type = TRANSPORT_TX_DGRAM,
.service_type = TRANSPORT_SERVICE_CL,
},
}

Definition at line 449 of file udp.c.

udp_push_header
static u32 udp_push_header(transport_connection_t *tc, vlib_buffer_t *b)
Definition: udp.c:240
format_udp_listener_session
static u8 * format_udp_listener_session(u8 *s, va_list *args)
Definition: udp.c:439
udp_session_get
static transport_connection_t * udp_session_get(u32 connection_index, u32 thread_index)
Definition: udp.c:269
udp_session_close
static void udp_session_close(u32 connection_index, u32 thread_index)
Definition: udp.c:279
udp_session_get_listener
static transport_connection_t * udp_session_get_listener(u32 listener_index)
Definition: udp.c:231
udp_session_get_half_open
static transport_connection_t * udp_session_get_half_open(u32 conn_index)
Definition: udp.c:404
udp_session_bind
static u32 udp_session_bind(u32 session_index, transport_endpoint_t *lcl)
Definition: udp.c:168
udp_session_send_params
static int udp_session_send_params(transport_connection_t *tconn, transport_send_params_t *sp)
Definition: udp.c:307
format_udp_half_open_session
static u8 * format_udp_half_open_session(u8 *s, va_list *args)
Definition: udp.c:430
udp_session_unbind
static u32 udp_session_unbind(u32 listener_index)
Definition: udp.c:217
TRANSPORT_TX_DGRAM
@ TRANSPORT_TX_DGRAM
datagram mode
Definition: transport_types.h:33
TRANSPORT_SERVICE_CL
@ TRANSPORT_SERVICE_CL
connectionless service
Definition: transport_types.h:40
udp_session_cleanup
static void udp_session_cleanup(u32 connection_index, u32 thread_index)
Definition: udp.c:294
udp_open_connection
static int udp_open_connection(transport_endpoint_cfg_t *rmt)
Definition: udp.c:324
format_udp_session
static u8 * format_udp_session(u8 *s, va_list *args)
Definition: udp.c:418